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とおなじく環境依存