Mercurial > hg > Members > kent > CbCTaskManager
diff memo.txt @ 2:803d6bf22e6d default tip
second commit.
it's far to complete..
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Dec 2009 16:19:56 +0900 |
parents | 5b089096921f |
children |
line wrap: on
line diff
--- a/memo.txt Sun Dec 20 20:46:53 2009 +0900 +++ b/memo.txt Tue Dec 22 16:19:56 2009 +0900 @@ -25,19 +25,39 @@ o ?set_depend (used by wait_for of Task) o spawn_task (used by spawn of Task) -Scheduler +TaskScheduler o TaskManagerに指示されたTaskを実際に実行する o CPU管理 - o 実行環境毎にコードがちがう - (pthread用、Cell用、クラスタ用、Fifo..) - o 一度に指示されたものを実行する必要はない o Taskが終了したらTaskManagerに通知する - * TaskManagerのためのインターフェイス - o initialize - o executeTask(Task *) - o checkFInishedTask - o numTask - o numCPU + * AbstractLayerからのインターフェイス + o initScheduler() + o addCode(SchedTask *) + o selectCode() + +AbstractLayer + o TaskManagerとSchedulerの中間レイヤ + o 実行環境ごとに全部違う Cell, Fifo, pthread, cluster.. + o TaskManagerに指示されたタスクをSchedulerに渡す + o その際、clusterやCellならデータの転送処理などを受け持つ + o Schedulerから終了したタスクの通知も受け付ける + * Schedulerとのインタフェイス + -> checkNewCode() + -> exitCode() + <- initScheduler() + <- addCode() + <- selectCode() + * TaskManagerとのインタフェイス + o checkAction() + -> TM::addNewTask() + -> TM::finishTask() + -> TM::noAction() + o executeTask(Task*) + -> TM::executeTaskret() // なんかいい名前を… + * Userインタフェイス(Fifoやpthreadの場合は直接TaskManagerでもいい) + o newTask() + o spawn() + o setData() + o allocate() MailManager o Schedulerとおなじく環境依存