Abstract
The dynamic provisioning of virtualized resources offered by cloud computing infrastructures allows applications deployed in a cloud environment to automatically increase and decrease the amount of used resources. This capability is called auto-scaling and its main purpose is to automatically adjust the scale of the system that is running the application to satisfy the varying workload with minimum resource utilization. The need for auto-scaling is particularly important during workload peaks, in which applications may need to scale up to extremely large-scale systems. Both the research community and the main cloud providers have already developed auto-scaling solutions. However, most research solutions are centralized and not suitable for managing large-scale systems, moreover cloud providers’ solutions are bound to the limitations of a specific provider in terms of resource prices, availability, reliability, and connectivity. In this paper we propose DEPAS, a decentralized probabilistic auto-scaling algorithm integrated into a P2P architecture that is cloud provider independent, thus allowing the auto-scaling of services over multiple cloud infrastructures at the same time. Our experiments (simulations and real deployments), which are based on real service traces, show that our approach is capable of: (i) keeping the overall utilization of all the instantiated cloud resources in a target range, (ii) maintaining service response times close to the ones obtained using optimal centralized auto-scaling approaches.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Amazon elastic compute cloud (amazon ec2). http://aws.amazon.com/ec2/. Accessed 5 Sep 2011
Ankoder. http://www.ankoder.com/. Accessed 5 Sep 2011
Amazon auto scaling (2011) http://aws.amazon.com/autoscaling/. Accessed 5 Sep 2011
Amazon ec2 (2011) http://aws.amazon.com/ec2/. Accessed 5 Sep 2011
Adam C, Stadler R (2006) A middleware design for large-scale clusters offering multiple services. IEEE Trans Netw Service Manag 3(1): 1–12
Almeida J, Almeida V, Ardagna D, Cunha I, Francalanci C, Trubian M (2010) Joint admission control and resource allocation in virtualized servers. J Parallel Distrib Comput 70: 344–362
Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A, Stoica I, Zaharia M (2010) A view of cloud computing. Commun ACM 53: 50–58
Baresi L, Guinea S (2011) A3: self-adaptation capabilities through groups and coordination. In: Proceedings of the 4th India software engineering conference, ISEC ’11, New York. ACM, pp 11–20
Bolch G, Greiner S, de Meer H, Trivedi KS (1998) Queueing networks and Markov chains: modeling and performance evaluation with computer science applications. Wiley-Interscience, New York
Bonvin N, Papaioannou TG, Aberer K (2011) Autonomic sla-driven provisioning for cloud applications. In: Proceedings of the 2011 11th IEEE/ACM international symposium on cluster, cloud and grid computing, pp 434–443
Buyya R, Ranjan R, Calheiros R (2010) Intercloud: utility-oriented federation of cloud computing environments for scaling of application services. In: Algorithms and architectures for parallel processing, pp 13–31
Caprarescu BA, Petcu D (2009) A self-organizing feedback loop for autonomic computing. In: Proceedings of the 2009 computation world: future computing, service computation, cognitive, adaptive, content, patterns, COMPUTATIONWORLD ’09, Washington, DC, USA. IEEE Computer Society, pp 126–131
Celesti A, Tusa F, Villari M, Puliafito A (2010) How to enhance cloud architectures to enable cross-federation. In: Proceedings of the 2010 IEEE 3rd international conference on cloud computing, CLOUD ’10, Washington, DC, USA. IEEE Computer Society, pp 337–345
Di Nitto E, Dubois DJ, Mirandola R, Saffre F, Tateson R (2008) Applying self-aggregation to load balancing: experimental results. In: Proceedings of the 3rd international conference on bio-inspired models of network, information and computing sytems, BIONETICS ’08. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), pp 14:1–14:8
Drools (2011) http://www.jboss.org/drools/. Accessed 5 Sep 2011
Fox A, Gribble SD, Chawathe Y, Brewer EA, Gauthier P (1997) Cluster-based scalable network services. In: Proceedings of the sixteenth ACM symposium on operating systems principles, SOSP ’97, New York, NY, USA. ACM, pp 78–91
Frincu ME, Villegas NM, Petcu D, Muller HA, Rouvoy R (2011) Self-healing distributed scheduling platform. In: Proceedings of the 2011 11th IEEE/ACM international symposium on cluster, cloud and grid computing, CCGRID ’11, Washington, DC, USA. IEEE Computer Society, pp 225–234
Galuba W, Aberer K, Despotovic Z, Kellerer W (2009) Protopeer: a p2p toolkit bridging the gap between simulation and live deployment. In: Proceedings of the 2nd international conference on simulation tools and techniques, Simutools ’09. ICST, Brussels, pp 60:1–60:9
Garlan D, Cheng S-W, Huang A-C, Schmerl B, Steenkiste P (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37: 46–54
Ghanbari H, Simmons B, Litoiu M, Iszlai G (2012) Feedback-based optimization of a private cloud. Future Generation Comput Syst 28(1): 104–111
Google developer products help whitehouse.gov connect with America. http://googlecode.blogspot.com/2009/04/google-developer-products-help.html. Accessed 5 Sep 2011
Iqbal W, Dailey MN, Carrera D, Janecek P (2011) Adaptive resource provisioning for read intensive multi-tier applications in the cloud. Future Generation Comput Syst 27(6): 871–879
Jelasity M, Voulgaris S, Guerraoui R, Kermarrec A-M, van Steen M (2007) Gossip-based peer sampling. ACM Trans Comput Syst 25(3): 1–36
Keahey K, Tsugawa M, Matsunaga A, Fortes J (2009) Sky computing. Internet Comput IEEE 13(5): 43–51
Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36: 41–50
Kephart JO, Walsh WE (2004) An artificial intelligence perspective on autonomic computing policies. In: POLICY, pp 3–12
Leads O (2011) Opennebula: the open source toolkit for cloud computing. http://opennebula.org/. Accessed 5 Sep 2011
Major amazon outage ripples across web (2011) http://www.datacenterknowledge.com/archives/2011/04/21/major-amazon-outage-ripples-across-web/. Accessed 7 Aug 2011
Meng S, Liu L, Soundararajan V (2010) Tide: achieving self-scaling in virtualized datacenter management middleware. In: Proceedings of the 11th International Middleware conference industrial track, Middleware Industrial Track ’10, New York, NY, USA. ACM, pp 17–22
Milojicic DS, Kalogeraki V, Lukose R, Nagaraja1 K, Pruyne J, Richard B, Rollins S, Xu Z (2002) Peer-to-peer computing. Technical report, Hewlett-Packard Company
Montresor A, Zandonati R (2008) Absolute slicing in peer-to-peer systems. In: Proceedings of the 5th international workshop on hot topics in peer-to-peer systems (HotP2P’08), Miami, FL, USA, April 2008. IEEE
Nimbus project. http://www.nimbusproject.org/. Accessed 5 Sep 2011
Nurmi D, Wolski R, Grzegorczyk C, Obertelli G, Soman S, Youseff L, Zagorodnov D (2009) The eucalyptus open-source cloud-computing system. In: Proceedings of the 2009 9th IEEE/ACM international symposium on cluster computing and the grid. IEEE Computer Society, pp 124–131
Petcu D, Crǎciun C, Neagul M, Rak M, Lazcanotegui I (2011) Building an interoperability API for sky computing. In: Proceedings of 2011 international conference on high performance computing and simulation (HPCS). IEEE Computer Press, pp 405–411
Randles M, Lamb D, Taleb-Bendiab A (2010) A comparative study into distributed load balancing algorithms for cloud computing. In: IEEE 24th international conference on advanced information networking and applications workshops (WAINA) April 2010, pp 551–556
Ranjan R, Zhao L, Wu X, Liu A, Quiroz A, Parashar M (2010) Peer-to-peer cloud provisioning: service discovery and load-balancing. In: Antonopoulos N, Gillam L (eds) Cloud computing. Computer communications and networks. Springer, London, pp 195–217
Rightscale. http://www.rightscale.com/. Accessed 5 Sep 2011
Scalarium. http://www.scalarium.com/. Accessed 5 Sep 2011
Sharma U, Shenoy P, Sahu S, Shaikh A (2011) A cost-aware elasticity provisioning system for the cloud. In: Proceedings of the 2011 31st international conference on distributed computing systems, ICDCS ’11, Washington, DC, USA. IEEE Computer Society, pp 559–570
Venticinque S, Aversa R, Di Martino B, Rak M, Petcu D (2011) A cloud agency for sla negotiation and management. In: Proceedings of the 2010 conference on parallel processing, Euro-Par 2010, Berlin, Heidelberg. Springer, pp 587–594
Weyns D, Haesevoets R, Van Eylen B, Helleboogh A, Holvoet T, Joosen W (2008) Endogenous versus exogenous self-management. In: Proceedings of the 2008 international workshop on software engineering for adaptive and self-managing systems, SEAMS ’08, New York, NY, USA. ACM, pp 41–48
Wuhib F, Stadler R, Spreitzer M (2010) Gossip-based resource management for cloud environments. In: Proceedings of the 2010 international conference on network and service management (CNSM), pp 1–8
Xiong P, Wang Z, Malkowski S, Wang Q, Jayasinghe D, Pu C (2011) Economical and robust provisioning of n-tier cloud workloads: a multi-level control approach. In: Proceedings of the 2011 31st international conference on distributed computing systems, ICDCS ’11, Washington, DC, USA. IEEE Computer Society, pp 571–580
Zencoder. http://zencoder.com/. Accessed 5 Sep 2011
Zhu J, Jiang Z, Xiao Z (2011) Twinkle: a fast resource provisioning mechanism for internet services. In: IEEE INFOCOM 2011, April 2011, pp 802–810
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Calcavecchia, N.M., Caprarescu, B.A., Di Nitto, E. et al. DEPAS: a decentralized probabilistic algorithm for auto-scaling. Computing 94, 701–730 (2012). https://doi.org/10.1007/s00607-012-0198-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-012-0198-8