0
|
1 <!DOCTYPE HTML>
|
|
2
|
|
3 <html lang="Japanese">
|
|
4 <head>
|
|
5 <title>Monadに基づくMeta計算を基本とするGears OSの設計</title>
|
|
6 <meta charset="UTF-8">
|
|
7 <meta name="viewport" content="width=1274, user-scalable=no">
|
|
8 <meta name="generator" content="Slide Show (S9)">
|
|
9 <meta name="author" content="Tatsuki IHA">
|
|
10 <link rel="stylesheet" href="themes/ribbon/styles/style.css">
|
|
11 </head>
|
|
12 <body class="list">
|
|
13 <header class="caption">
|
|
14 <h1>Monadに基づくMeta計算を基本とするGears OSの設計</h1>
|
|
15 <p>Tatsuki IHA</p>
|
|
16 </header>
|
|
17 <div class="slide cover" id="Cover"><div>
|
|
18 <section>
|
|
19 <header>
|
|
20 <h2>Monadに基づくMeta計算を基本とするGears OSの設計</h2>
|
|
21 <h3 id="author">Tatsuki IHA</h3>
|
|
22 <h3 id="profile"></h3>
|
|
23 </header>
|
|
24 </section>
|
|
25 </div></div>
|
|
26
|
|
27 <!-- todo: add slide.classes to div -->
|
|
28 <!-- todo: create slide id from header? like a slug in blogs? -->
|
|
29
|
|
30 <div class="slide" id="2"><div>
|
|
31 <section>
|
|
32 <header>
|
|
33 <h1 id="section">研究目的</h1>
|
|
34 </header>
|
|
35 <!-- === begin markdown block ===
|
|
36
|
|
37 generated by markdown/1.2.0 on Ruby 2.2.2 (2015-04-13) [x86_64-darwin14]
|
|
38 on 2015-06-30 18:51:17 +0900 with Markdown engine kramdown (1.7.0)
|
|
39 using options {}
|
|
40 -->
|
|
41
|
|
42 <!-- _S9SLIDE_ -->
|
|
43
|
|
44 <ul>
|
|
45 <li>当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.</li>
|
|
46 <li>Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.</li>
|
|
47 <li>また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.</li>
|
|
48 <li>この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.</li>
|
|
49 </ul>
|
|
50
|
|
51
|
|
52
|
|
53 </section>
|
|
54 </div></div>
|
|
55
|
|
56 <div class="slide" id="3"><div>
|
|
57 <section>
|
|
58 <header>
|
|
59 <h1 id="section-1">近況</h1>
|
|
60 </header>
|
|
61 <!-- _S9SLIDE_ -->
|
|
62
|
|
63 <ul>
|
|
64 <li>GearsによるCeriumの実装
|
|
65 <ul>
|
|
66 <li>あんまり進んでないです</li>
|
|
67 </ul>
|
|
68 </li>
|
|
69 </ul>
|
|
70
|
|
71
|
|
72
|
|
73 </section>
|
|
74 </div></div>
|
|
75
|
|
76 <div class="slide" id="4"><div>
|
|
77 <section>
|
|
78 <header>
|
|
79 <h1 id="section-2">動かしたい例題</h1>
|
|
80 </header>
|
|
81 <!-- _S9SLIDE_ -->
|
|
82
|
|
83 <ul>
|
|
84 <li>temporaryなDS同士の計算</li>
|
|
85 <li>最初はInt型の足し算などの四則演算</li>
|
|
86 </ul>
|
|
87
|
|
88
|
|
89
|
|
90 </section>
|
|
91 </div></div>
|
|
92
|
|
93 <div class="slide" id="5"><div>
|
|
94 <section>
|
|
95 <header>
|
|
96 <h1 id="taskmanager">TaskManager</h1>
|
|
97 </header>
|
|
98 <!-- _S9SLIDE_ -->
|
|
99
|
|
100
|
|
101
|
|
102
|
|
103 </section>
|
|
104 </div></div>
|
|
105
|
|
106 <div class="slide" id="6"><div>
|
|
107 <section>
|
|
108 <header>
|
|
109 <h1 id="create-task">Create Task</h1>
|
|
110 </header>
|
|
111 <!-- _S9SLIDE_ -->
|
|
112
|
|
113 <ul>
|
|
114 <li>新しいcontextを作成してinputのQueueにいれる</li>
|
|
115 </ul>
|
|
116
|
|
117 <pre><code>__code code1(Context *context) {
|
|
118 goto create_task(
|
|
119 }
|
|
120
|
|
121 __code create_task(Context *context) {
|
|
122 init_context(context);
|
|
123 goto put(context)
|
|
124 }
|
|
125 </code></pre>
|
|
126
|
|
127
|
|
128
|
|
129 </section>
|
|
130 </div></div>
|
|
131
|
|
132 <div class="slide" id="7"><div>
|
|
133 <section>
|
|
134 <header>
|
|
135 <h1 id="scheduler">scheduler</h1>
|
|
136 </header>
|
|
137 <!-- _S9SLIDE_ -->
|
|
138
|
|
139 <ul>
|
|
140 <li>他のDSを用意している間に他のDSを実行する</li>
|
|
141 <li>taskのpoolからschedulerがtaskをとる
|
|
142 <ul>
|
|
143 <li>schedulerが待ちtaskを取り合う</li>
|
|
144 </ul>
|
|
145 </li>
|
|
146 </ul>
|
|
147
|
|
148
|
|
149
|
|
150 </section>
|
|
151 </div></div>
|
|
152
|
|
153 <div class="slide" id="8"><div>
|
|
154 <section>
|
|
155 <header>
|
|
156 <h1 id="set-input">set input</h1>
|
|
157 </header>
|
|
158 <!-- _S9SLIDE_ -->
|
|
159
|
|
160 <ul>
|
|
161 <li></li>
|
|
162 </ul>
|
|
163
|
|
164
|
|
165
|
|
166 </section>
|
|
167 </div></div>
|
|
168
|
|
169 <div class="slide" id="9"><div>
|
|
170 <section>
|
|
171 <header>
|
|
172 <h1 id="set-output">set output</h1>
|
|
173 </header>
|
|
174 <!-- _S9SLIDE_ -->
|
|
175
|
|
176
|
|
177
|
|
178
|
|
179 </section>
|
|
180 </div></div>
|
|
181
|
|
182 <div class="slide" id="10"><div>
|
|
183 <section>
|
|
184 <header>
|
|
185 <h1 id="wait-for">wait for</h1>
|
|
186 </header>
|
|
187 <!-- _S9SLIDE_ -->
|
|
188
|
|
189 <style scoped="">
|
|
190 pre {
|
|
191 font-size: 20px;
|
|
192 }
|
|
193 </style>
|
|
194
|
|
195 <!-- === end markdown block === -->
|
|
196
|
|
197 </section>
|
|
198 </div></div>
|
|
199
|
|
200
|
|
201 <script src="scripts/script.js"></script>
|
|
202 <!-- Copyright © 2010–2011 Vadim Makeev, http://pepelsbey.net/ -->
|
|
203 </body>
|
|
204 </html>
|