Issue No. 11 - November (1992 vol. 41)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.177308
<p>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.</p>
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.
E. Boros, R. Shamir and P. Hammer, "A Polynomial Algorithm for Balancing Acyclic Data Flow Graphs," in IEEE Transactions on Computers, vol. 41, no. , pp. 1380-1385, 1992.