Buffer allocation in regular dataflow networks: an approach based on coloring circular-arc graphs

In this paper we discuss a method to perform compile-time buffer allocation, allowing efficient buffer sharing among the arcs of a special form of dataflow graphs-known as regular stream flow graphs-commonly used in Digital Signal Processing applications. We relate the buffer sharing problem to that of finding independent sets in weighted circular arc graph. An important difference between the traditional graph coloring/register allocation problem and our buffer sharing problem is that in our problem the aim is to minimize the sum of the weights of the independent sets, rather than the number of independent sets. We present a heuristic algorithm and experiment it on a large number of randomly generated regular dataflow graphs as well as a few DSP applications. It is observed that the heuristic algorithm performs well, reducing the buffer requirement by 14.3% on the average. Also, we observe that buffer requirement achieved by the heuristic algorithm is within 2.1% from the lower bound.

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

[2]  Prakash Panangaden,et al.  Minimal Memory Schedules for Dataflow Networks , 1993, CONCUR.

[3]  Joseph Y.-T. Leung,et al.  Fast Algorithms for Generating All Maximal Independent Sets of Interval, Circular-Arc and Chordal Graphs , 1984, J. Algorithms.

[4]  Liang-Gee Chen,et al.  Rate-optimal DSP synthesis by pipeline and minimum unfolding , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Guang R. Gao,et al.  A novel framework for multi-rate scheduling in DSP applications , 1993, Proceedings of International Conference on Application Specific Array Processors (ASAP '93).

[6]  Guang R. Gao,et al.  Minimizing memory requirements in rate-optimal schedules , 1994, Proceedings of IEEE International Conference on Application Specific Array Processors (ASSAP'94).

[7]  R. Möhring Algorithmic graph theory and perfect graphs , 1986 .

[8]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[9]  Guang R. Gao,et al.  A Register Allocation Framework Based on Hierarchical Cyclic Interval Graphs , 1992, CC.

[10]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[11]  John Cocke,et al.  A methodology for the real world , 1981 .

[12]  Sumio Masuda,et al.  Generation of Maximum Independent Sets of a Bipartite Graph and Maximum Cliques of a Circular-Arc Graph , 1992, J. Algorithms.

[13]  John Cocke,et al.  Register Allocation Via Coloring , 1981, Comput. Lang..

[14]  Guang R. Gao,et al.  Well-behaved dataflow programs for DSP computation , 1992, [Proceedings] ICASSP-92: 1992 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[15]  Edward A. Lee,et al.  Compile-Time Scheduling and Assignment of Data-Flow Program Graphs with Data-Dependent Iteration , 1991, IEEE Trans. Computers.

[16]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.