Accord: a programming system for autonomic self-managing applications

The increasing complexity, heterogeneity, and dynamism of emerging pervasive Grid environments and applications result in significant development and management challenges. This is primarily because application requirements and runtime behaviors depend on the runtime state and execution context and are typically not known a priori. Recently, autonomic computing has proposed solutions to address these challenges that draw inspiration from biological system. The goal of autonomic computing is to develop applications and systems that can manage themselves based on high level guidance from humans. In this thesis, we develop the Accord programming system for autonomic self-managing applications. Accord builds on existing programming systems and extends them to (1) enable the definition of autonomic elements that encapsulates functional and non-functional specifications, rules, and mechanisms for self-management, (2) enable the formulation of self-managing applications as dynamic compositions of autonomic elements, and (3) provide a runtime infrastructure for the correct and efficient runtime execution of rules to enforce self-managing behaviors in response to changing requirements and execution context. Three prototypes of the Accord programming system have been implemented and customized to support different classes of applications. The first prototype enables the rule-based self-management of objects and object-based parallel/distributed applications. The second prototype extends the Common Component Architecture Ccaffeine framework to enable self-managing component-based high-performance parallel/distributed scientific applications. This prototype supports both function and performance driven intra- and inter-component adaptations, and enables dynamic composition and runtime component replacement. The third prototype supports self-managing service-based applications and enables runtime adaptation of service and service interactions, and decentralized and dynamic service composition. The operation of these prototypes is illustrated using a suite of scientific applications. Experimental evaluations of the prototypes are presented.

[1]  Manish Agarwal,et al.  Enabling autonomic compositions in grid environments , 2003, Proceedings. First Latin American Web Congress.

[2]  Manish Parashar,et al.  A distributed object infrastructure for interaction and steering , 2003, Concurr. Comput. Pract. Exp..

[3]  Sabine Rathmayer A tool for on-line visualization and interactive steering of parallel HPC applications , 1997, Proceedings 11th International Parallel Processing Symposium.

[4]  Micah Beck,et al.  The Logistical Computing Stack - A Design For Wide-Area, Scalable, Uninterruptible Computing , 2002 .

[5]  Manish Parashar,et al.  Rule-based monitoring and steering of distributed scientific applications , 2005, Int. J. High Perform. Comput. Netw..

[6]  David M. Beazley,et al.  Controlling the data glut in large-scale molecular-dynamics simulations , 1997 .

[7]  M. Parashar,et al.  Accord: a programming framework for autonomic applications , 2006, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[8]  Zièd Choukair,et al.  Dynamic, adaptive and reconfigurable systems overview and prospective vision , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[9]  Francine Berman,et al.  Adaptive Computing on the Grid Using AppLeS , 2003, IEEE Trans. Parallel Distributed Syst..

[10]  Jacques Noyé,et al.  A declarative approach for designing and developing adaptive components , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[11]  Emil C. Lupu,et al.  Conflicts in Policy-Based Distributed Systems Management , 1999, IEEE Trans. Software Eng..

[12]  Zhen Li,et al.  Enabling Autonomic Grid Applications: Requirements, Models and Infrastructure , 2005, Self-star Properties in Complex Information Systems.

[13]  Scott Klasky,et al.  An autonomic service architecture for self-managing grid applications , 2005, The 6th IEEE/ACM International Workshop on Grid Computing, 2005..

[14]  James Arthur Kohl,et al.  The CCA core specification in a distributed memory SPMD framework , 2002, Concurr. Comput. Pract. Exp..

[15]  Peter Niblett,et al.  Publish-Subscribe Notification for Web services , 2004 .

[16]  L. Zhen,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2003, 2003 Autonomic Computing Workshop.

[17]  Jan Bosch,et al.  Superimposition: a component adaptation technique , 1999, Inf. Softw. Technol..

[18]  D. Pullin,et al.  Direct simulation methods for compressible inviscid ideal-gas flow , 1980 .

[19]  J. Chen Real Time Feature Extraction and Tracking in a Computational Steering Environment , 2003 .

[20]  Scott Klasky,et al.  High performance threaded data streaming for large scale simulations , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[21]  Manish Parashar,et al.  Enabling self-management of component-based high-performance scientific applications , 2005, HPDC-14. Proceedings. 14th IEEE International Symposium on High Performance Distributed Computing, 2005..

[22]  Vijay Mann,et al.  DISCOVER: An environment for Web‐based interaction and steering of high‐performance scientific applications , 2001, Concurr. Comput. Pract. Exp..

[23]  Jarke J. van Wijk,et al.  3D computational steering with parametrized geometric objects , 1995, Proceedings Visualization '95.

[24]  Henri Casanova,et al.  Overview of GridRPC: A Remote Procedure Call API for Grid Computing , 2002, GRID.

