Using Reflection for Flexibility and Extensibility in a Metacomputing Environment

We present system developers with a reflective model, the Reflective Graph and Event model (RGE), for building metacomputing applications, incorporating our design goals of flexibility, extensibility, reusability, and composability. The model uses graphs and events to specify computations and enables first-class program graphs as event handlers. We demonstrate the RGE model in several areas of interest to metacomputing using Legion as our experimental testbed. We unify the concepts of exceptions and events; by making exceptions a special case of events. Furthermore, using RGE, we demonstrate how to build generic, composable and reusable components that can be shared across development environments such as MPI, PVM, NetSolve, C++, and Fortran.

[1]  Andreas Paepcke,et al.  PCLOS: stress testing CLOS experiencing the metaobject protocol , 1990, OOPSLA/ECOOP '90.

[2]  Lorenzo Alvisi,et al.  Paralex: an environment for parallel programming in distributed systems , 1991, ICS '92.

[3]  Jack Dongarra,et al.  NetSolve's Network Enabled Server: Examples and Applications , 1999 .

[4]  MaesPattie Concepts and experiments in computational reflection , 1987 .

[5]  Robert G. Babb,et al.  Parallel Processing with Large-Grain Data Flow Techniques , 1984, Computer.

[6]  Matti A. Hiltunen,et al.  Coyote: a system for constructing fine-grain configurable communication services , 1998, TOCS.

[7]  John F. Karpovich,et al.  Architectural Support for Extensibility and Autonomy in Wide-Area Distributed Object Systems , 1998 .

[8]  Sang Hyuk Son,et al.  Architecture and object model for distributed object-oriented real-time databases , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[9]  Joseph L. Zachary,et al.  Reflections on Metaprogramming , 1995, IEEE Trans. Software Eng..

[10]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[11]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[12]  Andrew S. Grimshaw,et al.  Portable run-time support for dynamic object-oriented parallel processing , 1996, TOCS.

[13]  Chris Zimmermann Advances in Object-Oriented Metalevel Architectures and Reflection , 1996 .

[14]  Joel H. Saltz,et al.  Parallel Programming Using C++ , 1996 .

[15]  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.

[16]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[17]  James C. Browne,et al.  Experimental Evaluation of a Reusability-Oriented Parallel Programming Environment , 1990, IEEE Trans. Software Eng..

[18]  Mitsuhisa Sato,et al.  Ninf: A Network Based Information Library for Global World-Wide Computing Infrastructure , 1997, HPCN Europe.

[19]  Andrew S. Grimshaw,et al.  Enabling Flexibility in the Legion Run-Time Library , 1997, PDPTA.

[20]  Gary M. Koob,et al.  Foundations of dependable computing : models and frameworks for dependable systems , 1994 .

[21]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

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

[23]  Jack Dongarra,et al.  HeNCE: graphical development tools for network-based concurrent computing , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[24]  Andrew S. Grimshaw,et al.  Exploiting Data-Flow for Fault-Tolerance in a Wide-Area Parallel System , 1996, SRDS.

[25]  Vaidy S. Sunderam,et al.  PVM: A Framework for Parallel Distributed Computing , 1990, Concurr. Pract. Exp..

[26]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[27]  Jack Dongarra,et al.  Applying NetSolve's network-enabled server , 1998 .

[28]  Yasuhiko Yokote,et al.  The Apertos reflective operating system: the concept and its implementation , 1992, OOPSLA.

[29]  Andrew S. Grimshaw,et al.  The core Legion object model , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[30]  Sang Hyuk Son,et al.  BeeHive: Global Multimedia Database Support for Dependable, Real-Time Applications , 1997, ARTDB.

[31]  Brian N. Bershad,et al.  Dynamic binding for an extensible system , 1996, OSDI '96.

[32]  Robert J. Stroud,et al.  Implementing fault tolerant applications using reflective object-oriented programming , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.