A new optimization technique for improving resource exploitation and critical path minimization

The paper presents a novel approach to algebraic optimization of data flow graphs in the domain of computationally intensive applications. The presented approach is based upon the paradigm of simulated evolution which has been proven to be a powerful method for solving large nonlinear optimization problems. We introduce a genetic algorithm with a new chromosomal representation of data flow graphs that serves as a basis for preserving the correctness of algebraic transformations and allows an efficient implementation of the genetic operators. Furthermore, we introduce a new class of hardware related transformation rules which for the first time allow to take existing component libraries into account. The efficiency of our method is demonstrated by encouraging experimental results for several standard benchmarks.

[1]  T. Kailath,et al.  VLSI and Modern Signal Processing , 1984 .

[2]  Lawrence. Davis,et al.  Handbook Of Genetic Algorithms , 1990 .

[3]  Peter Marwedel Matching system and component behaviour in MIMOLA synthesis tools , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[4]  Jan M. Rabaey,et al.  Maximizing the throughput of high performance DSP applications using behavioral transformations , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[5]  Miodrag Potkonjak,et al.  Critical Path Minimization Using Retiming and Algebraic Speed-Up , 1993, 30th ACM/IEEE Design Automation Conference.

[6]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

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

[8]  David F. Bacon,et al.  Compiler transformations for high-performance computing , 1994, CSUR.

[9]  Richard I. Hartley,et al.  Tree-height minimization in pipelined architectures , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[10]  R. Fateman,et al.  A System for Doing Mathematics by Computer. , 1992 .

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

[12]  Wei Zhao,et al.  An evolution programming approach on multiple behaviors for the design of application specific programmable processors , 1996, Proceedings ED&TC European Design and Test Conference.

[13]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[14]  Miodrag Potkonjak,et al.  Optimizing power using transformations , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Richard I. Hartley,et al.  Optimizing pipelined networks of associative and commutative operators , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Peter Marwedel,et al.  Built-in chaining: introducing complex components into architectural synthesis , 1997, Proceedings of ASP-DAC '97: Asia and South Pacific Design Automation Conference.

[17]  Peter Marwedel,et al.  OSCAR: optimum simultaneous scheduling, allocation and resource binding based on integer programming , 1994, EURO-DAC '94.

[18]  Miodrag Potkonjak,et al.  Optimizing Resource Utilization and Testability Using Hot Potato Techniques , 1994, 31st Design Automation Conference.

[19]  Donald A. Lobo,et al.  Redundant operator creation: a scheduling optimization technique , 1991, 28th ACM/IEEE Design Automation Conference.