Automatic configuration and run-time adaptation of distributed applications

Increased platform heterogeneity and varying resource availability in distributed systems motivates the design of resource-aware applications, which ensure a desired performance level by continuously adapting their behavior to changing resource characteristics. In this paper, we describe an application-independent adaptation framework that simplifies the design of resource-aware applications. This framework eliminates the need for adaptation decisions to be explicitly programmed into the application by relying on two novel components: (1) a tunability interface, which exposes adaptation choices in the form of alternate application configurations while encapsulating core application functionality, and (2) a virtual execution environment, which emulates application execution under diverse resource availability enabling off-line collection of information about the resulting behavior. Together, these components permit automatic run-time decisions on when to adapt by continuously monitoring resource conditions and application progress, and how to adapt by dynamically choosing the application configuration that is most appropriate for the prescribed user preference. We evaluate the framework using an interactive distributed image visualization application. The framework permits automatic adaptation to changes in CPU load and network bandwidth by choosing a different compression algorithm or by controlling the image transmission sequence so as to satisfy user preferences of visualization quality and timeliness.

[1]  Jeffrey K. Hollingsworth,et al.  Exposing application alternatives , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[2]  D. Estrin,et al.  RSVP: a new resource reservation protocol , 2001 .

[3]  Peter Druschel,et al.  Resource containers: a new facility for resource management in server systems , 1999, OSDI '99.

[4]  Fangzhe Chang,et al.  Exploiting application tunability for efficient, predictable parallel resource management , 1999, Proceedings 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing. IPPS/SPDP 1999.

[5]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[6]  Francine Berman,et al.  Scheduling from the perspective of the application , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[7]  David L. Black,et al.  An Architecture for Differentiated Service , 1998 .

[8]  Saurav Chatterjee Dynamic Application Structuring on Heterogeneous, Distributed Systems , 1999, IPPS/SPDP Workshops.

[9]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[10]  Stefan Savage,et al.  Processor capacity reserves: operating system support for multimedia applications , 1994, 1994 Proceedings of IEEE International Conference on Multimedia Computing and Systems.

[11]  Fangzhe Chang,et al.  Exploiting Application Tunability for Efficient, Predictable Resource Management in Parallel and Distributed Systems , 2000, J. Parallel Distributed Comput..

[12]  Thomas R. Gross,et al.  Adaptive distributed applications on heterogeneous networks , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[13]  John A. Zinky,et al.  Architectural Support for Quality of Service for CORBA Objects , 1997, Theory Pract. Object Syst..

[14]  Michael B. Jones,et al.  CPU reservations and time constraints: implementation experience on windows NT , 1999 .

[15]  Yasuhiko Yokote,et al.  Using Meta-Objects to Support Optimisation in the Apertos Operating System , 1995, COOTS.

[16]  Fangzhe Chang,et al.  User-level resource-constrained sandboxing , 2000 .

[17]  Ee-Chien Chang,et al.  A wavelet approach to foveating images , 1997, SCG '97.

[18]  Ee-Chien Chang,et al.  Realtime visualization of large images over a thinwire , 1997 .

[19]  Daniel P. Siewiorek,et al.  On quality of service optimization with discrete QoS options , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[20]  Dean Sutherland,et al.  A resource query interface for network-aware applications , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[21]  Peter Steenkiste,et al.  Darwin: customizable resource management for value-added network services , 1998, Proceedings Sixth International Conference on Network Protocols (Cat. No.98TB100256).

[22]  Jane W.-S. Liu,et al.  An end-to-end QoS management architecture , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[23]  Galen C. Hunt,et al.  Detours: binary interception of Win32 functions , 1999 .

[24]  John A. Zinky,et al.  Using QDL to specify QoS aware distributed (QuO) application configuration , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[25]  Richard Wolski,et al.  Application Level Scheduling of Gene Sequence Comparison on Metacomputers , 1998, International Conference on Supercomputing.

[26]  R. M. Balzer,et al.  Mediating connectors , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems. Workshops on Electronic Commerce and Web-based Applications. Middleware.