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 |
|