Research Article
An Efficient Evolutionary Task Scheduling/Binding Framework for Reconfigurable Systems
Algorithm 1
Pseudo-code for RCOffline.
() DFGs = Compute ALAP and sort (DFG). | () ReadyQ =findAvailableTasks(DFGs)//no dependencies | () while there are unscheduled tasks do | () if (Reuse = true) | () for all tasks in ReadyQ do | () PRR# = FindAvailablePRR(task) | () if (PRR#) then | () ts=t | () for all p in PredecessorOf(task) | () ts=max(ts, tps + tpl) | () end for | () remove task from ReadyQ | () end if | () end for | () else /⋆Reuse = false ⋆/ | () for all tasks in ReadyQ do | () PRR# = findEmptyPRR(task) | () if (PRR# and Reconfiguration) then | () ts=t+trs | () for all p in PredecessorOf(task) | () ts=max(ts, tps + tpl) | () end for | () Remove task from ReadyQ | () end if | () end for | () end if | () ReadyQ=CheckforAvailableTasks /⋆ dependencies met ⋆/ | () end while |
|