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="依存関係の解決">
+ − 62 <node CREATED="1462350098255" ID="ID_281344382" MODIFIED="1462353737680" TEXT="DS に 依存関係にある Task のQueueを持たせる">
+ − 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>
+ − 72 </node>
+ − 73 </map>