comparison 2015_06_16/slide.md @ 0:47676a16ed13

Add Slides
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 14 Jul 2015 17:23:04 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:47676a16ed13
1 title: Monadに基づくMeta計算を基本とするGears OSの設計
2 author: Tatsuki IHA
3 profile:
4 lang: Japanese
5 code-engine: coderay
6
7 # 研究目的
8 - 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている.
9 - Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する.
10 - また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する.
11 - この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする.
12
13
14 # 近況
15 - Data SegmentへのアクセスのsyntaxをList, Synchronized Queueに適応
16
17 # 従来のDSへのアクセス
18 - contextからDataの配列にアクセスする
19
20 # 従来のDSへのアクセス
21 ```
22 __code code1(struct Context* context) {
23 context->data[Allocate]->allocate.size = .....;
24 context->data[Allocate]->allocate.next = .....;
25 goto meta(context, Allocator);
26 }
27 ```
28
29 # stubを経由したDSへのアクセス
30 - Code Segmentは必要なDSを引数として取る
31 - 全てのCSに対してstubを用意し, 必要なDSをstubで指定してCSを呼ぶ
32 - stubは現在は直接書いているが, Compile時に生成されて欲しい
33
34 # stubを経由したDSへのアクセス
35 ```
36 __code code1(struct Context* context, struct Allocate* allocate) {
37 allocate->size = .....;
38 allocate->next = .....;
39 goto meta(context, Allocator);
40 }
41 __code code1_stub(struct Context* context) {
42 goto code1(context, &context->data[Allocate]->allocate);
43 }
44 ```
45
46
47
48 <style scoped>
49 pre {
50 font-size: 20px;
51 }
52 </style>