Dynamicity in distributed applications: issues, problems and the ASSIST approach

Abstract Dynamic reconfiguration refers to the ability of changing properties and structure of a distributed system, while it is running. It is essential when designing applications that need to adapt to unpredictable events, run on non-dedicated environments; for which configuration cannot be statically determined, or may change at runtime. Grid computing also gave new emphasis to the topic, being based on dynamic environments by definition. The first part of this work tries to give a definite organization to known literature and existing experiments, providing a general overview of the problem. Then we describe our approach to dynamicity in the context of the ASSIST programming environment and show how it is able to provide users with many of the required abstractions to develop adaptive, high-performance, distributed applications.

[1]  Marco Danelutto,et al.  ASSIST As a Research Framework for High-Performance Grid Programming Environments , 2006, Grid Computing: Software Environments and Tools.

[2]  Sanjeev Setia,et al.  Software support for adaptive parallelism on non-dedicated clusters of workstations , 2001 .

[3]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[4]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[5]  Francine Berman,et al.  Grid Computing: Making the Global Infrastructure a Reality , 2003 .

[6]  Jiannong Cao,et al.  Dynamic configuration management in a graph-oriented Distributed Programming Environment , 2003, Sci. Comput. Program..

[7]  Fred Douglis,et al.  Transparent process migration: Design alternatives and the sprite implementation , 1991, Softw. Pract. Exp..

[8]  Toby Bloom,et al.  Reconfiguration and module replacement in Argus: theory and practice , 1993, Softw. Eng. J..

[9]  Largo B. Pontecorvo,et al.  Optimization Techniques for Implementing Parallel Skeletons in Grid Environments , 2004 .

[10]  Nicholas Carriero,et al.  Adaptive Parallelism and Piranha , 1995, Computer.

[11]  Kaveh M. Moazami-Goudarzi,et al.  Consistency preserving dynamic reconfiguration of distributed systems , 1999 .

[12]  Bernd Freisleben,et al.  CORBA Based Runtime Support for Load Distribution and Fault Tolerance , 2000, IPDPS Workshops.

[13]  Francine Berman,et al.  The GrADS Project: Software Support for High-Level Grid Application Development , 2001, Int. J. High Perform. Comput. Appl..

[14]  Peter G. Harrison,et al.  Parallel Programming Using Skeleton Functions , 1993, PARLE.

[15]  Sanjeev Setia,et al.  DyRecT: Software Support for Adaptive Parallelism on NOWs , 2000, IPDPS Workshops.

[16]  Marten van Sinderen,et al.  An approach to dynamic reconfiguration of distributed systems based on object-middleware , 2001 .

[17]  Marco Vanneschi,et al.  The programming model of ASSIST, an environment for parallel and distributed portable applications , 2002, Parallel Comput..

[18]  Jason Nieh,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation , 2022 .

[19]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[20]  Abdur Chowdhury Dynamic reconfiguration: checkpointing code generation , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[21]  Martin Zimmermann,et al.  Specification and implementation of reconfigurable distributed applications , 1994, Proceedings of 2nd International Workshop on Configurable Distributed Systems.

[22]  James M. Purtilo,et al.  A framework for dynamic reconfiguration of distributed programs , 1993 .

[23]  Peter M. A. Sloot,et al.  Dynamite - Blasting Obstacles to Parallel Cluster Computing , 1999, HPCN Europe.

[24]  André Ribes,et al.  PACO++: a parallel object model for high performance distributed systems , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[25]  Marco Danelutto ON SKELETONS & DESIGN PATTERNS , 2002 .

[26]  Massimo Torquati,et al.  Dynamic Reconfiguration of Grid-Aware Applications in ASSIST , 2005, Euro-Par.

[27]  Marco Danelutto,et al.  Dynamic run time support for skeletons , 1999, PARCO.

[28]  Miron Livny,et al.  Condor and the Grid , 2003 .

[29]  Sathish S. Vadhiyar,et al.  Self adaptivity in Grid computing , 2005, Concurr. Pract. Exp..

[30]  Joel H. Saltz,et al.  Runtime Support for Programming in Adaptive Parallel Environments , 1995, LCR.

[31]  Marten van Sinderen,et al.  Transparent dynamic reconfiguration for CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[32]  José C. Cunha,et al.  Grid Computing: Software Environments and Tools , 2005 .

[33]  Jeff Kramer,et al.  Maintaining node consistency in the face of dynamic change , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[34]  Yike Guo,et al.  Parallel skeletons for structured composition , 1995, PPOPP '95.

[35]  Massimo Torquati,et al.  The Implementation of ASSIST, an Environment for Parallel and Distributed Programming , 2003, Euro-Par.

[36]  Christine Hofmeister Dynamic reconfiguration of distributed applications , 1993 .

[37]  Toby Bloom,et al.  Dynamic module replacement in a distributed programming system , 1983 .

[38]  Kai Li,et al.  Libckpt: Transparent Checkpointing under UNIX , 1995, USENIX.

[39]  Michael Litzkow,et al.  Supporting checkpointing and process migration outside the UNIX kernel , 1999 .

[40]  Valérie Issarny,et al.  A dynamic reconfiguration service for CORBA , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[41]  Peter H. Feiler,et al.  Consistency in dynamic reconfiguration , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[42]  Thomas R. Gross,et al.  Transparent adaptive parallelism on NOWs using OpenMP , 1999, PPoPP '99.

[43]  Ian Sommerville,et al.  A model for dynamic configuration which preserves application integrity , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[44]  Edward R. Zayas,et al.  Attacking the process migration bottleneck , 1987, SOSP '87.

[45]  James S. Plank Efficient checkpointing on MIMD architectures , 1993 .

[46]  Joel H. Saltz,et al.  Run-Time and Compiler Support for Programming in Adaptive Parallel Environments , 1997 .

[47]  Keith A. Lantz,et al.  Preemptable remote execution facilities for the V-system , 1985, SOSP 1985.

[48]  Jesper Andersson Issues in Dynamic Software Architectures , 2001 .