Optimizing web server RAM performance using birth–death process queuing system: scalable memory issue

Abstract

Planning a powerful server imposes an enormous cost for providing ideal performance. Given that a server responding for web requests is more likely to consume RAM memory than other resources, it is desirable to provide an appropriate RAM capacity for optimal performance of server in congested situations. This can be done through RAM usage modeling and its performance evaluation. In the literature, modeling of RAM usage is not provided with mathematical modeling. We propose an approach to model RAM usage of such a server, based on birth–death process in this article. The model can be used to figure out an operation research problem of finding minimum RAM capacity covering intended constraints elicited from birth–death queuing system. We show how optimal RAM capacity can be obtained using our approach with an illustrative example.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Notes

  1. 1.

    Waiting time for tasks requiring a specified amount of processing time.

  2. 2.

    Mean Time To Failure.

  3. 3.

    Mean Time To Repair.

  4. 4.

    In this context, we assume that \(1000\,\hbox {MB}=1\) GB for simplicity.

  5. 5.

    Also by using formula \(\rho =\frac{\lambda }{m \mu }=\frac{r}{m}\) results in \(m=\frac{r}{\rho } = 200\).

References

  1. 1.

    Arora RK (2015) Optimization: algorithms and applications. Taylor & Francis Group, Boca Raton. doi:10.1201/b18469-8

    Google Scholar 

  2. 2.

    Bajo J, De la Prieta F, Corchado JM, Rodríguez S (2016) A low-level resource allocation in an agent-based cloud computing platform. Appl Soft Comput 48:716–728. doi:10.1016/j.asoc.2016.05.056

    Article  Google Scholar 

  3. 3.

    Begain K, Bolch G, Herold H (2012) Practical performance modeling: application of the MOSEL language. The Springer international series in engineering and computer science. Springer, New York

    Google Scholar 

  4. 4.

    Bolch G, Greiner S, de Meer H, Trivedi KS (2006) Queueing networks and Markov chains, 2nd edn. Wiley, Hoboken, NJ

    Google Scholar 

  5. 5.

    Booch G, Rumbaugh J, Jacobson I (2005) Unified modeling language user guide. The Addison-Wesley object technology series. Addison-Wesley Professional, Boston

    Google Scholar 

  6. 6.

    Castro PH, Barreto VL, Corrêa SL, Granville LZ, Cardoso KV (2016) A joint CPU-RAM energy efficient and SLA-compliant approach for cloud data centers. Comput Netw 94:1–13. doi:10.1016/j.comnet.2015.11.026

    Article  Google Scholar 

  7. 7.

    Farokhi S, Jamshidi P, Bayuh Lakew E, Brandic I, Elmroth E (2016) A hybrid cloud controller for vertical memory elasticity: a control-theoretic approach. Future Gener Comput Syst 65:57–72. doi:10.1016/j.future.2016.05.028

    Article  Google Scholar 

  8. 8.

    Gokhale SS, Trivedi KS (2006) Analytical models for architecture-based software reliability prediction: a unification framework. IEEE Trans Reliab 55(4):578–590. doi:10.1109/TR.2006.884587

    Article  Google Scholar 

  9. 9.

    Gross D, Shortle J, Thompson F, Harris C (2008) Fundamentals of queueing theory, 4th edn. Wiley, New York, NY. doi:10.1017/CBO9781107415324.004

    Google Scholar 

  10. 10.

    Hagihara S, Fushihara Y, Shimakawa M, Tomoishi M, Yonezaki N (2017) Web server access trend analysis based on the Poisson distribution. In: Proceedings of the 6th International Conference on Software and Computer Applications, ICSCA ’17, pp 256–261. ACM, New York, NY. doi:10.1145/3056662.3056701

  11. 11.

    Halfin S, Whitt W (1981) Heavy-traffic limits for queues with many exponential servers. Oper Res 29(3):567–588. doi:10.1287/opre.29.3.567

    Article  MATH  MathSciNet  Google Scholar 

  12. 12.

    Happe J, Becker S, Rathfelder C, Friedrich H, Reussner RH (2010) Parametric performance completions for model-driven performance prediction. Perform Eval 67(8):694–716

    Article  Google Scholar 

  13. 13.

    Harchol-Balter M (2013) Performance modeling and design of computer systems: queueing theory in action, 1st edn. Cambridge University Press, New York, NY

    Google Scholar 

  14. 14.

    Haverkort BR (2001) Markovian models for performance and dependability evaluation. Springer, Berlin. doi:10.1007/3-540-44667-2_2

    Google Scholar 

  15. 15.

    Hu Y, Nanda A, Yang Q (1999) Measurement, analysis and performance improvement of the Apache web server. In: Performance, Computing and... (November 1996), pp 1–18

  16. 16.

    Kant K, Srinivasan MM (1992) Introduction to computer system performance evaluation. McGraw-Hill computer science series. McGraw-Hill, New York City

    Google Scholar 

  17. 17.

    Liebowitz M, Kusek C, Spies R (2014) VMware VSphere performance: designing CPU, memory, storage, and networking for performance-intensive workloads. Wiley, Indianapolis, IN

    Google Scholar 

  18. 18.

    Lingo Systems (2016) LINDO software for integer programming, linear programming, nonlinear programming, stochastic programming, global optimization. http://www.lindo.com

  19. 19.

    Little JDC (2011) OR FORUM—Little’s law as viewed on its 50th anniversary. Oper Res 59(3):536–549. doi:10.1287/opre.1110.0940

    Article  MATH  MathSciNet  Google Scholar 

  20. 20.

    Little JDC, Graves SC (2008) Little’s law. In: Chhajed D, Lowe TJ (eds) Building intuition: insights from basic operations management models and principles, 1st edn. Springer, New York, pp 81–100. doi:10.1007/978-0-387-73699-0

    Google Scholar 

  21. 21.

    Liu HH (2009) Software performance and scalability: a quantitative approach. Wiley, Hoboken. doi:10.1002/9780470465394

    Google Scholar 

  22. 22.

    Mo J (2010) Performance modeling of communication networks with Markov chains, vol 3. Morgan & Claypool, San Rafael. doi:10.2200/S00269ED1V01Y201004CNT005

    Google Scholar 

  23. 23.

    Sahner RA, Trivedi K, Puliafito A (2012) Performance and reliability analysis of computer systems: an example-based approach using the SHARPE software package. Springer, Berlin

    Google Scholar 

  24. 24.

    Sharma VS, Trivedi KS (2007) Quantifying software performance, reliability and security: an architecture-based approach. J Syst Softw 80(4):493–509

    Article  Google Scholar 

  25. 25.

    Smith CU, Williams LG (2003) Software performance engineering. Springer, Boston, MA. doi:10.1007/0-306-48738-1_16

    Google Scholar 

  26. 26.

    Thompson J, Gross D, Shortle J, Harris CH (2008) Queueing theory software plus toolbox 3.0. ftp://ftp.wiley.com/sci_tech_med/queueing_theory/qtsplus-xcel.exe

  27. 27.

    Vakilinia S, Ali MM, Qiu D (2015) Modeling of the resource allocation in cloud computing centers. Comput Netw 91:453–470. doi:10.1016/j.comnet.2015.08.030

    Article  Google Scholar 

  28. 28.

    Vidgen R, Avison D, Wood B, Wood-Harper T (2002) Developing web information systems: from strategy to implementation. Butterworth-Heinemann information systems. Elsevier, Amsterdam

    Google Scholar 

  29. 29.

    Whitt W (2007) What you should know about queueing models to set staffing requirements in service systems. Nav Res Logist 54(5):476–484. doi:10.1002/nav.20243

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Zolfaghar Salmanian.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Salmanian, Z., Izadkhah, H. & Isazadeh, A. Optimizing web server RAM performance using birth–death process queuing system: scalable memory issue. J Supercomput 73, 5221–5238 (2017). https://doi.org/10.1007/s11227-017-2081-z

Download citation

Keywords

  • RAM provisioning quantification
  • Server RAM performance evaluation
  • RAM capacity management
  • Continuous-time Markov chain
  • Birth–death process
  • Integer programming