Bound-oriented parallel pruning approaches for efficient resource constrained scheduling of high-level synthesis

As a key step of high-level synthesis (HLS), resource constrained scheduling (RCS) tries to find an optimal schedule which can dispatch all the operations with minimum latency under specific resource constraints. Branch-and-bound heuristics are promising to achieve such an optimal schedule quickly, since they can prune away large parts of infeasible solution space during the exploration. However, few of them are based on the prevalent multi-core platforms. Based on the bound information, this paper exploits the parallel pruning potentials from different perspectives and proposes various efficient techniques that can substantially reduce the overall RCS search efforts. The experimental results demonstrate that our approach can reduce the RCS time drastically.

[1]  Montek Singh,et al.  A Fast Branch-and-Bound Approach to High-Level Synthesis of Asynchronous Systems , 2010, 2010 IEEE Symposium on Asynchronous Circuits and Systems.

[2]  Marco Spuri,et al.  Implications of Classical Scheduling Results for Real-Time Systems , 1995, Computer.

[3]  Forrest Brewer,et al.  Automata-Based Symbolic Scheduling for Looping DFGs , 2001, IEEE Trans. Computers.

[4]  He Jifeng,et al.  An Optimal Lower-Bound Algorithm for the High-Level Synthesis Scheduling Problem , 2006, 2006 IEEE Design and Diagnostics of Electronic Circuits and systems.

[5]  Mohamed I. Elmasry,et al.  Global optimization approach for architectural synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Eduard Cerny,et al.  A recursive technique for computing lower-bound performance of schedules , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[7]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  J. Ramanujam,et al.  A fast approach to computing exact solutions to the resource-constrained scheduling problem , 2001, TODE.

[10]  Paolo Ienne,et al.  A high-level synthesis flow for custom instruction set extensions for application-specific processors , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[11]  Nikil D. Dutt,et al.  Comprehensive Lower Bound Estimation From Behavioral Descriptions , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[12]  Jacek Blazewicz,et al.  Scheduling in Computer and Manufacturing Systems , 1990 .

[13]  Mingsong Chen,et al.  Branch-and-bound style resource constrained scheduling using efficient structure-aware pruning , 2013, 2013 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[14]  Ted K. Ralphs,et al.  Parallel Branch and Cut , 2006 .

[15]  Teodor Gabriel Crainic,et al.  Parallel Branch‐and‐Bound Algorithms , 2006 .

[16]  Paul Feautrier,et al.  An Exact Resource Constrained-Scheduler using Graph Coloring technique , 2007, 2007 IEEE/ACS International Conference on Computer Systems and Applications.

[17]  Gianluca Palermo,et al.  Using speculative computation and parallelizing techniques to improve scheduling of control based designs , 2006, Asia and South Pacific Conference on Design Automation, 2006..

[18]  A. H. Timmer,et al.  Execution interval analysis under resource constraints , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[19]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[20]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[21]  Minjoong Rim,et al.  Lower-bound performance estimation for the high-level synthesis scheduling problem , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Klaus H. Ecker,et al.  Scheduling Computer and Manufacturing Processes , 2001 .

[23]  Daniel Gajski,et al.  Introduction to high-level synthesis , 1994, IEEE Design & Test of Computers.

[24]  Alok Sharma,et al.  Estimating Architectural Resources and Performance for High-Level Synthesis Applications , 1993, 30th ACM/IEEE Design Automation Conference.

[25]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  Barbara Chapman,et al.  Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) , 2007 .

[27]  Sheng-De Wang,et al.  An in-place search algorithm for the resource constrained scheduling problem during high-level synthesis , 2010, TODE.

[28]  Giri Tiruvuri,et al.  Estimation of lower bounds in scheduling algorithms for high-level synthesis , 1998, TODE.