A Methodology for Automating Co-Scheduling for Reconfigurable Computing Systems

A formal methodology for automatic hardware-software partitioning and co-scheduling between the muP and the FPGA has not yet been established. Current work in automatic task partitioning and scheduling for reconfigurable systems strictly addresses the FPGA hardware, and does not take advantage of the synergy between the microprocessor and the FPGA. In this work, we consider the problem of co-scheduling task graphs on reconfigurable systems. The target systems have an execution model which allows any subtask that can run on the FPGA to also run on the microprocessor, and allows reconfigurability of the FPGA (subject to area, performance, resource, and timing constraints). In this paper, we introduce a methodology for automatic co- scheduling using a proposed heuristic algorithm for hardware/software co-scheduling, ReCoS. It will be shown that the proposed algorithm provides up to an order of magnitude improvement in scheduling and execution times when compared with hardware/software co-schedulers found in related fields such as embedded systems, heterogeneous systems, and reconfigurable hardware systems.

[1]  P. Saha,et al.  Extending Embedded Computing Scheduling Algorithms for Reconfigurable Computing Systems , 2007, 2007 3rd Southern Conference on Programmable Logic.

[2]  Hossam ElGindy,et al.  Dynamic scheduling of tasks on partially reconfigurable FPGAs , 2000 .

[3]  Kris Gaj,et al.  High-throughput reconfigurable computing: design and implementation of an IDEA encryption cryptosystem on the SRC-6E reconfigurable computer , 2005, International Conference on Field Programmable Logic and Applications, 2005..

[4]  Wayne H. Wolf,et al.  Sensitivity-driven co-synthesis of distributed embedded systems , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[5]  B.P. Dave CRUSADE: hardware/software co-synthesis of dynamically reconfigurable heterogeneous real-time distributed embedded systems , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[6]  Robert K. Brayton,et al.  HW/SW partitioning and code generation of embedded control applications on a reconfigurable architecture platform , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[7]  Kris Gaj,et al.  High-Throughput Reconfigurable Computing: A Design Study of an IDEA Encryption Cryptosystem on the SRC-6e Reconfigurable Computer. , 2005 .

[8]  Michalis D. Galanis,et al.  Speedups from partitioning critical software parts to coarse-grain reconfigurable hardware , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

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

[10]  Zhiyuan Li,et al.  Configuration relocation and defragmentation for run-time reconfigurable computing , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[11]  Howard Jay Siegel,et al.  Techniques for mapping tasks to machines in heterogeneous computing systems , 2000, J. Syst. Archit..

[12]  Soonhoi Ha,et al.  A hardware-software cosynthesis technique based on heterogeneous multiprocessor scheduling , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[13]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[14]  Tarek A. El-Ghazawi,et al.  Prototyping automatic cloud cover assessment (ACCA) algorithm for remote sensing on-board processing on a reconfigurable computer , 2005, Proceedings. 2005 IEEE International Conference on Field-Programmable Technology, 2005..

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

[16]  Tarek A. El-Ghazawi,et al.  Applications of Heterogeneous Computing in Hardware/Software Co-Scheduling , 2007, 2007 IEEE/ACS International Conference on Computer Systems and Applications.

[17]  Wayne H. Wolf,et al.  Process Partitioning for Distributed Embedded Systems , 1996, CODES.

[18]  Ladislau Bölöni,et al.  A comparison study of static mapping heuristics for a class of meta-tasks on heterogeneous computing systems , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[19]  Maya Gokhale,et al.  Metropolitan road traffic simulation on FPGAs , 2005, 13th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'05).

[20]  Howard Jay Siegel,et al.  A dynamic matching and scheduling algorithm for heterogeneous computing systems , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[21]  Proshanta Saha Automatic Software Hardware Co-Design for Reconfigurable Computing Systems , 2007, 2007 International Conference on Field Programmable Logic and Applications.

[22]  Tarek El-Ghazawi,et al.  Software/Hardware Co-Scheduling for Reconfigurable Computing Systems , 2007 .

[23]  Niraj K. Jha,et al.  COSYN: Hardware-software co-synthesis of heterogeneous distributed embedded systems , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[24]  Marco Platzner,et al.  A Heuristic Approach to Schedule Periodic Real-Time Tasks on Reconfigurable Hardware , 2005, FPL.

[25]  Alice C. Parker,et al.  A Design Method for Optimal Synthesis of Application-Specific Heterogeneous Multiprocessor Systems , 1992, Proceedings. Workshop on Heterogeneous Processing.