The Community for Technology Leaders
RSS Icon
Issue No.04 - October (1990 vol.1)
pp: 486-499
<p>A methodology for designing pipelined data-parallel algorithms on multicomputers is studied. The design procedure starts with a sequential algorithm which can be expressed as a nested loop with constant loop-carried dependencies. The procedure's main focus is on partitioning the loop by grouping related iterations together. Grouping is necessary to balance the communication overhead with the available parallelism and to produce pipelined execution patterns, which result in pipelined data-parallel computations. The grouping should satisfy dependence relationships among the iterations and also allow the granularity to be controlled. Various properties of grouping are studied, and methods for generating communication-efficient grouping are given. Given a grouping and an assignment of the groups to the processors, an analytic model is combined with the grouping results to describe the behavior and to estimate the performance of the resultant parallel program. Expressions characterizing the performance are derived.</p>
Index Termsdata parallel algorithms; sequential algorithm; nested loop; loop-carried dependencies; partitioning; parallelism; pipelined execution patterns; grouping; dependence relationships; parallel program; parallel algorithms; performance evaluation
C.T. King, W.H. Chou, L.M. Ni, "Pipelined Data Parallel Algorithms-II: Design", IEEE Transactions on Parallel & Distributed Systems, vol.1, no. 4, pp. 486-499, October 1990, doi:10.1109/71.80176
35 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool