A Polynomial Algorithm for Balancing Acyclic Data Flow Graphs

  • Authors:
  • Endre Boros;Peter L. Hammer;Ron Shamir

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1992

Quantified Score

Hi-index 14.98

Visualization

Abstract

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.