pdf abstract

advertisement
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.
Download