annotate src/parallel_execution/Todo @ 247:ce262b2c1daf

Fix createTask for main
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Wed, 25 Jan 2017 04:14:50 +0900
parents 47588c28f189
children 18b43cdc8ee5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
234
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
1 Sun Jan 22 20:11:28 JST 2017
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
2 TaskManagerから必要なCPUWorkerを生成する
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
3 WorkerはcreateWorker時に新しくthreadを作る
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
4
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
5 TaskManager->createTaskで新しいContextを生成する
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
6 この時点でWorkerを番号で指定する
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
7 このContextにGearefで値を設定していく
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
8 待ち合わせ用のDSを設定する
47588c28f189 TaskManager
mir3636
parents: 224
diff changeset
9 taskManager->spawnでWorkerにcontextを送る
224
578f283efb4a Add Todo
one
parents: 223
diff changeset
10 Fri Jan 13 17:47:40 JST 2017
578f283efb4a Add Todo
one
parents: 223
diff changeset
11 Task は contextを直接使うことにする
578f283efb4a Add Todo
one
parents: 223
diff changeset
12 DS には, まっているcontextをListを作る
578f283efb4a Add Todo
one
parents: 223
diff changeset
13 context に実行中断中のCS の番号をいれるフィールドを用意する
578f283efb4a Add Todo
one
parents: 223
diff changeset
14 待っているDS のcount
578f283efb4a Add Todo
one
parents: 223
diff changeset
15 createTaskの手順
578f283efb4a Add Todo
one
parents: 223
diff changeset
16 新しくcontextを作る
578f283efb4a Add Todo
one
parents: 223
diff changeset
17 allocate 用のheap も用意
578f283efb4a Add Todo
one
parents: 223
diff changeset
18 もとのcontextを全部copyする or 必要なものだけcopyする
578f283efb4a Add Todo
one
parents: 223
diff changeset
19 待ち合わせのDS群を指定する
578f283efb4a Add Todo
one
parents: 223
diff changeset
20 終わったあとの行き先を指定する(default は task_exit)
578f283efb4a Add Todo
one
parents: 223
diff changeset
21 exception の行き先も必要な指定する
578f283efb4a Add Todo
one
parents: 223
diff changeset
22 待っているDSが全部揃っていたら active Queueに入れる
578f283efb4a Add Todo
one
parents: 223
diff changeset
23 task の実行
578f283efb4a Add Todo
one
parents: 223
diff changeset
24 taskの実行後、 goto meta する直前で code gear commit を呼んで, Reader list を消化する
578f283efb4a Add Todo
one
parents: 223
diff changeset
25 複数から参照されるDSは一旦localに書き出して, その後atomic に書き出す
578f283efb4a Add Todo
one
parents: 223
diff changeset
26 複数から参照されるDSは何かしら宣言が必要
578f283efb4a Add Todo
one
parents: 223
diff changeset
27 つまり DS には 一つ一つ owner がいる
578f283efb4a Add Todo
one
parents: 223
diff changeset
28
175
00107b452a04 add Todo
mir3636
parents:
diff changeset
29 Mon Nov 28 17:39:39 JST 2016
00107b452a04 add Todo
mir3636
parents:
diff changeset
30
00107b452a04 add Todo
mir3636
parents:
diff changeset
31 Task,TaskManager,Workerのインターフェースの実装を作成する
00107b452a04 add Todo
mir3636
parents:
diff changeset
32 Taskを一旦Treeに入れずに直接Queueに入れる
00107b452a04 add Todo
mir3636
parents:
diff changeset
33
00107b452a04 add Todo
mir3636
parents:
diff changeset
34 Task
00107b452a04 add Todo
mir3636
parents:
diff changeset
35 CodeGen
223
8d2519c3a36e Add input data gear example
one
parents: 175
diff changeset
36 IDataSeg
8d2519c3a36e Add input data gear example
one
parents: 175
diff changeset
37 IDataSeg
8d2519c3a36e Add input data gear example
one
parents: 175
diff changeset
38 ...
175
00107b452a04 add Todo
mir3636
parents:
diff changeset
39 idsCount
223
8d2519c3a36e Add input data gear example
one
parents: 175
diff changeset
40 nextTask(can be C_exit)
8d2519c3a36e Add input data gear example
one
parents: 175
diff changeset
41 ODataSeg?
175
00107b452a04 add Todo
mir3636
parents:
diff changeset
42
00107b452a04 add Todo
mir3636
parents:
diff changeset
43 TaskManager
00107b452a04 add Todo
mir3636
parents:
diff changeset
44 createWorker
00107b452a04 add Todo
mir3636
parents:
diff changeset
45 spawn (any,cpu,GPU)
00107b452a04 add Todo
mir3636
parents:
diff changeset
46 taskSend
00107b452a04 add Todo
mir3636
parents:
diff changeset
47 activeQueue
00107b452a04 add Todo
mir3636
parents:
diff changeset
48 shutdown
00107b452a04 add Todo
mir3636
parents:
diff changeset
49 deadlockDetectid
00107b452a04 add Todo
mir3636
parents:
diff changeset
50
00107b452a04 add Todo
mir3636
parents:
diff changeset
51 SynchronizedQueue * Workerの数だけ
00107b452a04 add Todo
mir3636
parents:
diff changeset
52
00107b452a04 add Todo
mir3636
parents:
diff changeset
53 Worker
00107b452a04 add Todo
mir3636
parents:
diff changeset
54 execute
00107b452a04 add Todo
mir3636
parents:
diff changeset
55 taskRecive
00107b452a04 add Todo
mir3636
parents:
diff changeset
56 shutdown