Eecient Run-time Support for Irregular Block-structured Applications Running Head: Eecient Run-time Support for Irregular Block-structured Applications List of Symbols

Parallel implementations of scientiic applications often rely on elaborate dynamic data structures with complicated communication patterns. We describe a set of intuitive geometric programming abstractions that simplify coordination of irregular block-structured scientiic calculations without sacriicing performance. We have implemented these abstractions in KeLP, a C++ run-time library. KeLP's abstractions enable the programmer to express complicated communication patterns for dynamic applications, and to tune communication activity with a high-level, abstract interface. We show that KeLP's exible communication model eeectively manages elaborate data motion patterns arising in structured adaptive mesh reenement, and achieves performance comparable to hand-coded message-passing on several structured numerical kernels. The following symbols and fonts were generated with LaTex: The typewriter font is used in Figures with code fragments.

[1]  Scott B. Baden,et al.  Parallel Adaptive Mesh Refinement for Electronic Structure Calculations , 1996, PPSC.

[2]  Robert A. van de Geijn,et al.  SUMMA: scalable universal matrix multiplication algorithm , 1995, Concurr. Pract. Exp..

[3]  Silvia Maria barbosa Figueira Modeling the effects of contention on application performance in multi-user environments , 1997 .

[4]  William Gropp,et al.  Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries , 1997, SciTools.

[5]  Francine Berman,et al.  Application-Level Scheduling on Distributed Heterogeneous Networks , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[6]  Scott B. Baden,et al.  Irregular Coarse-Grain Data Parallelism under LPARX , 1996, Sci. Program..

[7]  Sanjay Ranka,et al.  Array Decompositions for Nonuniform Computational Environments , 1996, J. Parallel Distributed Comput..

[8]  James Demmel,et al.  ScaLAPACK: A Portable Linear Algebra Library for Distributed Memory Computers - Design Issues and Performance , 1995, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[9]  S.R. Kohn,et al.  A Parallel Software Infrastructure for Structured Adaptive Mesh Methods , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[10]  Joel H. Saltz,et al.  An Integrated Runtime and Compile-Time Approach for Parallelizing Structured and Block Structured Applications , 1995, IEEE Trans. Parallel Distributed Syst..

[11]  Harry Berryman,et al.  Distributed Memory Compiler Design for Sparse Problems , 1995, IEEE Trans. Computers.

[12]  Joel H. Saltz,et al.  Support for distributed dynamic data structures in C , 1995 .

[13]  A. Edelman,et al.  Scalable Parallel Numerical Methods and Software Tools for Material Design , 1994, PPSC.

[14]  Scott B. Baden,et al.  A parallel software infrastructure for dynamic block-irregular scientific calculations , 1995 .

[15]  Eecient Support for Irregular Applications on Distributed-memory Machines , 1995 .

[16]  A. V. Williams,et al.  E cient Support for Irregular Applicationson Distributed-Memory Machines , 1995 .

[17]  Katherine Yelick,et al.  Runtime Support for Portable Distributed Data Structures , 1995, LCR.

[18]  James R. Larus,et al.  Application-specific protocols for user-level shared memory , 1994, Proceedings of Supercomputing '94.

[19]  Joel H. Saltz,et al.  Jovian: a framework for optimizing parallel I/O , 1994, Proceedings Scalable Parallel Libraries Conference.

[20]  Joel H. Saltz,et al.  Communication Optimizations for Irregular Scientific Computations on Distributed Memory Architectures , 1994, J. Parallel Distributed Comput..

[21]  Message P Forum,et al.  MPI: A Message-Passing Interface Standard , 1994 .

[22]  D. Culler,et al.  Parallel programming in Split-C , 1993, Supercomputing '93. Proceedings.

[23]  D. Quinlan,et al.  Run-time recognition of task parallelism within the P++ parallel array class library , 1993, Proceedings of Scalable Parallel Libraries Conference.

[24]  Lawrence Snyder Invited Lecture: Foundations of Practical Parallel Programming Languages , 1993, ACPC.

[25]  Laxmikant V. Kalé,et al.  CHARM++: a portable concurrent object oriented system based on C++ , 1993, OOPSLA '93.

[26]  Bowen Alpern,et al.  Modeling parallel computers as memory hierarchies , 1993, Proceedings of Workshop on Programming Models for Massively Parallel Computers.

[27]  Lawrence Snyder,et al.  ZPL: An Array Sublanguage , 1993, LCPC.

[28]  Dennis Gannon,et al.  Distributed pC++ Basic Ideas for an Object Parallel Language , 1993, Sci. Program..

[29]  Gerald Baumgartner,et al.  Languages and Compilers for Parallel Computing , 1992, Lecture Notes in Computer Science.

[30]  Ken Kennedy,et al.  Fortran D Language Specification , 1990 .

[31]  P. Colella,et al.  Local adaptive mesh refinement for shock hydrodynamics , 1989 .

[32]  William L. Briggs,et al.  A multigrid tutorial , 1987 .