comparison final_main/chapter3.tex @ 10:86f6bb9be40a

add
author mir3636
date Wed, 15 Feb 2017 18:20:07 +0900
parents 11ad5b3e7b85
children 4c3b39b281eb
comparison
equal deleted inserted replaced
9:11ad5b3e7b85 10:86f6bb9be40a
2 \section{Gears OS} 2 \section{Gears OS}
3 Gears OS では並列実行するための Task を、実行する Code Gear 、実行に必要な Input Data Gear 、Output Data Gear の組で表現する。 3 Gears OS では並列実行するための Task を、実行する Code Gear 、実行に必要な Input Data Gear 、Output Data Gear の組で表現する。
4 Data Gear はデータの単位であり、int や文字列などの Primitive Type を持っている。 4 Data Gear はデータの単位であり、int や文字列などの Primitive Type を持っている。
5 Code Gear は 任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。 5 Code Gear は 任意の数の Input Data Gear を参照して処理を行い、Output Data Gear を出力し処理を終える。
6 また、接続された Data Gear 以外には参照を行わない。 6 また、接続された Data Gear 以外には参照を行わない。
7 Gears OS は Input/Output Data Gear の依存関係が解決された Task を並列実行する。
8 処理やデータの構造が Code Gear、Data Gear に閉じているため、これにより実行時間、メモリ使用量などを予測可能なものにすることが可能になる。 7 処理やデータの構造が Code Gear、Data Gear に閉じているため、これにより実行時間、メモリ使用量などを予測可能なものにすることが可能になる。
9 8
10 Gears OS では Meta Computation を Meta Code Gear、Meta Data Gear で表現する。 9 Gears OS では Meta Computation を Meta Code Gear、Meta Data Gear で表現する。
11 Meta Code Gear は通常のCode Gear の直後に遷移され、Meta Computation を実行する。 10 Meta Code Gear は通常のCode Gear の直後に遷移され、Meta Computation を実行する。
12 11
21 \caption{Gears OS の構成図} 20 \caption{Gears OS の構成図}
22 \label{fig:gearsos} 21 \label{fig:gearsos}
23 \end{figure} 22 \end{figure}
24 23
25 \section{Context} 24 \section{Context}
26 Gears OS では Context と呼ばれる接続可能な Code/Data Gear のリスト、TaskQueue へのポインタ、Persistent Data Tree へのポインタ、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear である。 25 Gears OS では Context と呼ばれる接続可能な Code/Data Gear のリスト、Temporal Data Gear のためのメモリ空間等を持っている Meta Data Gear である。
27 Gears OS は必要な Code/Data Gear に参照したい場合、この Context を通す必要がある。 26 Gears OS は必要な Code/Data Gear に参照したい場合、この Context を通す必要がある。
28 メインとなる Context と Worker 用の Context があり、TaskQueue と Persistent Data Tree は共有される。 27 メインとなる Context と Worker 用の Context がある。
29 Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。 28 Temporal Data Gear のためのメモリ空間は Context 毎に異なり、互いに干渉することはできない。
30 Persistent Data Tree への書き込みのみで相互作用を発生させ目的の処理を達成する。 29
30 Context は Task でもあり、TaskManager によってが Context 生成され CPUWorker へ送られる。
31 Worker に渡された Task である Context の Input/Output Data Gear の依存関係が解決されたものから並列実行される。
31 32
32 %現在 CbC で Gears OS を記述すると通常の Computation に加えて Meta Computation である stub を記述する必要がある。 33 %現在 CbC で Gears OS を記述すると通常の Computation に加えて Meta Computation である stub を記述する必要がある。
33 %Meta Computation 34 %Meta Computation
34 35
35 36