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