An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi-Dimensional Reconfigurable Architectures

This work proposes an exact ILP formulation for the task scheduling problem on a 2D dynamically and partially reconfigurable architecture. Our approach takes physical constraints of the target device that is relevant for reconfiguration into account. Specifically, we consider the limited number of reconfigurators, which are used to reconfigure the device. This work also proposes a reconfiguration-aware heuristic scheduler, which exploits configuration prefetching, module reuse, and antifragmentation techniques. We experimented with a system employing two reconfigurators. This work also extends the ILP formulation for a HW/SW Codesign scenario. A heuristic scheduler for this extension has been developed too. These systems can be easily implemented using standard FPGAs. Our approach is able to improve the schedule quality by 8.76% on average (22.22% in the best case). Furthermore, our heuristic scheduler obtains the optimal schedule length in 60% of the considered cases. Our extended analysis demonstrated that HW/SW codesign can indeed lead to significantly better results. Our experiments show that by using our proposed HW/SW codesign method, the schedule length of applications can be reduced by a factor of 2 in the best case.

[1]  Marco Platzner,et al.  Operating systems for reconfigurable embedded platforms: online scheduling of real-time tasks , 2004, IEEE Transactions on Computers.

[2]  Huanhuan Chen,et al.  HW-SW partitioning based on genetic algorithm , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[3]  Hideharu Amano,et al.  Performance evaluation of WASMII: a data driven computer on a virtual hardware , 1993, PARLE.

[4]  Patrick Schaumont,et al.  A Hardware-Software Partitioning and Scheduling Algorithm for Dynamically Reconfigurable Embedded Systems , 2000 .

[5]  N.K. Jha,et al.  CORDS: hardware-software co-synthesis of reconfigurable real-time distributed embedded systems , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[6]  Jürgen Teich,et al.  A new approach for on-line placement on reconfigurable devices , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[7]  Heather M. Quinn,et al.  Runtime assignment of reconfigurable hardware components for image processing pipelines , 2003, 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, 2003. FCCM 2003..

[8]  Juanjo Noguera,et al.  HW/SW codesign techniques for dynamically reconfigurable architectures , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Juanjo Noguera,et al.  A HW/SW partitioning algorithm for dynamically reconfigurable architectures , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[10]  Frank Vahid,et al.  Incremental hardware estimation during hardware/software functional partitioning , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[11]  João M. P. Cardoso,et al.  Loop dissevering: a technique for temporally partitioning loops in dynamically reconfigurable computing platforms , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[12]  Giovanni De Micheli,et al.  Hardware-software cosynthesis for digital systems , 1993, IEEE Design & Test of Computers.

[13]  Yanbing Li,et al.  Hardware-software co-design of embedded reconfigurable architectures , 2000, DAC.

[14]  Brad L. Hutchings,et al.  Implementation Approaches for Reconfigurable Logic Applications , 1995, FPL.

[15]  Mahmut T. Kandemir,et al.  Configuration-sensitive process scheduling for FPGA-based computing platforms , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[16]  Jürgen Teich,et al.  Heuristics for scheduling reconfigurable devices with consideration of reconfiguration overheads , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[17]  Berkin Özisikyilmaz,et al.  MineBench: A Benchmark Suite for Data Mining Workloads , 2006, 2006 IEEE International Symposium on Workload Characterization.

[18]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[19]  Wayne H. Wolf A Decade of Hardware/Software Codesign , 2003, Computer.

[20]  Nikil D. Dutt,et al.  Considering run-time reconfiguration overhead in task graph transformations for dynamically reconfigurable architectures , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[21]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.

[22]  Marco D. Santambrogio,et al.  Task Scheduling with Configuration Prefetching and Anti-Fragmentation techniques on Dynamically Reconfigurable Systems , 2008, 2008 Design, Automation and Test in Europe.

[23]  Ranga Vemuri,et al.  An automated temporal partitioning and loop fission approach for FPGA based reconfigurable synthesis of DSP applications , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[24]  Wayne L. Winston Introduction to Mathematical Programming: Applications and Algorithms , 1990 .

[25]  Frank Vahid,et al.  Closeness metrics for system-level functional partitioning , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[26]  Seda Ogrenci Memik,et al.  An ILP Formulation for the Task Graph Scheduling Problem Tailored to Bi-dimensional Reconfigurable Architectures , 2008, 2008 International Conference on Reconfigurable Computing and FPGAs.

[27]  Jürgen Teich,et al.  No-break dynamic defragmentation of reconfigurable devices , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[28]  Sándor P. Fekete,et al.  Scheduling and CommunicationüAware Mapping of HW/SW Modules for Dynamically and Partially Reconfigurable SoC Architectures , 2007 .

[29]  Heather M. Quinn,et al.  Dynamo: a runtime partitioning system for FPGA-based HW/SW image processing systems , 2007, Journal of Real-Time Image Processing.

[30]  Jürgen Teich,et al.  Optimal FPGA module placement with temporal precedence constraints , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[31]  Vincenzo Piuri,et al.  Virtual FPGAs: Some Steps Behind the Physical Barriers , 1998, IPPS/SPDP Workshops.

[32]  Nikil D. Dutt,et al.  Physically-aware HW-SW partitioning for reconfigurable architectures with partial dynamic reconfiguration , 2005, Proceedings. 42nd Design Automation Conference, 2005..