title: Monadに基づくMeta計算を基本とするGears OSの設計 author: Tatsuki IHA profile: lang: Japanese code-engine: coderay # 研究目的 - 当研究室では, プログラムをコードセグメント, データセグメントを用いた並列フレームワークの開発を行っている. - Gears OSでは, 並列実行に必要なMetaな機能を関数型言語におけるMonadの原理に基づいて実現する. - また, Code Segment, Data SegmentそれぞれにMeta Code Segment, Meta Data Segmentを付属させ,Many CoreやGPGPU環境でも信頼性の高い並列処理を実現する. - この研究ではGears OSの機能をCbC(Continuation based C)で実装、評価することを目的とする. # 近況 - GearsによるCeriumの実装 - あんまり進んでないです # 動かしたい例題 - temporaryなDS同士の計算 - 最初はInt型の足し算などをscheduleringして演算をする # TaskManager # Create Task - 新しいcontextを作成してinputのQueueにいれる ``` __code code1(Context *context) { goto create_task(); } __code create_task(Context *context) { init_context(context); goto put(context); } ``` # scheduler - 他のDSを用意している間に他のDSを実行する - taskのpoolからschedulerがtaskをとる - schedulerが待ちtaskを取り合う # set input - # set output # wait for