Mercurial > hg > Papers > 2016 > parusu-sigos
view sigos.mm @ 10:8d0be7f20a33
Update Context
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 09 May 2016 13:38:46 +0900 |
parents | fe6323d1602d |
children | 5dca62870280 |
line wrap: on
line source
<map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> <node CREATED="1462348402043" ID="ID_446513167" MODIFIED="1462351253237" TEXT="sigos"> <node CREATED="1462348437829" ID="ID_188609327" MODIFIED="1462348569768" POSITION="right" TEXT="GearsOS の目的"> <node CREATED="1462348448573" ID="ID_578864329" MODIFIED="1462348517113" TEXT="並列処理のソフトウェアを信頼性高く記述したい"> <node CREATED="1462350142598" ID="ID_195511088" MODIFIED="1462352199049" TEXT="信頼性はデータの正しさ、 依存関係の保証"> <node CREATED="1462352205923" ID="ID_1296922065" MODIFIED="1462352217558" TEXT="プログラムが実行時に落ちない"/> </node> </node> <node CREATED="1462348478958" ID="ID_230418586" MODIFIED="1462348550107" TEXT="そのための並列プログラミングフレームワーク"/> <node CREATED="1462348569980" ID="ID_1045100452" MODIFIED="1462348588151" TEXT="Code Gear と Data Gear を使ったプログラミングスタイル"> <node CREATED="1462348590792" ID="ID_1143997676" MODIFIED="1462348626311" TEXT="Code Gear の実行には IDG, ODG が必要"/> </node> <node CREATED="1462351262027" ID="ID_1393749566" MODIFIED="1462351283363" TEXT="Meta Code Gear と Meta Data Gear を使った meta computation"/> </node> <node CREATED="1462348637268" ID="ID_133255598" MODIFIED="1462352298817" POSITION="right" TEXT="Code Gear, Data Gear"> <node CREATED="1462349979947" ID="ID_331147222" MODIFIED="1462350000355" TEXT="CG は IDG と ODG の組で扱われる"/> <node CREATED="1462350976298" ID="ID_957667219" MODIFIED="1462351033115" TEXT="Code Gear の実行時間, メモリ使用量を見積もり を予測可能とする"/> <node CREATED="1462351137808" ID="ID_1330709102" MODIFIED="1462351214283" TEXT="Code Gear 間の移動はfunction call ではなく継続を使って移動する"/> <node CREATED="1462352302972" ID="ID_1170614307" MODIFIED="1462352324205" TEXT="Code Gear 間に meta Code Gear を入れることで meta computation を行う"/> </node> <node CREATED="1462348657027" ID="ID_365384552" MODIFIED="1462348658957" POSITION="right" TEXT="CbC"> <node CREATED="1462350082941" ID="ID_1656989444" MODIFIED="1462350092777" TEXT="cs を使ったプログラミング"/> <node CREATED="1462350071241" ID="ID_1577864204" MODIFIED="1462351130232" TEXT="function call ではなく、gotoを使った軽量継続"/> <node CREATED="1462351047073" ID="ID_1369238896" MODIFIED="1462351052642" TEXT="Gears OS 向けのサポート"> <node CREATED="1462351053970" ID="ID_1462663940" MODIFIED="1462351087389" TEXT="自動的にメタレベルに継続する"/> </node> <node CREATED="1462354584971" ID="ID_1112062286" MODIFIED="1462354587253" TEXT="runtime"> <node CREATED="1462354587254" ID="ID_1347666144" MODIFIED="1462354951474" TEXT="いま手動で書いているcontext のaccessを動的に管理する"/> <node CREATED="1462354908955" ID="ID_337501830" MODIFIED="1462354915938" TEXT="方法は複数ある"> <node CREATED="1462354605037" ID="ID_847250633" MODIFIED="1462354618572" TEXT="dynamic loading"/> <node CREATED="1462354654178" ID="ID_1600780671" MODIFIED="1462354668817" TEXT="別のruntimeに接続する"/> <node CREATED="1462354620437" ID="ID_373703789" MODIFIED="1462354626027" TEXT="jit"/> <node CREATED="1462354630299" ID="ID_824873344" MODIFIED="1462354904682" TEXT="llvm の jit はmulti threadと相性良くない"> <node CREATED="1462354719261" ID="ID_379483068" MODIFIED="1462354732376" TEXT="jit を管理する thread を用意すれば良い"/> </node> </node> </node> </node> <node CREATED="1462348668437" ID="ID_1673745629" MODIFIED="1462349761749" POSITION="right" TEXT="prototype Gears OS の構成"> <node CREATED="1462349973369" ID="ID_1442808291" MODIFIED="1462349977277" TEXT="Context"> <node CREATED="1462351295043" ID="ID_607637945" MODIFIED="1462351314558" TEXT="meta data Gear の代表例"/> <node CREATED="1462351320747" ID="ID_98116235" MODIFIED="1462351330415" TEXT="すべてのデータを"/> </node> <node CREATED="1462349894637" ID="ID_1988169245" MODIFIED="1462349899016" TEXT="Allocator"/> <node CREATED="1462348674238" ID="ID_333502750" MODIFIED="1462354459036" TEXT="Synchronized Queue"> <node CREATED="1462353382231" ID="ID_948991469" MODIFIED="1462353386482" TEXT="CAS での実装"/> </node> <node CREATED="1462348678433" ID="ID_1967908081" MODIFIED="1462348691508" TEXT="Persistent Data Tree"> <node CREATED="1462353421481" ID="ID_833499509" MODIFIED="1462353426520" TEXT="RBTree"/> <node CREATED="1462353528876" ID="ID_1076530622" MODIFIED="1462353531581" TEXT="非破壊"/> </node> <node CREATED="1462348691931" ID="ID_832934708" MODIFIED="1462348693484" TEXT="Worker"> <node CREATED="1462353591922" ID="ID_940938167" MODIFIED="1462353690441" TEXT="Active Task Queue から Task を取得し、実行する"/> </node> <node CREATED="1462349962869" ID="ID_1254874686" MODIFIED="1462349969516" TEXT="TaskManager"> <node CREATED="1462353621044" ID="ID_919832986" MODIFIED="1462353631290" TEXT="Task の依存関係を解決する"/> <node CREATED="1462353633665" ID="ID_1490974106" MODIFIED="1462353707841" TEXT="Wait task queue の Task から"/> </node> </node> <node CREATED="1462348731906" ID="ID_368656261" MODIFIED="1462348735202" POSITION="right" TEXT="依存関係の解決"> <node CREATED="1462350098255" ID="ID_281344382" MODIFIED="1462353737680" TEXT="DS に 依存関係にある Task のQueueを持たせる"> <node CREATED="1462353738656" ID="ID_1020279599" MODIFIED="1462353747193" TEXT="Cerium でいう wait_me か"/> </node> <node CREATED="1462350114802" ID="ID_75333431" MODIFIED="1462350114802" TEXT=""/> </node> <node CREATED="1462348727866" ID="ID_915757053" MODIFIED="1462348759426" POSITION="right" TEXT="GPU"/> <node CREATED="1462349697404" ID="ID_129394562" MODIFIED="1462349699922" POSITION="right" TEXT="評価"> <node CREATED="1462349699923" ID="ID_1461425159" MODIFIED="1462349702500" TEXT="Twice"/> <node CREATED="1462349705698" ID="ID_1378958216" MODIFIED="1462349705698" TEXT=""/> </node> </node> </map>