Using Constraint Programming to Achieve Optimal Prefetch Scheduling for Dependent Tasks on Run-Time Reconfigurable Devices
Yang Qu, Juha-Pekka Soininen, Jari Nurmi · 2006
Dynamically reconfigurable hardware not only has high silicon reusability, but it can also deliver high performance for computation-intensive tasks. However, the reconfiguration process usually has long configuration latency, which contributes only negatively to the system performance. Prefetching is a very effective technique to hide such latency, but there is no scheduler that is capable of optimally scheduling tasks while considering prefetching. In this work, constraint programming, an approach with a strong theoretical foundation, was used to perform offline scheduling for dependent tasks. The approach can find an optimal schedule that has minimal schedule length. Experiments on randomly generated task graphs have been carried out. In 2/5 of the cases, the optimal solutions can be found within 1 second