1
|
1 <map version="1.0.1">
|
|
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
|
3 <node CREATED="1462348402043" ID="ID_446513167" MODIFIED="1462351253237" TEXT="sigos">
|
|
4 <node CREATED="1462348437829" ID="ID_188609327" MODIFIED="1462348569768" POSITION="right" TEXT="GearsOS の目的">
|
|
5 <node CREATED="1462348448573" ID="ID_578864329" MODIFIED="1462348517113" TEXT="並列処理のソフトウェアを信頼性高く記述したい">
|
|
6 <node CREATED="1462350142598" ID="ID_195511088" MODIFIED="1462352199049" TEXT="信頼性はデータの正しさ、 依存関係の保証">
|
|
7 <node CREATED="1462352205923" ID="ID_1296922065" MODIFIED="1462352217558" TEXT="プログラムが実行時に落ちない"/>
|
|
8 </node>
|
|
9 </node>
|
|
10 <node CREATED="1462348478958" ID="ID_230418586" MODIFIED="1462348550107" TEXT="そのための並列プログラミングフレームワーク"/>
|
|
11 <node CREATED="1462348569980" ID="ID_1045100452" MODIFIED="1462348588151" TEXT="Code Gear と Data Gear を使ったプログラミングスタイル">
|
|
12 <node CREATED="1462348590792" ID="ID_1143997676" MODIFIED="1462348626311" TEXT="Code Gear の実行には IDG, ODG が必要"/>
|
|
13 </node>
|
|
14 <node CREATED="1462351262027" ID="ID_1393749566" MODIFIED="1462351283363" TEXT="Meta Code Gear と Meta Data Gear を使った meta computation"/>
|
|
15 </node>
|
|
16 <node CREATED="1462348637268" ID="ID_133255598" MODIFIED="1462352298817" POSITION="right" TEXT="Code Gear, Data Gear">
|
|
17 <node CREATED="1462349979947" ID="ID_331147222" MODIFIED="1462350000355" TEXT="CG は IDG と ODG の組で扱われる"/>
|
|
18 <node CREATED="1462350976298" ID="ID_957667219" MODIFIED="1462351033115" TEXT="Code Gear の実行時間, メモリ使用量を見積もり を予測可能とする"/>
|
|
19 <node CREATED="1462351137808" ID="ID_1330709102" MODIFIED="1462351214283" TEXT="Code Gear 間の移動はfunction call ではなく継続を使って移動する"/>
|
|
20 <node CREATED="1462352302972" ID="ID_1170614307" MODIFIED="1462352324205" TEXT="Code Gear 間に meta Code Gear を入れることで meta computation を行う"/>
|
|
21 </node>
|
|
22 <node CREATED="1462348657027" ID="ID_365384552" MODIFIED="1462348658957" POSITION="right" TEXT="CbC">
|
|
23 <node CREATED="1462350082941" ID="ID_1656989444" MODIFIED="1462350092777" TEXT="cs を使ったプログラミング"/>
|
|
24 <node CREATED="1462350071241" ID="ID_1577864204" MODIFIED="1462351130232" TEXT="function call ではなく、gotoを使った軽量継続"/>
|
|
25 <node CREATED="1462351047073" ID="ID_1369238896" MODIFIED="1462351052642" TEXT="Gears OS 向けのサポート">
|
|
26 <node CREATED="1462351053970" ID="ID_1462663940" MODIFIED="1462351087389" TEXT="自動的にメタレベルに継続する"/>
|
|
27 </node>
|
|
28 <node CREATED="1462354584971" ID="ID_1112062286" MODIFIED="1462354587253" TEXT="runtime">
|
|
29 <node CREATED="1462354587254" ID="ID_1347666144" MODIFIED="1462354951474" TEXT="いま手動で書いているcontext のaccessを動的に管理する"/>
|
|
30 <node CREATED="1462354908955" ID="ID_337501830" MODIFIED="1462354915938" TEXT="方法は複数ある">
|
|
31 <node CREATED="1462354605037" ID="ID_847250633" MODIFIED="1462354618572" TEXT="dynamic loading"/>
|
|
32 <node CREATED="1462354654178" ID="ID_1600780671" MODIFIED="1462354668817" TEXT="別のruntimeに接続する"/>
|
|
33 <node CREATED="1462354620437" ID="ID_373703789" MODIFIED="1462354626027" TEXT="jit"/>
|
|
34 <node CREATED="1462354630299" ID="ID_824873344" MODIFIED="1462354904682" TEXT="llvm の jit はmulti threadと相性良くない">
|
|
35 <node CREATED="1462354719261" ID="ID_379483068" MODIFIED="1462354732376" TEXT="jit を管理する thread を用意すれば良い"/>
|
|
36 </node>
|
|
37 </node>
|
|
38 </node>
|
|
39 </node>
|
|
40 <node CREATED="1462348668437" ID="ID_1673745629" MODIFIED="1462349761749" POSITION="right" TEXT="prototype Gears OS の構成">
|
|
41 <node CREATED="1462349973369" ID="ID_1442808291" MODIFIED="1462349977277" TEXT="Context">
|
|
42 <node CREATED="1462351295043" ID="ID_607637945" MODIFIED="1462351314558" TEXT="meta data Gear の代表例"/>
|
|
43 <node CREATED="1462351320747" ID="ID_98116235" MODIFIED="1462351330415" TEXT="すべてのデータを"/>
|
|
44 </node>
|
|
45 <node CREATED="1462349894637" ID="ID_1988169245" MODIFIED="1462349899016" TEXT="Allocator"/>
|
|
46 <node CREATED="1462348674238" ID="ID_333502750" MODIFIED="1462354459036" TEXT="Synchronized Queue">
|
|
47 <node CREATED="1462353382231" ID="ID_948991469" MODIFIED="1462353386482" TEXT="CAS での実装"/>
|
|
48 </node>
|
|
49 <node CREATED="1462348678433" ID="ID_1967908081" MODIFIED="1462348691508" TEXT="Persistent Data Tree">
|
|
50 <node CREATED="1462353421481" ID="ID_833499509" MODIFIED="1462353426520" TEXT="RBTree"/>
|
|
51 <node CREATED="1462353528876" ID="ID_1076530622" MODIFIED="1462353531581" TEXT="非破壊"/>
|
|
52 </node>
|
|
53 <node CREATED="1462348691931" ID="ID_832934708" MODIFIED="1462348693484" TEXT="Worker">
|
|
54 <node CREATED="1462353591922" ID="ID_940938167" MODIFIED="1462353690441" TEXT="Active Task Queue から Task を取得し、実行する"/>
|
|
55 </node>
|
|
56 <node CREATED="1462349962869" ID="ID_1254874686" MODIFIED="1462349969516" TEXT="TaskManager">
|
|
57 <node CREATED="1462353621044" ID="ID_919832986" MODIFIED="1462353631290" TEXT="Task の依存関係を解決する"/>
|
|
58 <node CREATED="1462353633665" ID="ID_1490974106" MODIFIED="1462353707841" TEXT="Wait task queue の Task から"/>
|
|
59 </node>
|
|
60 </node>
|
|
61 <node CREATED="1462348731906" ID="ID_368656261" MODIFIED="1462348735202" POSITION="right" TEXT="依存関係の解決">
|
13
|
62 <node CREATED="1462350098255" ID="ID_281344382" MODIFIED="1462639286633" TEXT="DS に 依存関係にある Task のQueueを持たせる">
|
1
|
63 <node CREATED="1462353738656" ID="ID_1020279599" MODIFIED="1462353747193" TEXT="Cerium でいう wait_me か"/>
|
|
64 </node>
|
|
65 <node CREATED="1462350114802" ID="ID_75333431" MODIFIED="1462350114802" TEXT=""/>
|
|
66 </node>
|
|
67 <node CREATED="1462348727866" ID="ID_915757053" MODIFIED="1462348759426" POSITION="right" TEXT="GPU"/>
|
|
68 <node CREATED="1462349697404" ID="ID_129394562" MODIFIED="1462349699922" POSITION="right" TEXT="評価">
|
|
69 <node CREATED="1462349699923" ID="ID_1461425159" MODIFIED="1462349702500" TEXT="Twice"/>
|
|
70 <node CREATED="1462349705698" ID="ID_1378958216" MODIFIED="1462349705698" TEXT=""/>
|
|
71 </node>
|
14
|
72 <node CREATED="1464077030670" ID="ID_1286923199" MODIFIED="1464077033299" POSITION="left" TEXT="スライド">
|
15
|
73 <node CREATED="1464077034200" ID="ID_60649983" MODIFIED="1464077038572" TEXT="研究目的">
|
|
74 <node CREATED="1464427442971" ID="ID_1191288534" MODIFIED="1464427452004" TEXT="Cerium の欠点を書く">
|
|
75 <node CREATED="1464427455611" ID="ID_1268119390" MODIFIED="1464427462699" TEXT="taskでの依存関係"/>
|
|
76 <node CREATED="1464427465221" ID="ID_1660967778" MODIFIED="1464427478267" TEXT="型がない"/>
|
|
77 </node>
|
|
78 </node>
|
14
|
79 <node CREATED="1464077039087" ID="ID_1756412976" MODIFIED="1464077044689" TEXT="Gears OS"/>
|
|
80 <node CREATED="1464077045546" ID="ID_767472884" MODIFIED="1464077051703" TEXT="Code Gear Data Gear"/>
|
15
|
81 <node CREATED="1464077052653" ID="ID_1772679573" MODIFIED="1464423974736" TEXT=" GearsOS の構成"/>
|
|
82 <node CREATED="1464423975183" ID="ID_1777784060" MODIFIED="1464423977105" TEXT="評価"/>
|
|
83 <node CREATED="1464423978224" ID="ID_1029156077" MODIFIED="1464423980762" TEXT="今後の課題"/>
|
14
|
84 </node>
|
16
|
85 <node CREATED="1464432833136" ID="ID_470663877" MODIFIED="1464432840853" POSITION="left" TEXT="修正">
|
|
86 <node CREATED="1464432842046" ID="ID_1983987511" MODIFIED="1464432848326" TEXT="研究目的">
|
|
87 <node CREATED="1464432848326" ID="ID_364905917" MODIFIED="1464432856028" TEXT="並列 ">
|
|
88 <node CREATED="1464432866718" ID="ID_1196580896" MODIFIED="1464432875424" TEXT="CodeとDataの単位毎に並列"/>
|
|
89 </node>
|
|
90 <node CREATED="1464432856315" ID="ID_1334097915" MODIFIED="1464432860386" TEXT="柔軟性">
|
|
91 <node CREATED="1464432878880" ID="ID_252983780" MODIFIED="1464432889032" TEXT="いろんな柔軟性">
|
|
92 <node CREATED="1464432897863" ID="ID_916591592" MODIFIED="1464432902966" TEXT="テクノロジーマッピング">
|
|
93 <node CREATED="1464432908806" ID="ID_824969951" MODIFIED="1464432916941" TEXT="異なるアーキテクチャでも同じプログラムが動く"/>
|
|
94 </node>
|
|
95 <node CREATED="1464432924107" ID="ID_833483745" MODIFIED="1464432929190" TEXT="異なるversionの混在">
|
|
96 <node CREATED="1464432932148" ID="ID_740305121" MODIFIED="1464432936676" TEXT="特にネットワーク接続"/>
|
|
97 </node>
|
|
98 <node CREATED="1464432957020" ID="ID_636970555" MODIFIED="1464432961452" TEXT="プログラムの変更"/>
|
|
99 <node CREATED="1464432979855" ID="ID_1778076535" MODIFIED="1464432984898" TEXT="実行時の変更"/>
|
|
100 </node>
|
|
101 </node>
|
|
102 <node CREATED="1464432860766" ID="ID_1355016039" MODIFIED="1464433031671" TEXT="信頼性">
|
|
103 <node CREATED="1464432989376" ID="ID_1254636196" MODIFIED="1464432996179" TEXT="検証">
|
|
104 <node CREATED="1464432997568" ID="ID_515833313" MODIFIED="1464433000809" TEXT="モデル検査を使う">
|
|
105 <node CREATED="1464433005779" ID="ID_548893933" MODIFIED="1464433009796" TEXT="できるだけ有限状態"/>
|
|
106 <node CREATED="1464433013043" ID="ID_1702758027" MODIFIED="1464433018498" TEXT="不必要に状態を入れない">
|
|
107 <node CREATED="1464433019769" ID="ID_147579656" MODIFIED="1464433026144" TEXT="特に環境とかスタック"/>
|
|
108 </node>
|
|
109 </node>
|
|
110 </node>
|
|
111 <node CREATED="1464433032106" ID="ID_1163520693" MODIFIED="1464433034513" TEXT="証明">
|
|
112 <node CREATED="1464433038681" ID="ID_1903319486" MODIFIED="1464433048944" TEXT="Code と Dataを理論に定義"/>
|
|
113 </node>
|
|
114 </node>
|
17
|
115 <node CREATED="1464508482859" ID="ID_1478172490" MODIFIED="1464508523088" TEXT="最初にある程度まとめたスライド(去年との違い)を入れる"/>
|
16
|
116 </node>
|
|
117 <node CREATED="1464433060055" ID="ID_160981626" MODIFIED="1464433064591" TEXT="Gears のアプローチ">
|
|
118 <node CREATED="1464433065885" ID="ID_181737657" MODIFIED="1464433083653" TEXT="並列実行はInput が揃った CG から実行"/>
|
|
119 <node CREATED="1464433095134" ID="ID_1902548270" MODIFIED="1464433113565" TEXT="Worker 自体もGears で記述"/>
|
|
120 <node CREATED="1464433123669" ID="ID_985948767" MODIFIED="1464433129459" TEXT="柔軟性はmeta computation で実現">
|
|
121 <node CREATED="1464433150410" ID="ID_1817582445" MODIFIED="1464433178425" TEXT="CGの継続の間にmeta CGを挟む"/>
|
|
122 <node CREATED="1464433181016" ID="ID_1604650295" MODIFIED="1464433189503" TEXT="DS に meta DS を追加"/>
|
|
123 <node CREATED="1464433196240" ID="ID_59209401" MODIFIED="1464433208000" TEXT="meta 部分は Normal leve からなるべく見えない"/>
|
|
124 </node>
|
|
125 <node CREATED="1464433230340" ID="ID_990233636" MODIFIED="1464433239886" TEXT="Gears の実行Context">
|
|
126 <node CREATED="1464433242101" ID="ID_1461397474" MODIFIED="1464433256112" TEXT="実行されるすべてのDS"/>
|
|
127 <node CREATED="1464433256949" ID="ID_1562417638" MODIFIED="1464433262957" TEXT="すべてのCS"/>
|
|
128 <node CREATED="1464433268468" ID="ID_1357583690" MODIFIED="1464433281652" TEXT="それらを結びつけるMDS,MCS"/>
|
|
129 </node>
|
|
130 <node CREATED="1464433294904" ID="ID_1418757401" MODIFIED="1464433296724" TEXT="CbC">
|
|
131 <node CREATED="1464433299944" ID="ID_1452816780" MODIFIED="1464433312435" TEXT="Cのtail call version"/>
|
|
132 <node CREATED="1464433319489" ID="ID_430937148" MODIFIED="1464433327461" TEXT="meta 部分を隠す構文サポート"/>
|
|
133 </node>
|
|
134 <node CREATED="1464433348594" ID="ID_506423800" MODIFIED="1464433355520" TEXT="有限状態遷移の記述">
|
|
135 <node CREATED="1464433357727" ID="ID_1850570123" MODIFIED="1464433360008" TEXT="Gear Box">
|
|
136 <node CREATED="1464433362630" ID="ID_807557934" MODIFIED="1464433370833" TEXT="state chart"/>
|
|
137 <node CREATED="1464433373575" ID="ID_453284389" MODIFIED="1464433380191" TEXT="状態間を結ぶDG"/>
|
|
138 </node>
|
|
139 </node>
|
|
140 <node CREATED="1464433416173" ID="ID_396737367" MODIFIED="1464433417927" TEXT="実装">
|
|
141 <node CREATED="1464433423308" ID="ID_1702142469" MODIFIED="1464433431550" TEXT="OSX 上のマルチスレッドworker"/>
|
|
142 <node CREATED="1464433438458" ID="ID_866863090" MODIFIED="1464433450964" TEXT="context は手書きな巨大なunion"/>
|
|
143 <node CREATED="1464433459685" ID="ID_1501887204" MODIFIED="1464433469755" TEXT="red black tree をつかったpersitent data gear"/>
|
|
144 <node CREATED="1464433472153" ID="ID_1289317838" MODIFIED="1464433501262" TEXT="有限状態幾何的なsynchronized queue"/>
|
|
145 </node>
|
|
146 </node>
|
|
147 <node CREATED="1464433526194" ID="ID_1694664580" MODIFIED="1464433537985" TEXT="Gears OS プロトタイプの詳細">
|
|
148 <node CREATED="1464433539999" ID="ID_1486726647" MODIFIED="1464433542119" TEXT="全体構成">
|
|
149 <node CREATED="1464433545327" ID="ID_1248461308" MODIFIED="1464433551583" TEXT="context">
|
|
150 <node CREATED="1464433590773" ID="ID_1581705994" MODIFIED="1464433597242" TEXT="実行の様子"/>
|
|
151 </node>
|
|
152 <node CREATED="1464433552006" ID="ID_1194746624" MODIFIED="1464433553391" TEXT="worker"/>
|
|
153 <node CREATED="1464433553631" ID="ID_269109589" MODIFIED="1464433557488" TEXT="synchronized queue"/>
|
|
154 <node CREATED="1464433557819" ID="ID_928959023" MODIFIED="1464433561695" TEXT="red black tree"/>
|
|
155 <node CREATED="1464433562016" ID="ID_978814003" MODIFIED="1464433567518" TEXT="task manager"/>
|
|
156 </node>
|
|
157 </node>
|
|
158 <node CREATED="1464433603258" ID="ID_915464781" MODIFIED="1464433606173" TEXT="比較">
|
|
159 <node CREATED="1464433628753" ID="ID_1792167946" MODIFIED="1464433634051" TEXT="Cerium"/>
|
|
160 <node CREATED="1464433644124" ID="ID_1978156315" MODIFIED="1464433657426" TEXT="既存のUnix OS">
|
|
161 <node CREATED="1464433668985" ID="ID_1254303748" MODIFIED="1464433670841" TEXT="Linux"/>
|
|
162 </node>
|
|
163 <node CREATED="1464433659705" ID="ID_1192298961" MODIFIED="1464433663930" TEXT="組み込み OS">
|
|
164 <node CREATED="1464433673666" ID="ID_1090022093" MODIFIED="1464433677313" TEXT="itron"/>
|
|
165 <node CREATED="1464433684418" ID="ID_1270208101" MODIFIED="1464433686409" TEXT="vxmax"/>
|
|
166 </node>
|
|
167 <node CREATED="1464433704565" ID="ID_95607994" MODIFIED="1464433708824" TEXT="micro kernel os"/>
|
|
168 </node>
|
|
169 <node CREATED="1464433618477" ID="ID_1600905308" MODIFIED="1464433621920" TEXT="まとめ、課題">
|
|
170 <node CREATED="1464433740836" ID="ID_1449910541" MODIFIED="1464433753301" TEXT="  クリーンナップ">
|
|
171 <node CREATED="1464433753742" ID="ID_1610227753" MODIFIED="1464433760958" TEXT="meta と normal の切り分け">
|
|
172 <node CREATED="1464433764741" ID="ID_1639200751" MODIFIED="1464433769118" TEXT="特に構文的な切り替え"/>
|
|
173 </node>
|
|
174 <node CREATED="1464433774641" ID="ID_1756649286" MODIFIED="1464433787485" TEXT="不要なstack_push, pop"/>
|
|
175 </node>
|
|
176 <node CREATED="1464433793850" ID="ID_1527710141" MODIFIED="1464433795116" TEXT="GPU"/>
|
|
177 <node CREATED="1464433796033" ID="ID_771561797" MODIFIED="1464433815987" TEXT="依存関係"/>
|
|
178 <node CREATED="1464433799820" ID="ID_604700760" MODIFIED="1464433811276" TEXT="Context の動的生成">
|
|
179 <node CREATED="1464433818282" ID="ID_1473851385" MODIFIED="1464433823203" TEXT="Runtime を作る"/>
|
|
180 </node>
|
|
181 <node CREATED="1464433833572" ID="ID_1406524402" MODIFIED="1464433838025" TEXT="Persistent store">
|
|
182 <node CREATED="1464433839273" ID="ID_585114386" MODIFIED="1464433852344" TEXT="RBTree を別ストレージに移す機能">
|
|
183 <node CREATED="1464433857245" ID="ID_89430560" MODIFIED="1464433861009" TEXT="IOが必要"/>
|
|
184 </node>
|
|
185 </node>
|
|
186 <node CREATED="1464433870637" ID="ID_8559213" MODIFIED="1464433876129" TEXT="プロセス">
|
|
187 <node CREATED="1464433877985" ID="ID_944176938" MODIFIED="1464433898047" TEXT="現状ではDSは全部同じメモリ空間上にあるのでそれを別空間にする"/>
|
|
188 </node>
|
|
189 <node CREATED="1464433916620" ID="ID_186762386" MODIFIED="1464433920646" TEXT="検証系"/>
|
|
190 </node>
|
|
191 </node>
|
1
|
192 </node>
|
|
193 </map>
|