Software architecture-based adaptation for Grid computing

Shang-Wen Cheng1, D. Garlan1, B. Schmerl1, P. Steenkiste1, Ningning Hu1
1School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA

Tóm tắt

Grid applications must increasingly self-adapt dynamically to changing environments. In most cases, adaptation has been implemented in an ad hoc fashion, on a per-application basis. This paper describes work which generalizes adaptation so that it can be used across applications by providing an adaptation framework. This framework uses a software architectural model of the system to analyze whether the application requires adaptation, and allows repairs to be written in the context of the architectural model and propagated to the running system. In this paper, we exemplify our framework by applying it to the domain of load-balancing a client-server system. We report on an experiment conducted using our framework, which illustrates that this approach maintains architectural requirements.

Từ khóa

#Grid computing #Application software #Runtime #Network servers #Humans #Mechanical factors #Monitoring #Computer science #Computer networks #Availability

Tài liệu tham khảo

10.1177/109434209701100205 garlan, 2000, Acme: Architectural Description of Component-Based Systems, Foundations of Component-Based Systems, 47 garlan, 2001, Using Gauges for Architecture-Based Monitoring and Adaptation, Proceedings of a Working Conference on Complex and Dynamic Systems Architecture 10.1109/ICSE.1991.130620 10.1145/242857.242867 10.1109/HPDC.2001.945195 lowekamp, 1999, Resource Query Interface for Network-aware Applications, Cluster Computing, 2, 139, 10.1023/A:1019074608189 10.1109/ISORC.1998.666767 moriconi, 1997, Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies, Technical Report SRI-CSL-97–01 oreizy, 1998, Architecture-Based Runtime Software Evolution in the Proceedings of the International Conference on Software Engineering 1998, ICSE'98), 11 10.1109/HPDC.2000.868630 wolski, 1997, Predicting the {CPU} Availability of Time-shared Unix Systems, Proc Eighth IEEE Symp High Performance Distributed Computing, 105 carzaniga, 2000, Achieving Expressiveness and Scalability in an Internet-Scale Event Notification Service, Proceedings of ACM Symposium on Principles of Distributed Computing (PODC cheng, 2002, Using Architectural Style as the Basis for Self-repair, Proceedings of the 2002 Working IEEE/IFIP Conference on Software Architectures cheng, 2002, Software Architecture-based Adaptation for Pervasive Systems, International Conference on Architecture of Computing Systems (ARCS'02) Trends in Network and Pervasive Computing 10.1109/WICSA.2001.948416 10.1109/HPDC.2001.945188 calnan, 2002, Semantic-based Code Transformation 10.1109/HOTOS.2001.990062 bollinger, 1998, A Framework-Based Approach to the Development of Network-Aware Applications, IEEE Transacations on Software Engineering, 24, 367 perry, 1992, Foundations for the Study of Software Architecture, ACM SIGSOFT Software Engineering Notes, 17, 40, 10.1145/141874.141884 shaw, 1996, Software Architectures Perspectives on an Emerging Discipline schmerl, 2002, Exploiting Architectural Design Knowledge to Support Self-repairing Systems, Proc the 14th International Conference on Software Engineering and Knowledge Engineering (SEKE 2002) 10.1109/HPDC.2000.868639 spitznagel, 1998, Architecture-Based Performance Analysis, Proc the 1998 Conference on Software Engineering and Knowledge Engineering wolski, 1997, Forecasting Network Performance to Support Dynamic Scheduling Using the Network Weather Service, Proceedings of the 6th High-Performance Distributed Computing Conference, 316 vraalsen, 0, Performance Contracts: Predicting and Monitoring Grid Application Behavior, GRID 2000 workshop