annotate 2015/2015_06_30/slide.md @ 1:3b7da0b661cc

Add slide.md
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 04 Aug 2015 18:12:46 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 title: Monadに基づくMeta計算を基本とするGears OSの設計
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 author: Tatsuki IHA
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 profile:
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 lang: Japanese
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 code-engine: coderay
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 # 研究目的
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 - 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 - Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 - また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 - この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 # 近況
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 - GearsによるCeriumの実装
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 - あんまり進んでないです
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 # 動かしたい例題
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 - temporaryなDS同士の計算
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 - 最初はInt型の足し算などをscheduleringして演算をする
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 # TaskManager
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 # Create Task
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 - 新しいcontextを作成してinputのQueueにいれる
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 ```
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 __code code1(Context *context) {
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 goto create_task();
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 }
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 __code create_task(Context *context) {
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 init_context(context);
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 goto put(context);
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 }
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 ```
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 # scheduler
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 - 他のDSを用意している間に他のDSを実行する
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 - taskのpoolからschedulerがtaskをとる
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 - schedulerが待ちtaskを取り合う
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 # set input
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 -
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 # set output
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 # wait for
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 <style scoped>
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 pre {
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 font-size: 20px;
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 }
3b7da0b661cc Add slide.md
Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 </style>