Skip to main content
Log in

Synthesis of application-level utility functions for autonomic self-assessment

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

We present an approach to self-assessment for Autonomic Computing, based on the synthesis of utility functions, at the level of an autonomic application, or even a single task or feature performed by that application. This paper describes the fundamental steps of our approach: instrumentation of the application; collection of exhaustive samples of runtime data about relevant quality attributes of the application, as well as characteristics of its runtime environment; synthesis of a utility function through statistical correlation over the collected data points; and embedding of code corresponding to the equation of the synthesized utility function within the application, which enables the computation of utility values at run time. We describe a number of case studies, with their results and implications, to motivate and discuss the significance of application-level utility, illustrate our statistical synthesis method, and present our framework for instrumentation, monitoring, and utility function embedding/evaluation.

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.

Similar content being viewed by others

Abbreviations

Aupy::

Application utility in Python;

BSD::

Berkeley Software Distribution;

COTS::

Common Off-The-Shelf;

CPU::

Central Processing Unit;

FTP::

File Transfer Protocol;

JDK::

Java Development Kit;

IP::

Internet Protocol;

IT::

Information Technology;

MAPE-K::

Monitor, Analyze, Plan and Execute-Knowledge;

NTP::

Network Time Protocol;

QoS::

Quality of Service;

RFC::

Request For Contribution;

RL::

Reinforcement Learning;

SSH::

Secure Shell;

VoIP::

Voice over IP

