Fast Rescheduling of Multi-Rate Systems for HW/SW Partitioning Algorithms

In modern designs for heterogeneous systems with their extreme requirements on power consumption, execution time, silicon area and time-to-market, the HW/SW partitioning problem belongs to the most challenging ones. Usually its formulation, based on task or process graphs with complex communication models, is intractable. Moreover most partitioning problems embed another NP-hard problem in its core: a huge number of valid schedules exist for a single partitioning solution. Powerful heuristics for the partitioning problem rely on list scheduling techniques to solve this scheduling problem. This paper is based on a rescheduling algorithm that performs better than popular list scheduling techniques and still preserves linear complexity by reusing former schedules. A sophisticated communication model is introduced and the rescheduling algorithm is modified to serve multi-core architectures with linear runtime.

[1]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[2]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[3]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

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

[5]  Frank Vahid,et al.  Extending the Kernighan/Lin Heuristic for Hardware and Software Functional Partitioning , 1997, Des. Autom. Embed. Syst..

[6]  Edward A. Lee,et al.  The extended partitioning problem: hardware/software mapping and implementation-bin selection , 1995, Proceedings Sixth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype.

[7]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[8]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[9]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[10]  Zoltán Ádám Mann,et al.  Algorithmic aspects of hardware/software partitioning , 2005, TODE.

[11]  Kenneth Steiglitz,et al.  Characterization and Theoretical Comparison of Branch-and-Bound Algorithms for Permutation Problems , 1974, JACM.

[12]  Markus Rupp,et al.  A Fast Rescheduling Heuristic of SDF Graphs for HW/SW Partitioning Algorithms , 2006 .

[13]  David S. Johnson,et al.  Computers and In stractability: A Guide to the Theory of NP-Completeness. W. H Freeman, San Fran , 1979 .

[14]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[15]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[16]  Mohamed Abid,et al.  Multi-granularity metrics for the era of strongly personalized SOCs , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[17]  Ranga Vemuri,et al.  MAGELLAN: multiway hardware-software partitioning and scheduling for latency minimization of hierarchical control-dataflow task graphs , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[18]  Jörg Henkel,et al.  An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[19]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[20]  Jan Madsen,et al.  Hardware resource allocation for hardware/software partitioning in the LYCOS system , 1998, Proceedings Design, Automation and Test in Europe.

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