This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Polynomial Algorithm for Balancing Acyclic Data Flow Graphs
November 1992 (vol. 41 no. 11)
pp. 1380-1385

Data flow machines whose task graphs are acyclic can be transformed into synchronous machines, thereby increasing pipelining and throughput. This is achieved by introducing delays or buffers on certain lines, so that the resulting graph is balanced, i.e., travel times along any two paths with common endpoints are the same. The buffer assignment problem is how to balance a rooted acyclic data flow graph with a minimum number of buffer units. Recently, an integer programming decomposition procedure was proposed for this problem. The decomposition was introduced in an attempt to circumvent the exponential blowup typical of integer programming algorithms. It is shown that the buffer assignment problem can in fact be solved to optimality in low-degree polynomial time. The result is obtained by a sequence of reformulations of the problem, leading to models to which simple and efficient network flow procedures can be successfully applied.

[1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, "Network flows," inHandbooks in Operations Research and Management Science, Vol. I, G. L. Nemhauser, A. H. G. Rinnooy Kan, and M. S. Todd, Eds. Amsterdam: Elsevier, 1989, pp. 211-369.
[2] R. K. Ahuja, K. Mehlhorn, J. B. Orlin, and R. E. Tarjan, "Faster algorithms for the shortest path problem," Operations Res. Center, M.I.T., Tech. Rep. 193, 1988.
[3] E. Boros, P. L. Hammer, M. Hartman, and R. Shamir, "Balancing problems in acyclic networks,"Discrete Appl. Math., to be published.
[4] P. R. Chang and C. S. G. Lee, "A decomposition approach for balancing large-scale acyclic data flow graphs,"IEEE Trans. Comput., vol. 39, no 1, pp. 34-46, 1990.
[5] J. B. Dennis, "Data flow supercomputers,"IEEE Comput. Mag., pp. 48-56, Nov. 1980.
[6] J. B. Dennis and G. R. Gao, "Maximum pipelining of array operations on static data flow machine," inProc. 1983 Int. Conf. Parallel Processing, 1983, pp. 331-334.
[7] J. Edmonds and R. M. Karp, "Theoretical improvements in algorithmic efficiency for network flow problems,"J. Ass. Comput. Mach., vol. 19, no. 2, pp. 248-264, Apr. 1972.
[8] A. L. Fisher and S. Y. Kung, "Special-purpose VLSI architectures: General description and a case study," inVLSI and Modern Signal Processing, S. Y. Kung, H. F. Whitehouse, and T. Kailath, Eds. Englewood Cliffs, NJ: Prentice-Hall, 1985, pp. 153-169.
[9] M. L. Fredman and R. E. Tarjan, "Fibonacci heaps and their uses in improved network optimization algorithms,"J. Assoc. Comput. Mach., vol. 34, pp. 596-615, 1987.
[10] M. R. Garey and D. S. Johnson,Computers and Intractability: A Guide to Theory of NP-Completeness. San Francisco, CA: Freeman, 1979.
[11] A. V. Goldberg, E. Tardos, and R. E. Tarjan, "Network flow algorithms," Dep. of Comput. Sci., Stanford Univ., Rep. STAN-CS-89-1252, 1989.
[12] S. Y. Kung, "Why systolic architectures?,"IEEE Comput. Mag., pp. 37-46, Jan. 1982.
[13] S. Y. Kung and M. Lam, "Wafer scale integration and two-level pipelined implementation of systolic array,"J. Parallel and Distributed Comput., vol. 1, no. 1, pp. 32-63, 1984.
[14] C. E. Leiserson and J. B. Saxe, "Optimizing synchronous systems,"J. VLSI and Comput. Syst., vol. 1, no. 1, pp. 41-67, 1983.
[15] G. L. Nemhouser and L. A. Wolsey,Integer and Combinatorial Optimization. New York: Wiley, 1988.
[16] J. B. Orlin, "A faster strongly polynomial minimum cost flow algorithm," inProc. 20th ACM Symp. Theory of Comput., 1988, pp. 377-387; also, Revised version, Sloan School of Management, M.I.T., Rep. 3060- 89-MS,1989.
[17] C. H. Papadimitriou, "On the complexity of integer programming,"J. Assoc. Comput. Mach., vol. 28, pp. 675-768, 1981.
[18] E. Tardos, "A strongly polynomial algorithm to solve combinatorial linear programs,"Oper. Res, vol. 34, no. 2, pp. 250-256, 1986.
[19] R. Endre Tarjan,Data Structures and Network Algorithms, Society for Industrial and Applied Mathematics, 1983.

Index Terms:
data flow machines; polynomial algorithm; balancing acyclic data flow graphs; task graphs; pipelining; throughput; delays; buffers; buffer assignment; integer programming decomposition procedure; integer programming; parallel architectures; systolic arrays.
Citation:
E. Boros, P.L. Hammer, R. Shamir, "A Polynomial Algorithm for Balancing Acyclic Data Flow Graphs," IEEE Transactions on Computers, vol. 41, no. 11, pp. 1380-1385, Nov. 1992, doi:10.1109/12.177308
Usage of this product signifies your acceptance of the Terms of Use.