Mercurial > hg > Papers > 2017 > mitsuki-thesis
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 |