Mercurial > hg > Members > innparusu > slides
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> |