14
|
1 title: Gears OS の依存関係の解決
|
|
2 author: Tatsuki IHA
|
|
3 profile:
|
|
4 lang: Japanese
|
|
5 code-engine: coderay
|
|
6 # 研究目的
|
|
7 - 当研究室では 処理の単位を Code Segment、 データの単位を Data Segment を用いて 信頼性が高い並列処理を行う Gears OS を開発している
|
|
8 - Gears OS では Task を Code Segment と実行するときに必要な Input Data Segment と出力するための Output Data Segment の組で表現される。 Input Data Segment/Output Data Segment によって依存関係が決定し、それにそって並列実行を行う
|
|
9 - 現在のGears OS は 依存関係がある並列処理を行うことが出来ない。 この研究ではGears OS の依存関係の解決を目標とする
|
|
10
|
|
11 # やったこと
|
|
12 - Cerium の Htask::wait_for を読む
|
|
13
|
|
14 # wait_for
|
|
15 - master task を実行してから slave task を実行する場合
|
|
16 - master task の wait_me に slave の task を add する
|
|
17 - slave task の wait_i に master の task を add する
|
|
18 # check_task_finish
|
|
19
|
|
20 # spawn_task
|
|
21 - spawn_task 時にwait_i にtaskが入ってないかチェック
|
|
22 - empty の場合 activeTaskQueueにtaskを入れる
|
|
23 - empty ではない場合 waitTaskQueueにtaskを入れる
|
|
24
|
|
25 # Gears にどう実装するか
|
|
26 - Queue info はそのまま使ったほうが楽か(Linker struction)
|
|
27 - wait_i はまっているDS
|
|
28 - wait_me には出てくるDS を入れるか
|