Skip to main content
Log in

A Framework for Automatic Adaptation of Tunable Distributed Applications

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Increased platform heterogeneity and varying resource availability in distributed systems motivate 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 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 an application configuration most appropriate for the prescribed user preference. We evaluate the framework using an interactive distributed image visualization application and a parallel image processing application. The framework permits automatic adaptation to changes in execution environment characteristics such as available network bandwidth or data arrival pattern by choosing a different application configuration that satisfies user preferences of output quality and timeliness.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. R. Balzer and N. Goldman, Mediating connectors, in: Proc. 1999 ICDCS Workshop on Electronic Commerce and Web-based Applications (June 1999).

  2. G. Banga, P. Druschel and J. Mogul, Resource containers: A new facility for resource management in server systems, in: Proc. 3rd USENIX Symp. on Operating Systems Design and Implementation (1999).

  3. F. Berman and R. Wolski, Scheduling from the perspective of the application, in: Proc. 5th IEEE Int. Symp. on High Performance Distributed Computing (1996).

  4. S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang and W. Weiss, An architecture for differentiated service, IETF Network Working Group, RFC 2475 (December 1998).

  5. P. Chandra et al., Darwin: Customizable resource management for value-added network services, in: Proc. 6th IEEE Int. Conf. on Network Protocols (1998).

  6. E.C. Chang and C. Yap, A wavelet approach to foveating images, in: Proc. 13th ACM Symp. on Computational Geometry (1997).

  7. E.C. Chang, C. Yap and T.-J. Yen, Realtime visualization of large images over a thinwire, IEEE Visualization (1997).

  8. F. Chang, A. Itzkovitz and V. Karamcheti, User-level resourceconstrained sandboxing, in: Proc. 4th USENIX Windows System Symposium (August 2000).

  9. F. Chang, V. Karamcheti and Z. Kedem, Exploiting application tunability for efficient, predictable parallel resource management, in: Proc. 13th Int. Parallel Processing Symposium (1999).

  10. S. Chatterjee, Dynamic application structuring on heterogeneous, distributed systems, in: Proc. IPPS/SPDP'99 Workshop on Parallel and Distributed Real-Time Systems (1999).

  11. P. Dasgupta, Parallel processing with Windows NT networks, in: Proc. USENIX Windows NT Workshop (August 1997).

  12. P. Dasgupta, Z. Kedem and M. Rabin, Parallel processing on networks of workstations: Fault-tolerant high performance approach, in: Proc. 15th IEEE Int. Conf. on Distributed Computing Systems (1995).

  13. P. Goyal, X. Guo and H.M. Vin, A hierarchical CPU scheduler for multimedia operating systems, in: Proc. Operating System Design and Implementation (October 1996).

  14. T. Gross, P. Steenkiste and J. Subhlok, Adaptive distributed applications on heterogeneous networks, in: Proc. 8th Heterogeneous Computing Workshop (HCW' 99) (April 1999).

  15. G. Hunt and D. Brubacher, Detours: Binary interception of Win32 functions, in: Proc. 3rd USENIX Windows NT Symposium (July 1999).

  16. H. Ishikawa and D. Geiger, Segmentation by grouping junctions, in: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (1998).

  17. J. Itoh, R. Lea and Y. Yokote, Using meta-objects to support optimisation in the Apertos operating system, in: Proc. USENIX Conference on Object-Oriented Technologies (COOTS'95) (June 1995).

  18. M. Jones and J. Regehr, CPU reservations and time constraints: Implementation experience onWindows NT, in: Proc. 3rd USENIXWindows NT Symposium (July 1999).

  19. Z. Kedem, K. Palem and P. Spirakis, Efficient robust parallel computations, in: Proc. 22nd ACM Symp. on Theory of Computing (1990).

  20. P. Keleher, J. Hollingsworth and D. Perkovic, Exploiting application alternatives, in: Proc. 19th Int. Conf. on Distributed Computing Systems (June 1999).

  21. C. Lee, J. Lehoczky, R. Rajkumar and D. Siewiorek, On quality of service optimization with discrete QoS options, in: Proc. IEEE Realtime Technology and Applications Symposium (June 1999).

  22. B. Lowekamp, N. Miller, D. Sutherland, T. Gross, P. Steenkiste and J. Subhlok, A resource query interface for network-aware applications, in: Proc. 7th IEEE Symposium on High-Performance Distributed Computing (July 1998).

  23. C. Mercer, S. Savage and H. Tokuda, Processor capacity reserves: Operating system support for multimedia applications, in: Proc. IEEE Int. Conf. on Multimedia Computing and Systems (May 1994).

  24. P. Pal, J. Loyall, R. Schantz, J. Zinky, R. Shapiro and J. Megquier, Using QDL to specify QoS aware distributed (QuO) application con-figuration, in: Proc. 3rd IEEE International Symposium on Object-Oriented Real-time Distributed Computing (ISORC 2000) (March 2000).

  25. M. Shankar, M. DeMiguel and J. Liu, An end-to-end QoS management architecture, in: Proc. Real-Time Applications Symposium (June 1999).

  26. N. Spring and R. Wolski, Application level scheduling of gene sequence comparison on metacomputers, in: Proc. 12th ACM Int. Conf. on Supercomputing, Australia (1998).

  27. L. Zhang, S. Deering, D. Estrin, S. Shenker and D. Zappala, RSVP: A new resource ReSerVation Protocol, IEEE Network (September 1993).

  28. J. Zinky, D. Bakken and R. Schantz, Architectural support for quality of service for CORBA objects, Theory and Practice of Object Systems (January 1997).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chang, F., Karamcheti, V. A Framework for Automatic Adaptation of Tunable Distributed Applications. Cluster Computing 4, 49–62 (2001). https://doi.org/10.1023/A:1011464226688

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1011464226688

Navigation