Research Article
Dynamic Task Distribution Model for On-Chip Reconfigurable High Speed Computing System
Algorithm 3
Pseudo code for Task_Distribution function.
| / Input: partitioned tasks of a DAG and number of tasks in the DAG | | Output: Resources assignment and dynamic task execution order for the tasks in a DAG / | | (1) Read the partitioned tasks of a DAG and number of tasks in the DAG from the Algorithm 2 | | (2) Initialize RLU Impementation Queue and CPU Impementation Queue | | (3) while (number of tasks in DAG > 0) do | | (4) for to number of tasks in DAG do | | (5) Compute the cost function MLF for the task in their respective queues | | (6) end for | | (7) Assign Priority to the partitioned tasks in queues according to their MLF | | (8) Sort tasks of DAG according to their assigned priority increasing order | | (9) for to number of tasks in DAG do | | (10) if ( HT Queue) then | | (11) assign to RLU Implementation Queue | | (12) else | | (13) assign to CPU Implementation Queue | | (14) end if | | (15) end for | | (16) while ((RLU Implementation Queue! = empty) && | | (CPU Implementation Queue! = empty)) do | | (17) for each RLU in RHSCS do | | (18) if (RLU available == True) then | | (19) Assign next task from RLU Implementation Queue to available RLU | | (20) end if | | (21) end for | | (22) for each MP in RHSCS do | | (23) if (MP available == True) then | | (24) Assign next task from CPU Implementation Queue to available MP | | (25) end if | | (26) end for | | (27) end while | | (28) end while |
|