This Article 
 Bibliographic References 
 Add to: 
Buffer Sizing for Rate-Optimal Single-Rate Data-Flow Scheduling Revisited
February 2010 (vol. 59 no. 2)
pp. 188-201
Orlando Moreira, ST Ericsson, Eindhoven
Twan Basten, Eindhoven University of Technology and Embedded Systems Institute, Eindhoven
Marc Geilen, Eindhoven University of Technology, Eindhoven
Sander Stuijk, Eindhoven University of Technology , Eindhoven
Single-Rate Data-Flow (SRDF) graphs, also known as Homogeneous Synchronous Data-Flow (HSDF) graphs or Marked Graphs, are often used to model the implementation and do temporal analysis of concurrent DSP and multimedia applications. An important problem in implementing applications expressed as SRDF graphs is the computation of the minimal amount of buffering needed to implement a static periodic schedule (SPS) that is optimal in terms of execution rate, or throughput. Ning and Gao [1] propose a linear-programming-based polynomial algorithm to compute this minimal storage amount, claiming optimality. We show via a counterexample that the proposed algorithm is not optimal. We prove that the problem is, in fact, NP-complete. We give an exact solution, and experimentally evaluate the degree of inaccuracy of the algorithm of Ning and Gao.

[1] Q. Ning and G. Gao, “A Novel Framework of Register Allocation for Software Pipelining,” Proc. ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages, pp. 29-42, 1993.
[2] A. Dasdan, “Experimental Analysis of the Fastest Optimum Cycle Ratio and Mean Algorithms,” ACM Trans. Design Automation of Electronic Systems, vol. 9, no. 4, pp. 385-418, Oct. 2004.
[3] P. Poplavko, T. Basten, M. Bekooij, J. van Meerbergen, and B. Mesman, “Task-Level Timing Models for Guaranteed Performance in Multiprocessor Networks-on-Chip,” Proc. Int'l Conf. Compilers, Architectures and Synthesis for Embedded Systems (CASES), pp. 63-72, 2003.
[4] S. Stuijk, T. Basten, B. Mesman, and M. Geilen, “Predictable Embedding of Large Data Structures in Multiprocessor Networks-on-Chip,” Proc. Conf. Digital System Design (DSD), pp. 388-395, 2005.
[5] O. Moreira, M. Bekooij, and J. Mol, “Online Resource Management in a Multiprocessor with a Network-on-Chip.” Proc. Symp. Applied Computing, pp. 1557-1564, 2007.
[6] R. Govindarajan, G. Gao, and P. Desai, “Minimizing Memory Requirements in Rate-Optimal Schedules,” Proc. Int'l Conf. Application-Specific Array Processors, pp. 75-86, 1994.
[7] R. Govindarajan, G. Gao, and P. Desai, “Minimizing Buffer Requirements under Rate-Optimal Schedule in Regular Dataflow Networks,” J. VLSI Signal Processing, vol. 31, no. 3, pp. 207-229, 2002.
[8] J. Wang, A. Krall, M.A. Ertl, and C. Eisenbeis, “Software Pipelining with Register Allocation and Spilling,” Proc. 27th Int'l Symp. and Workshop Microprogramming and Microarchitecture (MICRO-27),, Dec. 1994.
[9] M.S. Lam, “Software Pipelining: An Effective Scheduling Technique for VLIW Machines,” SIGPLAN Notices, vol. 39, no. 4, pp. 244-256, 2004.
[10] O. Moreira, J. Mol, M. Bekooij, and J. van Meerbergen, “Multiprocessor Resource Allocation for Hard Real-Time Streaming with a Dynamic Job Mix,” Proc. IEEE Real-Time and Embedded Technology and Applications Symp. (RTAS), pp. 332-341, 2005.
[11] S. Stuijk, M. Geilen, and T. Basten, “Exploring Trade Offs in Buffer Requirements and Throughput Constraints for Synchronous Dataflow Graphs,” Proc. Design Automation Conf. (DAC), pp. 899-904, 2006.
[12] S. Stuijk, M. Geilen, and T. Basten, “Throughput-Buffering Trade Off Exploration for Cyclo-Static and Synchronous Dataflow Graphs,” IEEE Trans. Computers, vol. 57, no. 10, pp. 1331-1345, Oct. 2008.
[13] E. Lee and D. Messerschmitt, “Synchronous Data Flow,” Proc. IEEE, vol. 75, no. 9, pp. 1235-1245, Sept. 1987.
[14] A. Ghamarian, M. Geilen, T. Basten, B. Theelen, M. Mousavi, and S. Stuijk, “Liveness and Boundedness of Synchronous Data Flow Graphs,” Proc. Formal Methods in Computer Aided Design (FMCAD), pp. 68-75, 2006.
[15] S. Sriram and S. Bhattacharyya, Embedded Multiprocessors: Scheduling and Synchronization. Marcel Dekker, Inc., 2000.
[16] R. Reiter, “Scheduling Parallel Computations,” J. ACM, vol. 15, no. 4, pp. 590-599, 1968.
[17] T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms. MIT Press/McGraw-Hill, 2001.
[18] R. Karp, “Reducibility among Combinatorial Problems,” Complexity of Computer Computations, Plenum, pp. 85-103, 1972.
[19] M. Garey and D. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, 1979.
[20] P. Murthy, “Scheduling Techniques for Synchronous and Multidimensional Synchronous Dataflow,” PhD dissertation, Univ. of California at Berkeley, 1996.
[21] A. Ghamarian, M. Geilen, S. Stuijk, T. Basten, A. Moonen, M. Bekooij, B. Theelen, and M. Mousavi, “Throughput Analysis of Synchronous Data Flow Graphs,” Proc. Int'l Conf. Application of Concurrency to System Design (ACSD), pp. 25-34, 2006.
[22] S. Stuijk, M. Geilen, and T. Basten, “SDF3: SDF for Free,” Proc. Int'l Conf. Application of Concurrency to System Design (ACSD), pp. 276-278, 2006.

Index Terms:
Scheduling, single-rate data flow, homogeneous synchronous data flow, buffer minimization, throughput optimization.
Orlando Moreira, Twan Basten, Marc Geilen, Sander Stuijk, "Buffer Sizing for Rate-Optimal Single-Rate Data-Flow Scheduling Revisited," IEEE Transactions on Computers, vol. 59, no. 2, pp. 188-201, Feb. 2010, doi:10.1109/TC.2009.155
Usage of this product signifies your acceptance of the Terms of Use.