Mercurial > hg > Members > innparusu > slides
view 2016/2016_09_13/slide.md @ 20:3d6b9e5ae730
Update
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 25 Oct 2016 19:50:03 +0900 |
parents | |
children |
line wrap: on
line source
title: Gears OS author: Tatsuki IHA profile: lang: Japanese code-engine: coderay # 研究目的 - 当研究室では 処理の単位を Code Gear、 データの単位を Data Gear を用いて 信頼性が高い並列処理を行う Gears OS を開発している - Gears OS では Task を Code Gear と実行するときに必要な Input Data Gear と出力するための Output Data Gear の組で表現される。 Input Data Gear/Output Data Gear によって依存関係が決定し、それにそって並列実行を行う - 現在のGears OS は 依存関係がある並列処理を行うことが出来ない。 今研究ではGears OS の依存関係の解決を目標とする # 夏休みイベント - ワークショップどうしよう # ワークショップ - M1 主催で研究計画書かしてよろしく! - M1 が思ったより少ないので M2 もよろしく! # Dependency は? - 絶賛デバッグ中 - ``context->next`` を結構多用してるので直す - 実行する CS ``` c __code add(struct Context* context, struct Integer* input1, struct Integer* input2, struct Integer* output) { output->value = input1->value + input2->value; printf("%d + %d = %d\n", input1->value, input2->value, output->value); goto meta(context, context->next); } __code add_stub(struct Context* context) { goto add(context, (struct Integer*)((struct Task*)(context->data[Element]->element.data))->iargs[0], (struct Integer*)((struct Task*)(context->data[Element]->element.data))->iargs[1], (struct Integer*)((struct Task*)(context->data[Element]->element.data))->oargs[0]); } // こう書きたい? // input と output の区別を付けたい // __code add(struct Integer* input1, struct Integer* input2) { output->value = input1->value + input2->value; printf("%d + %d = %d\n", input1->value, input2->value, output->value); goto next } ``` # 来週 - 東京にいます