Mercurial > hg > Gears > GearsAgda
view src/parallel_execution/Todo @ 224:578f283efb4a
Add Todo
author | one |
---|---|
date | Fri, 13 Jan 2017 18:16:02 +0900 |
parents | 8d2519c3a36e |
children | 47588c28f189 |
line wrap: on
line source
Fri Jan 13 17:47:40 JST 2017 Task は contextを直接使うことにする DS には, まっているcontextをListを作る context に実行中断中のCS の番号をいれるフィールドを用意する 待っているDS のcount createTaskの手順 新しくcontextを作る allocate 用のheap も用意 もとのcontextを全部copyする or 必要なものだけcopyする 待ち合わせのDS群を指定する 終わったあとの行き先を指定する(default は task_exit) exception の行き先も必要な指定する 待っているDSが全部揃っていたら active Queueに入れる task の実行 taskの実行後、 goto meta する直前で code gear commit を呼んで, Reader list を消化する 複数から参照されるDSは一旦localに書き出して, その後atomic に書き出す 複数から参照されるDSは何かしら宣言が必要 つまり DS には 一つ一つ owner がいる Mon Nov 28 17:39:39 JST 2016 Task,TaskManager,Workerのインターフェースの実装を作成する Taskを一旦Treeに入れずに直接Queueに入れる Task CodeGen IDataSeg IDataSeg ... idsCount nextTask(can be C_exit) ODataSeg? TaskManager createWorker spawn (any,cpu,GPU) taskSend activeQueue shutdown deadlockDetectid SynchronizedQueue * Workerの数だけ Worker execute taskRecive shutdown