Using speculative computation and parallelizing techniques to improve scheduling of control based designs

Recent research results have seen the application of parallelizing techniques to high-level synthesis. In particular, the effect of speculative code transformations on mixed control-data flow designs has demonstrated effective results on schedule lengths. In this paper we first analyze the use of the control and data dependence graph as an intermediate representation that provides the possibility of extracting the maximum parallelism. Then we analyze the scheduling problem by formulating an approach based on Integer Linear Programming (ILP) to minimize the number of control steps given the amount of resources. We improve the already proposed ILP scheduling approaches by introducing a new conditional resource sharing constraint which is then extended to the case of speculative computation. The ILP formulation has been solved by using a Branch and Cut framework which provides better results than standard branch and bound techniques

[1]  Niraj K. Jha,et al.  Wavesched: a novel scheduling technique for control-flow intensive designs , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Kemal Ebcioglu,et al.  A global resource-constrained parallelization technique , 1989 .

[3]  Joseph A. Fisher,et al.  Trace Scheduling: A Technique for Global Microcode Compaction , 1981, IEEE Transactions on Computers.

[4]  Miodrag Potkonjak,et al.  Optimizing resource utilization using transformations , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Jason Merrill Generic and gimple: A new tree represen-tation for entire functions , 2003 .

[6]  Miodrag Potkonjak,et al.  Optimizing throughput and resource utilization using pipelining: Transformation based approach , 1994, J. VLSI Signal Process..

[7]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988, Wiley interscience series in discrete mathematics and optimization.

[9]  Milind Girkar,et al.  Extracting task-level parallelism , 1995, TOPL.

[10]  Forrest Brewer,et al.  A new symbolic technique for control-dependent scheduling , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  C. L. Liu,et al.  A scheduling algorithm for conditional resource sharing-a hierarchical reduction approach , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[12]  Minjoong Rim,et al.  Global scheduling with code-motions for high-level synthesis applications , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[13]  Alice C. Parker,et al.  MAHA: A Program for Datapath Synthesis , 1986, DAC 1986.

[14]  Nikil D. Dutt,et al.  Using global code motions to improve the quality of results for high-level synthesis , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[16]  J.A.G. Jess,et al.  A reordering technique for efficient code motion , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[17]  Milind Girkar,et al.  Automatic Extraction of Functional Parallelism from Ordinary Programs , 1992, IEEE Trans. Parallel Distributed Syst..

[18]  Alexandru Nicolau,et al.  Trailblazing: A Hierarchical Approach to Percolation Scheduling , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[19]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

[20]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1984, TOPL.

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

[22]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.