References

  1. Arlat, J., et al.: Fault injection for dependability validation: a methodology and some applications. IEEE Trans. Softw. Eng. 16(2), 166–182 (1990)

    Article  Google Scholar 

  2. Boutilier, C., Das, R., Kephart, J.O., Tesauro, G., Walsh, W.E.: Cooperative negotiation in autonomic systems using incremental utility elicitation. In: Proceedings of the 19th Conference on Uncertainty in Artificial Intelligence, Acapulco, Mexico, August 2003

  3. Brodie, M., Ma, S., Lohman, G., Mignet, L., Wilding, M., Champlin, J., Sohn, P.: Quickly finding known software problems via automated symptom matching. In: Proceedings of the 2nd International Conference on Autonomic Computing (ICAC 2005), Seattle, WA, USA, June 2005

  4. Cao, Z., Zegura, E.W.: Utility max-min: an application-oriented bandwidth allocation scheme. In: Proceedings of IEEE INFOCOM’99, New York, NY, USA, April 1999

  5. Karlsson, M., Covell, M.: Dynamic black-box performance model estimation for self-tuning regulators. In: Proceedings of the 2nd International Conference on Autonomic Computing (ICAC 2005), Seattle, WA, USA, June 2005

  6. Cheng, S.W., Garlan, D., Schmerl, B.: Architecture-based self-adaptation in the presence of multiple objectives. In: Proceedings of the ICSE International Workshop on Self-adaptation and Self-managing Systems (SEAMS 2006), Shanghai, China, May 2006

  7. Chu, F.C., Halpern, J.Y.: Great expectations. Part II: generalized expected utility as a universal decision rule. Artif. Intell. 159(1–2), 297–302 (2004)

    MathSciNet  Google Scholar 

  8. Das, R., Whalley, I., Kephart, J.O.: Utility-based collaboration among autonomous agents for resource allocation in data centers. In: Proceedings of the 5th Intl. Joint Conference on Autonomous Agents and Multiagent Systems, Hakodate, Japan, 2006

  9. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. In: Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI 2004), San Francisco, CA, USA, December 2004

  10. Dickinson, W., Leon, D., Podgurski, A.: Finding failures by cluster analysis of execution profiles. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE), Toronto, Ontario, Canada, May 2001

  11. Engel, M., Freisleben, B.: Supporting autonomic computing functionality via dynamic operating systems kernel aspects. In: Proceedings of the 4th International Conference on Aspect-Oriented Software Development (AOSD’05), Chicago, IL, USA 2005

  12. Ghemawat, S., Gobioff, H., Leung, S.: The Google file system. In: Proceedings of the 19th ACM Symposium on Operating Systems Principles, Lake George, NY, USA, October 2003

  13. Greenwood, P., Blair, L.: Using dynamic aspect-oriented programming to implement an autonomic system. In: Proceedings of the Dynamic Aspects Workshop, Lancaster, UK, 2004

  14. Griffith, R., Valetto, G., Kaiser, G.: Effecting runtime reconfiguration in managed execution environments. In: Parashar, M., Hariri, S. (eds.) Autonomic Computing: Concepts, Infrastructure and Applications. CRC, Boca Raton (2006)

    Google Scholar 

  15. Irwin, D.E., Grit, L.E., Chase, J.S.: Balancing risk and reward in a market-based task service. In: Proceedings of the 13th IEEE International Symposium on High Performance Distributed Computing (HPDC-13), Honolulu, HI, USA, June 2004

  16. Jin, C., Buyya, R.: MapReduce Programming Model for .NET-Based Cloud Computing. Lecture Notes in Computer Science, vol. 5704, pp. 417–428. Springer, Berlin (2009)

    Google Scholar 

  17. Jolliffee, I.T.: Principal Component Analysis, 2nd edn. Springer, Berlin (2002)

    Google Scholar 

  18. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)

    Google Scholar 

  19. Kephart, J.O., Das, R.: Achieving self-management via utility function. IEEE Internet Comput. 11(1), 40–48 (2007)

    Article  Google Scholar 

  20. Koza, J.: Genetic Programming: on the Programming of Computers by the Means of Natural Selection. MIT, Cambridge (1990)

    Google Scholar 

  21. Kurose, J.F., Simha, R.: A microeconomic approach to optimal resource allocation in distributed computer systems. IEEE Trans. Comput. 38(5), 705–717 (1989)

    Article  Google Scholar 

  22. Li, B.: A hierarchical graph model for probing multimedia applications. In: Proceedings of the IEEE International Conference on Multimedia and Expo (ICME 2001), Tokyo, Japan, August 2001

  23. Li, B., Nahrstedt, K.: QualProbes: middleware QoS profiling services for configuring adaptive applications. In: Proceedings of Middleware 2000, Hudson River Valley, NY, USA, April 2000

  24. Mills, D.L.: Network time protocol (version 3) specification, implementation and analysis. IETF RFC 1305, March 1992, available at: http://www.faqs.org/rfcs/rfc1305.html

  25. Mirgorodskiy, A.V., Maruyama, N., Miller, B.P.: Problem diagnosis in large-scale computing environments. In: Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, Tampa, FL, USA, 2006

  26. Morin, B., et al.: Taming dynamically adaptive systems with models and aspects. In: Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), Vancouver, BC, Canada, May 2009

  27. Patrascu, R., Boutilier, C., Das, R., Kephart, J.O., Tesauro, G., Walsh, W.E.: New approaches to optimization and utility elicitation in autonomic computing. In: Proceedings of the National Conference on Artificial Intelligence, Pittsburgh, PA, USA, July 2005

  28. Postel, J., Reynolds, J.: File transfer protocol (FTP). IETF RFC 959, October 1985, available at: http://www.ietf.org/rfc/rfc959.txt

  29. Quiroz, A., Gnanasambandam, N., Parashar, M., Sharma, N.: Robust clustering analysis for the management of self-monitoring distributed systems. J. Clust. Comput. 12(1), 73–85 (2009)

    Article  Google Scholar 

  30. Rappa, M.A.: The utility business model and the future of computing services. IBM Syst. J. 43(1), 32–42 (2004)

    Article  Google Scholar 

  31. Salehie, M., Li, S., Asadollahi, R., Tahvildari, L.: Change support in adaptive software: A case study for fine-grained adaptation. In: Proceedings of the IEEE Conference and Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2009), San Francisco, CA, USA, April 2009

  32. Salle, M., Bartolini, C.: Management by contract. In: Proceedings of Network Operations and Management Symposium (NOMS 2004), Seoul, Korea, April 2004

  33. Stehle, E., Shevertalov, M., deGrandis, P., Mancoridis, S., Kam, M.: Task dependency of user perceived utility in autonomic VoIP systems. In: Proceedings of the International Conference on Autonomic and Autonomous Systems (ICAS 2008), Gosier, Guadeloupe, March 2008

  34. Sterrit, R., Bustard, D.: A health-check model for autonomic systems based on a pulse monitor. Knowl. Eng. Rev. 21(3), 195–204 (2006)

    Article  Google Scholar 

  35. Tesauro, G.: Reinforcement learning in autonomic computing. A manifesto and case studies. IEEE Internet Comput. 11(1), 22–30 (2007)

    Article  Google Scholar 

  36. Tesauro, G., Jong, N.K., Das, R., Bennani, M.N.: On the use of hybrid reinforcement learning for autonomic resource allocation. J. Clust. Comput. 10(3), 287–299 (2007)

    Article  Google Scholar 

  37. Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Utility functions in autonomic systems. In: Proceedings of the International Conference on Autonomic Computing (ICAC 2004), New York, NY, USA, May 2004

  38. Wang, G., Butt, A.R., Pandey, P., Gupta, K.: A simulation approach to evaluating design decisions in MapReduce setups. In: Proceedings of the 17th Annual IEEE/ACM International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS ’09), London, UK, Sep. 2009

  39. Wang, X., Schulzrinne, H.: Pricing network resources for adaptive applications in a differentiated services network. In: Proceedings of INFOCOM 2001, Anchorage, AK, USA, April 2001

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giuseppe Valetto.

Additional information

This is an extended version of the paper “Elicitation and Utilization of Application-level Utility Functions”, published in the Proceedings of the 6th International Conference on Autonomic Computing (ICAC 2009), Barcelona, Spain, June 2009.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Valetto, G., deGrandis, P. & Seybold, D. Synthesis of application-level utility functions for autonomic self-assessment. Cluster Comput 14, 275–293 (2011). https://doi.org/10.1007/s10586-010-0130-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-010-0130-y

Keywords

Navigation