Parallel implementations of irregular problems using high-level actor language

We present our experience in implementing several irregular problems using a high-level actor language. The problems studied require dynamic computation of object placement and may result in load imbalance as the computation proceeds, thereby requiring dynamic load balancing. The algorithms are expressed as fine-grained computations providing maximal flexibility in adapting the computation load to arbitrary parallel architectures. Such an algorithm may be composed of different partitioning and distribution strategies (PDSs) to result in different performance characteristics. The PDSs are implemented for specific data structures or algorithms and are reusable for different parallel algorithms. We demonstrate how our methodology provides portability of algorithm specification, reusability and ease of expressibility.

[1]  Ken Kennedy,et al.  Compiling Fortran D for MIMD distributed-memory machines , 1992, CACM.

[2]  Charles Koelbel,et al.  Compiling Global Name-Space Parallel Loops for Distributed Execution , 1991, IEEE Trans. Parallel Distributed Syst..

[3]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[4]  Ananth Grama,et al.  n-body simulations using message passing parallel computers. , 1995 .

[5]  Andrew A Chien,et al.  Concurrent Aggregates (CA): an Object-Orinted Language for Fine- Grained Message-Passing Machines , 1990 .

[6]  Joel H. Saltz,et al.  Distributed memory compiler methods for irregular problems—data copy reuse and runtime partitioning , 1992 .

[7]  Gul A. Agha,et al.  Actor Languages for Specification of Parallel Computations , 1994, Specification of Parallel Algorithms.

[8]  Gul A. Agha,et al.  A Methodology for Programming Scalable Architectures , 1994, J. Parallel Distributed Comput..

[9]  Andrew S. Grimshaw,et al.  Dynamic, object-oriented parallel processing , 1993, IEEE Parallel & Distributed Technology: Systems & Applications.

[10]  Gul A. Agha,et al.  Distributed Execution of Actor Programs , 1991, LCPC.

[11]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[12]  Joel H. Saltz,et al.  Unstructured scientific computation on scalable multiprocessors , 1992 .

[13]  K. Mani Chandy,et al.  CC++: A Declarative Concurrent Object Oriented Programming Notation , 1993 .

[14]  Gul A. Agha,et al.  HAL: A High-Level Actor Language and Its Distributed Implementation , 1992, ICPP.

[15]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[16]  米沢 明憲 ABCL : an object-oriented concurrent system , 1990 .

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

[18]  G. Agha,et al.  Actor Languages for Speciication of Parallel Computations , 1994 .

[19]  V. Karamcheti,et al.  Concert-efficient runtime support for concurrent object-oriented programming languages on stock hardware , 1993, Supercomputing '93.

[20]  S. Nash,et al.  Numerical methods and software , 1990 .

[21]  Gul Agha,et al.  Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[22]  Michael Metcalf,et al.  High performance Fortran , 1995 .

[23]  Won Kim,et al.  Comilation of a Highly Parallel Actor-Based Language , 1992, LCPC.

[24]  Satoshi Matsuoka,et al.  An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers , 1992, PPOPP '93.

[25]  Jenq Kuen Lee,et al.  Object oriented parallel programming: experiments and results , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).