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