Computing

, Volume 94, Issue 8–10, pp 701–730 | Cite as

DEPAS: a decentralized probabilistic algorithm for auto-scaling

  • Nicolò M. Calcavecchia
  • Bogdan A. Caprarescu
  • Elisabetta Di Nitto
  • Daniel J. Dubois
  • Dana Petcu
Article

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.

Keywords

Auto-scaling Cloud computing Self-organization 

Mathematics Subject Classification

68M14 68W15 68M20 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amazon elastic compute cloud (amazon ec2). http://aws.amazon.com/ec2/. Accessed 5 Sep 2011
  2. 2.
    Ankoder. http://www.ankoder.com/. Accessed 5 Sep 2011
  3. 3.
    Amazon auto scaling (2011) http://aws.amazon.com/autoscaling/. Accessed 5 Sep 2011
  4. 4.
    Amazon ec2 (2011) http://aws.amazon.com/ec2/. Accessed 5 Sep 2011
  5. 5.
    Adam C, Stadler R (2006) A middleware design for large-scale clusters offering multiple services. IEEE Trans Netw Service Manag 3(1): 1–12CrossRefGoogle Scholar
  6. 6.
    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–362MATHCrossRefGoogle Scholar
  7. 7.
    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–58CrossRefGoogle Scholar
  8. 8.
    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–20Google Scholar
  9. 9.
    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 YorkMATHCrossRefGoogle Scholar
  10. 10.
    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–443Google Scholar
  11. 11.
    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–31Google Scholar
  12. 12.
    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–131Google Scholar
  13. 13.
    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–345Google Scholar
  14. 14.
    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:8Google Scholar
  15. 15.
    Drools (2011) http://www.jboss.org/drools/. Accessed 5 Sep 2011
  16. 16.
    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–91Google Scholar
  17. 17.
    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–234Google Scholar
  18. 18.
    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:9Google Scholar
  19. 19.
    Garlan D, Cheng S-W, Huang A-C, Schmerl B, Steenkiste P (2004) Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37: 46–54CrossRefGoogle Scholar
  20. 20.
    Ghanbari H, Simmons B, Litoiu M, Iszlai G (2012) Feedback-based optimization of a private cloud. Future Generation Comput Syst 28(1): 104–111CrossRefGoogle Scholar
  21. 21.
    Google developer products help whitehouse.gov connect with America. http://googlecode.blogspot.com/2009/04/google-developer-products-help.html. Accessed 5 Sep 2011
  22. 22.
    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–879CrossRefGoogle Scholar
  23. 23.
    Jelasity M, Voulgaris S, Guerraoui R, Kermarrec A-M, van Steen M (2007) Gossip-based peer sampling. ACM Trans Comput Syst 25(3): 1–36CrossRefGoogle Scholar
  24. 24.
    Keahey K, Tsugawa M, Matsunaga A, Fortes J (2009) Sky computing. Internet Comput IEEE 13(5): 43–51CrossRefGoogle Scholar
  25. 25.
    Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36: 41–50CrossRefGoogle Scholar
  26. 26.
    Kephart JO, Walsh WE (2004) An artificial intelligence perspective on autonomic computing policies. In: POLICY, pp 3–12Google Scholar
  27. 27.
    Leads O (2011) Opennebula: the open source toolkit for cloud computing. http://opennebula.org/. Accessed 5 Sep 2011
  28. 28.
    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
  29. 29.
    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–22Google Scholar
  30. 30.
    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 CompanyGoogle Scholar
  31. 31.
    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. IEEEGoogle Scholar
  32. 32.
    Nimbus project. http://www.nimbusproject.org/. Accessed 5 Sep 2011
  33. 33.
    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–131Google Scholar
  34. 34.
    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–411Google Scholar
  35. 35.
    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–556Google Scholar
  36. 36.
    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–217Google Scholar
  37. 37.
    Rightscale. http://www.rightscale.com/. Accessed 5 Sep 2011
  38. 38.
    Scalarium. http://www.scalarium.com/. Accessed 5 Sep 2011
  39. 39.
    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–570Google Scholar
  40. 40.
    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–594Google Scholar
  41. 41.
    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–48Google Scholar
  42. 42.
    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–8Google Scholar
  43. 43.
    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–580Google Scholar
  44. 44.
    Zencoder. http://zencoder.com/. Accessed 5 Sep 2011
  45. 45.
    Zhu J, Jiang Z, Xiao Z (2011) Twinkle: a fast resource provisioning mechanism for internet services. In: IEEE INFOCOM 2011, April 2011, pp 802–810Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Nicolò M. Calcavecchia
    • 1
  • Bogdan A. Caprarescu
    • 2
  • Elisabetta Di Nitto
    • 1
  • Daniel J. Dubois
    • 1
  • Dana Petcu
    • 2
  1. 1.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanItaly
  2. 2.IeAT, Faculty of Mathematics and Computer ScienceWest University of TimisoaraTimisoaraRomania

Personalised recommendations