Exact and approximate task assignment algorithms for pipelined software synthesis

  • Authors:
  • Matin Hashemi;Soheil Ghiasi

  • Affiliations:
  • University of California, Davis, CA;University of California, Davis, CA

  • Venue:
  • Proceedings of the conference on Design, automation and test in Europe
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Pipelined execution of streaming applications enable processing of high-throughput data under performance constraint. We present an integrated approach to synthesizing pipelined software for dual-core architectures. We target streaming applications modeled as task graphs that are amenable to static analysis. We develop a versatile task assignment algorithm that considers the combined effect of workload imbalance between processors and inter-processor communication. Our technique, which runs in pseudo-linear time, provably maximizes application throughput. Furthermore, we develop an approximation algorithm for task assignment whose complexity is strictly polynomial. It provides the designer with an adjustable knob to controllably trade solution quality with algorithm runtime and memory requirement. Empirical throughput measurements using an FPGA-based dual-core system validate our theoretical results. Our exact algorithm consistently outperforms a recent competitor. Compared to exact task assignment, the approximate method runs about 3 times faster, requires about 20 times less memory, and results in only 1% to 5% throughput loss.