Browse Source

doc/doxygen/chapters/modularized_scheduler.doxy : final Section completed

Marc Sergent 11 years ago
parent
commit
68ca259b09
1 changed files with 46 additions and 0 deletions
  1. 46 0
      doc/doxygen/chapters/modularized_scheduler.doxy

+ 46 - 0
doc/doxygen/chapters/modularized_scheduler.doxy

@@ -302,6 +302,52 @@ queue of the Component, and give it to the calling Component which asks for it.
 
 \subsection DetailedProgressionAndValidationRules Detailed Progression and Validation Rules
 
+	- A Reservoir is a Scheduling Component which redefines a Push and a Pull
+	function, in order to store tasks into it. A Reservoir delimit Scheduling
+	Areas in the Scheduling Tree.
+
+	- A Pump is the engine source of the Scheduler : it pushes/pulls tasks
+	to/from a Scheduling Component to an other. Native Pumps of a Scheduling 
+	Tree are located at the root of the Tree (incoming Push calls from StarPU), 
+	and at the leafs of the Tree (Pop calls coming from StarPU Workers). 
+	Pre-implemented Scheduling Components currently shipped with Pumps are 
+	Flow-Control Components and the Resource-Mapping Component Heft, within 
+	their defined Can_Push functions.
+
+	- A correct Scheduling Tree requires a Pump per Scheduling Area and per 
+	Execution Flow. 
+
+
+The Tree-Eager-Prefetching Scheduler shown in Section 
+\ref ExampleTreeEagerPrefetchingStrategy follows the previous assumptions :
+
+<pre>
+                                  starpu_push_task
+                                       <b>Pump</b>
+                                         |
+ Area 1                                  |
+                                         |
+                                         v
+            -----------------------Fifo_Component-----------------------------
+                                       <b>Pump</b>
+                                        |  ^
+                                Push    |  |    Can_Push
+                                        v  |
+ Area 2                           Eager_Component
+                                        |  ^
+                                        |  |    
+                                        v  |
+                      --------><-------------------><---------
+                      |  ^                                |  ^
+              Push    |  |    Can_Push            Push    |  |    Can_Push
+                      v  |                                v  |
+            -----Fifo_Component-----------------------Fifo_Component----------
+                      |  ^                                |  ^
+              Pull    |  |    Can_Pull            Pull    |  |    Can_Pull
+ Area 3               v  |                                v  |
+                     <b>Pump</b>                               <b>Pump</b>
+                Worker_Component                     Worker_Component
+</pre>
 
 */