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.
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
Arlat, J., et al.: Fault injection for dependability validation: a methodology and some applications. IEEE Trans. Softw. Eng. 16(2), 166–182 (1990)
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
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
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
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
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
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)
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
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
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
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
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
Greenwood, P., Blair, L.: Using dynamic aspect-oriented programming to implement an autonomic system. In: Proceedings of the Dynamic Aspects Workshop, Lancaster, UK, 2004
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)
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
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)
Jolliffee, I.T.: Principal Component Analysis, 2nd edn. Springer, Berlin (2002)
Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)
Kephart, J.O., Das, R.: Achieving self-management via utility function. IEEE Internet Comput. 11(1), 40–48 (2007)
Koza, J.: Genetic Programming: on the Programming of Computers by the Means of Natural Selection. MIT, Cambridge (1990)
Kurose, J.F., Simha, R.: A microeconomic approach to optimal resource allocation in distributed computer systems. IEEE Trans. Comput. 38(5), 705–717 (1989)
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
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
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
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
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
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
Postel, J., Reynolds, J.: File transfer protocol (FTP). IETF RFC 959, October 1985, available at: http://www.ietf.org/rfc/rfc959.txt
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)
Rappa, M.A.: The utility business model and the future of computing services. IBM Syst. J. 43(1), 32–42 (2004)
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
Salle, M., Bartolini, C.: Management by contract. In: Proceedings of Network Operations and Management Symposium (NOMS 2004), Seoul, Korea, April 2004
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
Sterrit, R., Bustard, D.: A health-check model for autonomic systems based on a pulse monitor. Knowl. Eng. Rev. 21(3), 195–204 (2006)
Tesauro, G.: Reinforcement learning in autonomic computing. A manifesto and case studies. IEEE Internet Comput. 11(1), 22–30 (2007)
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)
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
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
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
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-010-0130-y