Nov. 15, 2003 to Nov. 21, 2003
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/SC.2003.10008
The emergence of grid and a new class of data-driven applications is making a new form of parallelism desirable, which we refer to as coarse-grained pipelined parallelism. This paper reports on a compilation system developed to exploit this form of parallelism. We use a dialect of Java that exposes both pipelined and data parallelism to the compiler. Our compiler is responsible for selecting a set of candidate filter boundaries, determining the volume of communication required if a particular boundary is chosen, performing the decomposition, and generating code. We have developed a one-pass algorithm for determining the required communication between consecutive filters. We have developed a cost model for estimating the execution time for a given decomposition, and a dynamic programming algorithm for performing the decomposition. Detailed evaluation of our current compiler using four data-driven applications demonstrate the feasibility of our approach.
Parallel processing, Application software, Grid computing, Concurrent computing, Filters, Pipelines, Instruments, Permission, Java, Costs
"Compiler Support for Exploiting Coarse-Grained Pipelined Parallelism", SC, 2003, SC Conference, SC Conference 2003, pp. 8, doi:10.1109/SC.2003.10008