Service Provisioning on the Cloud: Distributed Algorithms for Joint Capacity Allocation and Admission Control
Cloud computing represents a new way to deliver and use services on a shared IT infrastructure. Traditionally, IT hardware and software were acquired and provisioned on business premises. Software applications were built, possibly integrating off-the-shelf components, deployed and run on these privately owned resources. With service-oriented computing, applications are offered by service providers to clients, who can simply invoke them through the network. The offer specifies both the functionality and the Quality of Service (QoS). Providers are responsible for deploying and running services on their own resources. Cloud computing moves one step further. Computing facilities can also be delivered on demand in the form of services over a network. In this paper we take the perspective of a Software as a Service (SaaS) provider whose goal is to maximize the revenues from end users who access services on a pay-per-use basis. In turn, the SaaS provider exploits the cloud, which provides an Infrastructure as a Service (IaaS), where the service provider dynamically allocates hardware physical resources.
This paper presents a distributed algorithm for run-time management of SaaS cloud systems that jointly addresses the capacity allocation and admission control of multiple classes of applications providing an heuristic solution which closely approximates the global optimal solution.
Unable to display preview. Download preview PDF.
- 3.Amazon Inc. Amazon Elastic Cloud, http://aws.amazon.com/ec2/
- 4.Andreolini, M., Casolari, S., Colajanni, M.: Autonomic request management algorithms for geographically distributed internet-based systems. In: SASO (2008)Google Scholar
- 5.Ardagna, D., Panicucci, B., Trubian, M., Zhang, L.: Energy-Aware Autonomic Resource Allocation in Multi-tier Virtualized Environments. IEEE Trans. on Services Computing (to appear)Google Scholar
- 6.Bennani, M., Menascé, D.: Resource Allocation for Autonomic Data Centers Using Analytic Performance Models. In: IEEE Int’l Conf. Autonomic Computing Proc. (2005)Google Scholar
- 7.Bertsekas, D.: Nonlinear Programming. Athena Scientific (1999)Google Scholar
- 10.Erdogmus, H.: Cloud computing: Does nirvana hide behind the nebula? IEEE Softw. 26(2), 4–6 (2009)Google Scholar
- 11.Felber, P., Kaldewey, T., Weiss, S.: Proactive hot spot avoidance for web server dependability. In: IEEE Symposium on Reliable Distributed Systems, pp. 309–318 (2004)Google Scholar
- 13.Liu, Z., Squillante, M.S., Wolf, J.: On maximizing service-level-agreement profits. In: Proc. 3d ACM Conf. on Electronic Commerce (2001)Google Scholar
- 14.Menascé, D.A., Dubey, V.: Utility-based QoS Brokering in Service Oriented Architectures. In: IEEE International Conference on Web Services Proceedings, pp. 422–430 (2007)Google Scholar
- 15.Nitto, E.D., Dubois, D.J., Mirandola, R., Saffre, F., Tateson, R.: Self-aggregation techniques for load balancing in distributed systems. In: SASO (2008)Google Scholar
- 16.Urgaonkar, B., Pacifici, G., Shenoy, P.J., Spreitzer, M., Tantawi, A.N.: Analytic modeling of multitier Internet applications. ACM Transaction on Web, 1(1) (January 2007)Google Scholar
- 17.Wolf, J.L., Bansal, N., Hildrum, K., Parekh, S., Rajan, D., Wagle, R., Wu, K.-L., Fleischer, L.: SODA: An optimizing scheduler for large-scale stream-based distributed computer systems. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 306–325. Springer, Heidelberg (2008)CrossRefGoogle Scholar