A Meta-Object Protocol for Environmental Adaptation in a Metacomputer Darren Webb and Andrew L. Wendelborn Department of Computer Science University of Adelaide South Australia 5005, Australia darren,andrew @cs.adelaide.edu.au +61-8-8303-6170 / +61-8-8303-4726 Facsimile: +61-8-8303-4366 Metacomputer or grid environments integrate geographically-distributed resources connected by an unreliable network to solve large, complex problems. The heterogenous nature of these compute and communication resources places particular importance on the environment’s ability to recognise and exploit their relative strengths. However, a lengthy computation can endure fluctuations in quality and availability of these resources, significantly complicating the task of resource management. Mainstream metacomputer environments such as Globus choose to make scheduling decisions when a job is submitted, and provide services for applications to adapt themselves. This approach to resource management makes when and how to adapt a concern of the application. Our work seeks a disciplined approach to adaptation, where adaptive behaviour is an implicit part of the computational model and separated from the functional concerns of the application. Specifically, we wish to blend together the concept of Meta-Object Protocol (MOP) with Kahn’s Process Network model of computation[Kah74] to provide computational and environment reconfiguration within a metacomputing environment. A process network is a computational graph, where nodes represent the transformation of data, and edges represent the flow of data between nodes. Reconfiguration enables a node to insert a new node, replace itself, or remove itself from the network. We will extend the model to provide envi- ronmental reconfiguration so a metacomputer application may adapt to changes in its environment. A MOP is a disciplined software engineering method that will help us to separate the non-functional concerns of adaptation from the application’s functional concerns. There are a number of important aspects of this work: Process Networks as an implicitly adapting computational model The Process Network model is a determinate model of computation with asynchronous inter-process communication and compute-induced reconfiguration. A safe reconfiguration technique, which maintains consistency of representation during reconfiguration, requires the process network to enter a quiescent state[KM90]. We have developed a ”localized” reconfiguration technique that achieves this state[WWV00] based on the knowledge that the reconfiguring node participates in deciding when reconfiguration occurs. We are presently considering alternatives for how the model can be extended to enable safe, externally-induced reconfiguration, when the reconfiguring node has no knowledge of its participation in reconfiguration. An observation architecture that recognizes and responds to the need for change Many metacomputer environments offer some mechanism to support adaptation. The Globus Architecture for Reservation and Allocation [Kah74] (GARA)[FRS00], amongst other things, monitors grid resources and provides measurements to applications. The Network Weather Service (NWS)[Wol97] uses sensors to observe, and statistical analysis to predict, grid resource performance. [KM90] In both these cases, it is necessary for the application to determine what stimuli are important, and how to react to the stimulus. We seek a general, highly-customizable, event-based infrastructure to apply threshholds to observations and predictions to [Wol97] stimulate adaptation. Our work with Gekko[WW01] will lead to such an architecture. A MOP for environmental reconfiguration in a process network Adaptation is not a functional concern for metacomputer applications. A MOP is a disciplined [WW01] approach to customize aspects of implementation that are critical to performance, while maintaining a clear separation of concerns. Our work with the Gekko metalayer[WW01] provides a tailored MOP [WWM99] for adaptation in the NexusJava communication library. Within a metacomputer application, a MOP can use intercession to determine when a node is quiescent, and induce environmental reconfiguration accordingly. G. Kahn. The Semantics of a Simple Language for Parallel Programming. In Proceedings of IFIP Congress 74, pages 471–475. North Holland Publishing Company, 1974. Kramer and Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions On Software Engineering, 15(11):1293–1306, November 1990. R. Wolski. Forecasting Network Performance to Support Dynamic Scheduling Using the Network Weather Service. In Proceedings of the 6th High-Performance Distributed Computing Conference, August 1997. D.L. Webb and A.L. Wendelborn. Gekko: A Metalayer for Adaptation in Nexus. In Proceedings of CCGrid ’01. IEEE, May 2001. D. L. Webb, A. L. Wendelborn, and K. J. Maciunas. Process Networks as a HighLevel Notation for Metacomputing. In Proceedings of the 13th International Parallel Processing Symposium Workshops: Java for Distributed Computing, pages 718–732. Springer-Verlang, April 1999. A proof-of-concept, adaptable grid architecture The PAGIS metacomputer environment[WWM99] [WWV00] D.L. Webb, A.L. Wendelborn, and uses the process network model as its model of comJ. Vayssière. A study of computational putation. PAGIS distributes the nodes of a process reconfiguration in a process network. In network application for computation. We intend to Proceedings of IDEA ’00, February 2000. build upon experiences with PAGIS and the Gekko metalayer[WW01] to provide a self-adapting metacomputer environment. Our current work includes redeveloping PAGIS to benefit from the Globus scheduling and distribution components. References [FRS00] I. Foster, A. Roy, and V. Sander. A Quality of Service Architecture that combines Resource Reservation and Application Adaptation. In 8th International Workshop on Quality of Service, 2000.