[25]  Jeffrey S. Vetter,et al.  Autopilot: adaptive control of distributed applications , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[26]  Habib N. Najm,et al.  A component-based toolkit for simulating reacting flows with high order spatial discretisations on structured adaptively refined meshes , 2005 .

[27]  John A. Zinky,et al.  Building adaptive distributed applications with middleware and aspects , 2004, AOSD '04.

[28]  Manish Parashar,et al.  Rule-Based Visualization in a Computational Steering Collaboratory , 2004, International Conference on Computational Science.

[29]  Ian Taylor,et al.  Triana as a Graphical Web Services Composition Toolkit , 2003 .

[30]  Frank Leymann,et al.  Modeling Stateful Resources with Web Services , 2004 .

[31]  Seyed Masoud Sadjadi,et al.  Transparent self-optimization in existing CORBA applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[32]  Manish Parashar,et al.  Autonomic optimization of an oil reservoir using decentralized services , 2003, Proceedings of the International Workshop on Challenges of Large Applications in Distributed Environments, 2003..

[33]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[34]  A. Stephen McGough,et al.  ICENI: Optimisation of component applications within a Grid environment , 2002, Parallel Comput..

[35]  Antonio Jorge Silva Cardoso,et al.  Quality of service and semantic composition of workflows , 2002 .

[36]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[37]  Gail E. Kaiser,et al.  Using process technology to control and coordinate software adaptation , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[38]  J. Ray Baroclinic Circulation Generation on Shock Accelerated Slow/fast Gas Interfaces , 1998 .

[39]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[40]  J. Smoller Shock Waves and Reaction-Diffusion Equations , 1983 .

[41]  S. Osher,et al.  Computing interface motion in compressible gas dynamics , 1992 .

[42]  Wouter Joosen,et al.  On Interaction Refinement in Middleware , 2000 .

[43]  Ravi Samtaney,et al.  Circulation deposition on shock-accelerated planar and curved density-stratified interfaces: models and scaling laws , 1994, Journal of Fluid Mechanics.

[44]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[45]  Salim Hariri,et al.  A component-based programming model for autonomic applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[46]  A. Malony,et al.  An approximate method for optimizing HPC component applications in the presence of multiple component implementations , 2022 .

[47]  David M. Eyers,et al.  An asynchronous rule-based approach for business process automation using obligations , 2002, RULE '02.

[48]  Zhen Li,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2006, Cluster Computing.

[49]  MANISH PARASHAR,et al.  Conceptual and Implementation Models for the Grid , 2005, Proceedings of the IEEE.

[50]  Manish Parashar,et al.  Rule-based visualization in the Discover computational steering collaboratory , 2005, Future Gener. Comput. Syst..

[51]  Radhika Jain,et al.  Web Services Composition with Traceability Centered on Dependency , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[52]  Ravi Samtaney,et al.  Shock interactions with heavy gaseous elliptic cylinders: Two leeward-side shock competition modes and a heuristic model for interfacial circulation deposition at early times , 2000 .

[53]  Jarek Nieplocha,et al.  Component‐based integration of chemistry and optimization software , 2004, Journal of computational chemistry.

[54]  Salim Hariri,et al.  vGrid: a framework for building autonomic applications , 2003, Proceedings of the International Workshop on Challenges of Large Applications in Distributed Environments, 2003..

[55]  Roberto Ierusalimschy,et al.  ALua: flexibility for parallel programming , 2002, Comput. Lang. Syst. Struct..

[56]  Yixin Diao,et al.  Managing Web server performance with AutoTune agents , 2003, IBM Syst. J..

[57]  Cecilia Mascolo,et al.  A micro-economic approach to conflict resolution in mobile computing , 2002, SIGSOFT '02/FSE-10.

[58]  Allen D. Malony,et al.  Performance measurement and modeling of component applications in a high performance computing environment: a case study , 2003, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[59]  Henri E. Bal,et al.  CAVEStudy: an infrastructure for computational steering in virtual reality environments , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[60]  Ian T. Foster,et al.  MPICH-G2: A Grid-enabled implementation of the Message Passing Interface , 2002, J. Parallel Distributed Comput..

[61]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[62]  James Arthur Kohl,et al.  Cumulvs: Providing Fault Toler. Ance, Visualization, and Steer Ing of Parallel Applications , 1996, Int. J. High Perform. Comput. Appl..

[63]  Jana Koehler,et al.  Web Service Composition - Current Solutions and Open Problems , 2003 .

[64]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[65]  Habib N. Najm,et al.  Using the Common Component Architecture to design high performance scientific simulation codes , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[66]  Alessandro Ricci,et al.  Three approaches to the coordination of multiagent systems , 2002, SAC '02.