Clock selection for performance optimization of control-flow intensive behaviors

This paper presents a clock selection algorithm for control-flow intensive behaviors that are characterized by the presence of conditionals and deeply-nested loops. Unlike previous works, which are primarily geared rewards data-dominated behaviors, this algorithm examines the effects of branch probabilities and their interaction with allocation constraints. We demonstrate, using examples, how changing branch probabilities and resource allocation can dramatically affect the optimal clock period, and hence, the performance of the schedule, and show that the interaction of these two factors must also be taken into account when searching for an optimal clock period. We then introduce the clock selection algorithm, which employs a fast critical-path analysis engine that allows it to evaluate what effect different clock periods, branch probabilities, and resource allocations may ultimately have on the performance of the behavior. When evaluating the critical path, we exploit the fact that our target behaviors exhibit locality of execution. We tested our algorithm using a number of benchmarks from various sources. A series of experiments demonstrates that our algorithm is quickly capable of selecting a small set of performance enhancing clock periods, among which the optimal clock period typically lies. Another experiment demonstrates that the algorithm can adapt to varying resource constraints.

[1]  Alice C. Parker,et al.  Synthesis of Optimal Clocking Schemes , 1985, 22nd ACM/IEEE Design Automation Conference.

[2]  Robert A. Walker,et al.  An exact methodology for scheduling in a 3D design space , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[3]  Alexandru Nicolau,et al.  Percolation based synthesis , 1991, DAC '90.

[4]  Daniel Gajski,et al.  An optimal clock period selection method based on slack minimization criteria , 1996, TODE.

[5]  Daniel Gajski,et al.  System clock estimation based on clock slack minimization , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[6]  Raul Camposano,et al.  Path-based scheduling for synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Liang-Gee Chen,et al.  Optimal module set and clock cycle selection for DSP synthesis , 1991, 1991., IEEE International Sympoisum on Circuits and Systems.

[9]  Niraj K. Jha,et al.  Memory binding for performance optimization of control-flow intensive behaviors , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

[10]  Alexandru Nicolau,et al.  Incremental tree height reduction for high level synthesis , 1991, 28th ACM/IEEE Design Automation Conference.

[11]  Anoop Gupta,et al.  The SPLASH-2 programs: characterization and methodological considerations , 1995, ISCA.

[12]  Nikil D. Dutt,et al.  1995 high level synthesis design repository , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[13]  Sujit Dey,et al.  Clock Period Optimization During Resource Sharing and Assignment , 1994, 31st Design Automation Conference.

[14]  Daniel Gajski,et al.  Clock optimization for high-performance pipelined design , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[15]  J. Rabaey,et al.  Behavioral Level Power Estimation and Exploration , 1997 .

[16]  Sujit Dey,et al.  Performance Analysis and Optimization of Schedules for Conditional and Loop-Intensive Specifications , 1994, 31st Design Automation Conference.

[17]  Anshul Kumar,et al.  Optimal clock period for synthesized data paths , 1997, Proceedings Tenth International Conference on VLSI Design.

[18]  Edwin Hsing-Mean Sha,et al.  Rotation Scheduling: A Loop Pipelining Algorithm , 1993, 30th ACM/IEEE Design Automation Conference.

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

[20]  Miodrag Potkonjak,et al.  HYPER-LP: a system for power minimization using architectural transformations , 1992, ICCAD 1992.