annotate presen/slide.md @ 14:478dfbb6d20a

slide
author ikkun
date Mon, 15 May 2017 02:59:27 +0900
parents f128810373f3
children 8ed35c355bde a11d90aa9fbc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
1 title: Gears OS における並列処理
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
2 author: Takui Higashionna
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
3 profile:
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
4 lang: Japanese
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
5 code-engine: coderay
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
6
14
ikkun
parents: 13
diff changeset
7 # メタ計算を使った並列処理
13
f128810373f3 add presen and update mindmap
mir3636
parents:
diff changeset
8
14
ikkun
parents: 13
diff changeset
9 - 並列処理のプラグラミングは、処理のパイプライン
ikkun
parents: 13
diff changeset
10
ikkun
parents: 13
diff changeset
11
ikkun
parents: 13
diff changeset
12 # Code Gear Data Gear
ikkun
parents: 13
diff changeset
13
ikkun
parents: 13
diff changeset
14 - Code Gear Data Gear とはプラグラムを分解し、処理の部分を Code Gear int や文字列などの部分を Data Gear という単位で分ける。
ikkun
parents: 13
diff changeset
15 - Code Gearの処理あhその処理に必要な Data Gear が揃ってから行われる。
ikkun
parents: 13
diff changeset
16 - Code Gear の処理の移行は goto を使って行い、この移行の仕方を継続という。
ikkun
parents: 13
diff changeset
17 - goto による移行は戻り値を持たないため、スタックを積む必要のない、スタックに積まない継続を軽量継続と呼ぶ。
ikkun
parents: 13
diff changeset
18
ikkun
parents: 13
diff changeset
19 # Output Data Gear Input Data Gear
ikkun
parents: 13
diff changeset
20
ikkun
parents: 13
diff changeset
21 - Code Gear の処理の実行は、接続された Data Gear が揃ってから実行される。
ikkun
parents: 13
diff changeset
22 - Data Gear には Output Data Gear と Input Data Gear があり、Code Gear は接続された Data Gear 以外を変更することはない。
ikkun
parents: 13
diff changeset
23
ikkun
parents: 13
diff changeset
24 # メタ計算
ikkun
parents: 13
diff changeset
25
ikkun
parents: 13
diff changeset
26 - メタ計算は通常の計算のための計算である
ikkun
parents: 13
diff changeset
27 - 並列処理の依存関係の解決、GPUなどのアーキテクチャ実行のための処理を行う。
ikkun
parents: 13
diff changeset
28 - Gears OSではメタ計算は Meta Code Gear、Meta Data Gear で表現される。
ikkun
parents: 13
diff changeset
29
ikkun
parents: 13
diff changeset
30 # Gears OS
ikkun
parents: 13
diff changeset
31
ikkun
parents: 13
diff changeset
32 - Gears OS はData Gear Code Gear というGear で構成される。
ikkun
parents: 13
diff changeset
33 - Gears OS は Code Gear,Data Gearの単位を用いて開発されており、CbCで記述される。
ikkun
parents: 13
diff changeset
34 - Meta Code Gearは ノーマルのCode Gearの直後に遷移され、メタ計算を実行する。
ikkun
parents: 13
diff changeset
35 - Meta Code Gear でOSの機能であるメモリ管理やスレッド管理を行う。
ikkun
parents: 13
diff changeset
36
ikkun
parents: 13
diff changeset
37 # Gears OS の並列性
ikkun
parents: 13
diff changeset
38
ikkun
parents: 13
diff changeset
39 - Code Gear が処理するのに必要なinput Data Gear と処理実行後に出力される Input Data Gear の組を Task と呼ぶ。
ikkun
parents: 13
diff changeset
40 - Code Gear は Task 以外とは依存関係がない
ikkun
parents: 13
diff changeset
41 - 依存関係が明確化されている Code Gear Data Gear で記述することで、並列化し易い。
ikkun
parents: 13
diff changeset
42
ikkun
parents: 13
diff changeset
43 <div style="text-align: center;">
ikkun
parents: 13
diff changeset
44 <img src="./images/codeGear_dataGear.svg" alt="message" width="800">
ikkun
parents: 13
diff changeset
45 </div>
ikkun
parents: 13
diff changeset
46
ikkun
parents: 13
diff changeset
47 #