Marching cubes: A high resolution 3D surface construction algorithm
SIGGRAPH '87 Proceedings of the 14th annual conference on Computer graphics and interactive techniques
Compiling Fortran D for MIMD distributed-memory machines
Communications of the ACM
HeNCE: a heterogenous network computing environment
Scientific Programming
The virtual microscope
Using integer sets for data-parallel program analysis and optimization
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Modeling communication pipeline latency
SIGMETRICS '98/PERFORMANCE '98 Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
The grid: blueprint for a new computing infrastructure
The grid: blueprint for a new computing infrastructure
The grid
High-throughput resource management
The grid
Space-time memory: a parallel programming abstraction for interactive multimedia applications
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Future Generation Computer Systems - Special issue on metacomputing
Data mining: concepts and techniques
Data mining: concepts and techniques
A brief survey of papers on scheduling for pipelined processors
ACM SIGPLAN Notices
Language and Compiler Support for Adaptive Distributed Applications
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Distributed processing of very large datasets with DataCutter
Parallel Computing - Clusters and computational grids for scientific computing
Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Total
ICDE '96 Proceedings of the Twelfth International Conference on Data Engineering
Automatic Scheduler for Real-Time Vision Applications
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
StreamIt: A Language for Streaming Applications
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Adaptive Computing on the Grid Using AppLeS
IEEE Transactions on Parallel and Distributed Systems
Optimizing Execution of Component-based Applications using Group Instances
CCGRID '01 Proceedings of the 1st International Symposium on Cluster Computing and the Grid
dQUOB: Managing Large Data Flows Using Dynamic Embedded Queries
HPDC '00 Proceedings of the 9th IEEE International Symposium on High Performance Distributed Computing
ACDS: Adapting Computational Data Streams for High Performance
IPDPS '00 Proceedings of the 14th International Symposium on Parallel and Distributed Processing
Legion: The Next Logical Step Toward a Nationwide Virtual Computer
Legion: The Next Logical Step Toward a Nationwide Virtual Computer
3D visualization of unsteady 2D airplane wake vortices
VIS '94 Proceedings of the conference on Visualization '94
The Anatomy of the Grid: Enabling Scalable Virtual Organizations
International Journal of High Performance Computing Applications
The GrADS Project: Software Support for High-Level Grid Application Development
International Journal of High Performance Computing Applications
Evaluating heuristics in automatically mapping multi-loop applications to FPGAs
Proceedings of the 2005 ACM/SIGDA 13th international symposium on Field-programmable gate arrays
Language and Compiler Support for Adaptive Applications
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Automatically partitioning packet processing applications for pipelined architectures
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Hierarchical coarse-grained stream compilation for software defined radio
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
SoC-C: efficient programming abstractions for heterogeneous multicore systems on chip
CASES '08 Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems
Stream Compilation for Real-Time Embedded Multicore Systems
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
Automatic parallelization of canonical loops
Science of Computer Programming
Hi-index | 0.00 |
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.