Synthesizing Distributed Pipelining Systems with Timing Constraints Via Optimal Functional Unit Assignment and Communication Selection
Weiwen Jiang,Edwin H. -M. Sha,Xianzhang Chen,Lin Wu,Qingfeng Zhuge
DOI: https://doi.org/10.1016/j.jocs.2017.03.020
IF: 3.817
2018-01-01
Journal of Computational Science
Abstract:The design of efficient optimization techniques is important to synthesize application-specific distributed systems with timing constraints. In many applications, represented by task graphs, the consecutive executions of a task graph can be overlapped in a pipelined fashion with a proper buffer placement. The performance of such a system is closely related to the behavior of pipelining. Given a timing (throughput) constraint, however, using the fastest functional units or communication protocols may incur unacceptable high cost. In the design of such distributed pipelining systems with timing constraint, several problems need to be solved: how to properly place buffers, assign functional unit types for each task, and select communication protocols for each pair of tasks. This paper presents efficient optimization algorithms by integrally considering the above problems, such that the resultant systems can satisfy the timing constraints with the minimum total cost. In this paper, we first study the properties of distributed pipelining systems by using a rigorous model, called self-timed model, and then we present theorems to accurately compute the system throughput. Based on these understandings, we devise efficient algorithms to obtain the optimal solutions. Experiments show that the typical greedy approaches cannot find a feasible solution for the tight timing requirements while our algorithms can. For the few cases that greedy approaches may find solutions, our algorithms can achieve significant reductions in total cost. (C) 2017 Elsevier B.V. All rights reserved.