PATHS - Integrating the Principles of Method-Combination and Remote Procedure Calls for Run-Time Configuration and Tuning of High-Performance Distributed Applications YYYY No org found YYY

A “path” based on the idea of methodcombination and remote procedure calls to provide run-time configurable networks of computational communication paths between threads and data in distributed, high performance applications is proposed. An initial design is implemented, tested and analyzed. We use a “wrapper” to provide a level of indirection to the actual run-time location of data by forwarding function calls to servers holding the target data. A wrapper specify where data is located, how to get there, and which protocols to use. Wrappers are also used to add or modify methods accessing data. Wrappers are specified dynamically. A “path” is comprised of one or more wrappers. Sections of a path can be shared among two or more paths. Establishing a path is a two-phase process of specifying the path, and then (recursively) setting up the path based on the specification. A test system using the proposed architecture is implemented, demonstrated and performance measured using two benchmarks on three different clusters. We show that the proposed architecture can be used for mapping and improving the performance of applications on different topologies including a wide-area multi cluster configuration, and how wrappers can be used to distribute computational load off of heavily loaded target servers. We also show how thread distributions can be changed at run-time without altering application code. We believe that the proposed semimanual approach will prove useful in debugging and coarse-tuning distributed high-performance applications, and that it will provide valuable insights for developing later, more automated, middleware systems.

[1]  Mendel Rosenblum,et al.  Cellular disco: resource management using virtual clusters on shared-memory multiprocessors , 2000, TOCS.

[2]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[3]  David M. Nicol,et al.  Parallelized Direct Execution Simulation of Message-Passing Parallel Programs , 1996, IEEE Trans. Parallel Distributed Syst..

[4]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[5]  Yong Luo MPI performance study on the SGI Origin2000 , 1997, 1997 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, PACRIM. 10 Years Networking the Pacific Rim, 1987-1997.

[6]  Scott Devine,et al.  Using the SimOS machine simulator to study complex computer systems , 1997, TOMC.

[7]  David W. Walker,et al.  The Design of a Standard Message Passing Interface for Distributed Memory Concurrent Computers , 1994, Parallel Comput..

[8]  James R. Larus,et al.  The Wisconsin Wind Tunnel: virtual prototyping of parallel computers , 1993, SIGMETRICS '93.

[9]  Brian Vinter,et al.  EXTENDING THE APPLICABILITY OF SOFTWARE DSM BY ADDING USER REDEFINABLE MEMORY SEMANTICS , 2002 .

[10]  Vijay K. Naik,et al.  Effects of partitioning and scheduling sparse matrix factorization on communication and load balance , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[11]  Andrea C. Arpaci-Dusseau,et al.  Searching for the sorting record: experiences in tuning NOW-Sort , 1998, SPDT '98.

[12]  L. F. Wilson,et al.  Experiments in Automated Load Balancing , 1996, Proceedings of Symposium on Parallel and Distributed Tools.