Skip to main content
Log in

A predictive framework for load balancing clustered web servers

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Self-adaptation is the mechanism that is used automatically by some clustered web servers for resolving issues such as server bottleneck and overload. Such mechanisms are usually reactive meaning that they will be used when some issue occurs. However, taking an adaptation mechanism after arising a bottleneck or overload may be late and can cause some problems. Such problems could be resolved if we are able to predict future behavior of servers. To this end, based on our previous experiences, we presented a framework by which an adaptation strategy is selected based on a learning-based predictive method. Through the prediction, we are provided with a number of decision-making parameters for adaptation strategy selection. To show the effectiveness of our framework, we applied it for design and implementation of a differentiated cluster-based web server system and showed results. In such systems, each cluster is considered to serve a specific service. By comparison of simulation results between our predictive method and the reactive one, we found: (1) increase of the number of replied requests by servers, (2) decrease of average response time, and (3) increase of resource utilization of the system twofold to threefold.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Anaya IDP et al (2014) A prediction-driven adaptation approach for self-adaptive sensor networks. In: The 9th ACM international symposium on software engineering for adaptive and self-managing systems, pp 145–154

  2. Babamir SM, Hassanzade E, Azimpour M (2015) Predicting potential deadlocks in multithreaded programs, concurrency & computation, practice & experience, Wiley, 27(17):5261–5287

  3. Cámara J et al (2013) Evolving an adaptive industrial software system to use architecture-based self-adaptation. In: The 8th international symposium on software engineering for adaptive and self-managing systems

  4. Cámara J et al (2014) Empirical resilience evaluation of an architecture-based self-adaptive software system. In: The 10th international ACM sigsoft conference on the quality of software architectures. ACM SIGSOFT QoSA Distinguished Paper Award, France, Lille

  5. Cámara J et al (2014) Impact models for architecture-based self-adaptive systems. In: The 11th international symposium on formal aspects of component software (FACS2014), Bertinoro, Italy

  6. Garlan D (2013) A 10-year perspective on software engineering self-adaptive systems (keynote). In: The 8th international symposium on software engineering for adaptive and self-managing systems. IEEE Press, pp 2–2

  7. Garlan D, Schmerl B (2006) Architecture-driven modelling and analysis. In: The 11th Australian workshop on safety related programmable systems, 69:3–17

  8. Sheikhi S, Babamir SM (2012) A novel model-based slicing approach for adaptive softwares. In: The 3rd international conference on contemporary issues in computer and information sciences, pp 195–199

  9. Lember J, Koloydenko AA (2014) Bridging Viterbi and posterior decoding: a generalized risk approach to hidden path inference based on hidden markov models. J Mach Learn Res 15:1–58

    MathSciNet  MATH  Google Scholar 

  10. Cheng SW, Garlan D, Schmerl B (2006) Architecture-based self-adaptation in the presence of multiple objectives. In: The international workshop on self-adaptation and self-managing systems, Shanghai, China, pp 2–8

  11. Garalan D (2009) Rainbow: engineering support for self-healing systems: invited talk. In: The XXIII Brazilian symposium on software engineering

  12. Poladian V et al (2007) Leveraging resource prediction for anticipatory dynamic configuration. In: The 1st international conference on self-adaptive and self-organizing Systems, pp 214–223

  13. Cheng SW, Poladian VV, Garlan D, Schmerl B (2009) Improving architecture-based self-adaptation through resource prediction. In: Betty HC et al (eds) Software engineering for self-adaptive systems. Springer, Berlin, pp 71–88

    Chapter  Google Scholar 

  14. Herbst NR, Huber N, Kounev S, Amrehn E (2013) Self-adaptive workload classification and forecasting for proactive resource provisioning. In: The ACM/SPEC international conference on performance engineering (ICPE), pp 187–198

  15. Sharifiana S, Motamedia SA, Akbarib MK (2011) A predictive and probabilistic load-balancing algorithm for cluster-based web servers. Appl Soft Comput 11(1):970–981

    Article  Google Scholar 

  16. Angelopoulos1 K, Souza VES, Pimentel J (2013) Requirements and architectural approaches to adaptive software systems: a comparative study. In: The 8th ICSE workshop on software engineering for adaptive and self-managing systems, pp 23–32

  17. Tallabaci G, Souza VES (2013) Engineering adaptation with Zanshin: an experience report. In: The 8th international symposium on software engineering for adaptive and self-managing systems, IEEE Press, pp 93–102

  18. Cheng SW, Garlan D (2012) Stitch: a language for architecture-based self-adaptation. J Syst and Softw, Special Issue on State of the Art in Self-Adaptive Systems. vol 85, no (12), Elsevier, pp 2860–2875

  19. Jachan M (2012) Time-frequency-autoregressive-moving-average modeling, AV Akademikerverlag, publication

  20. Franke J (2012) Markov switching time series models. In: Rao TS et al (eds) Chapter 5 of handbook of statistics, time series analysis: methods and applications. Elsevier, New York

    Google Scholar 

  21. Cappé O, Moulines E, Ryden T (2005) Inference in hidden markov models, Springer series in statistics

  22. Rezaei V, Pezeshk H, Pérez-Sa’nchez H (2013) Generalized Baum–Welch algorithm based on the similarity between sequences. PLoS One 8(12):e80565. doi:10.1371/journal.pone.0080565

    Article  Google Scholar 

  23. Jha GK, Sinha K (2014) Load balancing technique to improve QoS for lightpath establishment in optical WDM networks. J Theor Appl Inf Technol 68(2):255–264

    Google Scholar 

  24. Marques C, Ilarri S, Barroso GC (2009) DARC: A dynamic architecture for reconfiguration of web servers clusters using multiagent systems. In: The 5th international conference on networking and services, pp 169–174

  25. Serra DGA, Barroso G, Ramos R, Boudy J (2005) Assuring QoS diferentiationand load balancing on web servers clusters. In: The international conference on control aplications, pp 885–890

  26. Olejnik R, Bouchi A, Toursel B (2002) An object observation for a java adaptative distributed application platform. In: International conference on parallel computing in electrical engineering, pp 171–176

  27. http://www.cs.cmu.edu/~./acme/AcmeStudio/index.html. Accessed 4 Feb 2009

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyed Morteza Babamir.

Appendices

Appendix 1

Architectural desription of element types of web server cluster in ACME language

figure a

Appendix 2

High-level specification of an instantiation of a part of actual elements of web server cluster

figure b

Appendix 3

Adaptation strategies in the Stitch high-level language

figure c

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sheikhi, S., Babamir, S.M. A predictive framework for load balancing clustered web servers. J Supercomput 72, 588–611 (2016). https://doi.org/10.1007/s11227-015-1584-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-015-1584-8

Keywords

Navigation