Buffer Memory Optimization in DSP Applications - An Evolutionary Approach

In the context of digital signal processing, synchronous data flow (SDF) graphs [12] are widely used for specification. For these, so called single appearance schedules provide program memory-optimal uniprocessor implementations. Here, buffer memory minimized schedules are explored among these using an Evolutionary Algorithm (EA). Whereas for a restricted class of graphs, there exist optimal polynomial algorithms, these are not exact and may provide poor results when applied to arbitrary, i.e., randomly generated graphs. We show that a careful EA implementation may outperform these algorithms by sometimes orders of magnitude.

[1]  Edward A. Lee,et al.  Software Synthesis from Dataflow Graphs , 1996 .

[2]  Jürgen Teich,et al.  Optimized software synthesis for digital signal processing algorithms: an evolutionary approach , 1998, 1998 IEEE Workshop on Signal Processing Systems. SIPS 98. Design and Implementation (Cat. No.98TH8374).

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

[4]  Heinrich Meyr,et al.  Scheduling for optimum data memory compaction in block diagram oriented software synthesis , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[5]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[6]  M. Engels,et al.  GRAPE: a CASE tool for digital signal parallel processing , 1990, IEEE ASSP Magazine.

[7]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .

[8]  Heinrich Meyr,et al.  High level software synthesis for signal processing systems , 1992, [1992] Proceedings of the International Conference on Application Specific Array Processors.

[9]  Nostrand Reinhold,et al.  the utility of using the genetic algorithm approach on the problem of Davis, L. (1991), Handbook of Genetic Algorithms. Van Nostrand Reinhold, New York. , 1991 .

[10]  Ken Kennedy,et al.  Optimal register assignment to loops for embedded code generation , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[11]  Ken Kennedy,et al.  Optimal register assignment to loops for embedded code generation , 1996, TODE.

[12]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[13]  B. R. Fox,et al.  Genetic Operators for Sequencing Problems , 1990, FOGA.

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

[15]  Keshab K. Parhi,et al.  Lower bounds on memory requirements for statically scheduled DSP programs , 1996, J. VLSI Signal Process..

[16]  Wei-Chung Hsu Register allocation and code scheduling for load/store architectures , 1987 .