Abstract
Software aging is a complex phenomenon that manifests itself in software-based applications and platforms as steady performance and resource deterioration. Previous research has made substantial progress in modeling, assessment, and experimental studies of software aging phenomena in software systems such as virtualized server systems, but has not taken into account software platforms in a platform as a service (PaaS), such as Docker. The Docker platform, which is used to run OS-level virtualization-based containers, is prone to software aging in all cases, necessitating more research. This paper presents a thorough investigation into software aging and rejuvenation, as well as behavior prediction on Docker platform. For 30 days, a collection of software aging experiments was executed continuously to explore the accumulation and variation of aging-related problems on different hardware configurations. Furthermore, in software aging and software rejuvenation studies, the Stress-Wait-Rejuvenation (SWARE) approach is used to detect aging signs and examine the efficiency of software rejuvenation strategies in a single trial. We can integrate the software platform’s resource usage under the workload in this way. Even after the stressful workload is stopped, the resource consumption remains significant, according to the findings. Experiments show that the Docker platform has had serious aging issues since its early phases of implementation. However, rejuvenation approaches, such as just rebooting the operating system, can drastically cut down on resource utilization. For predicting aging phenomena in the chosen Docker platform and comparing aging prediction models, the experimental data are gathered and supplied to different data prediction models based on time series and a long short-term memory (LSTM) machine-learning algorithm. The prediction results show that the LSTM model beats the other examined models in terms of aging forecast accuracy. The findings of this study can aid in the management and maintenance of Docker-based PaaS systems by taking into account the effects of software aging and using appropriate software rejuvenation strategies in Docker platforms.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig3_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig4_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig5_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig6_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig7_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig8_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig9_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig10_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig11_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig12_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig13_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig14_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig15_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig16_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11227-022-04389-4/MediaObjects/11227_2022_4389_Fig17_HTML.png)
Similar content being viewed by others
Notes
References
Grottke M, Matias R, Trivedi KS (2008) The fundamentals of software aging. In: 2008 IEEE International Conference on Software Reliability Engineering Workshops (ISSRE Wksp), IEEE, pp 1–6
Liu J, Tan X, Wang Y (2019) Cssap: software aging prediction for cloud services based on arima-lstm hybrid model. In: 2019 IEEE International Conference on Web Services (ICWS), IEEE, pp 283–290
Liu J, Meng L (2019) Integrating artificial bee colony algorithm and BP neural network for software aging prediction in IOT environment. IEEE Access 7:32941–32948
Grottke M, Li L, Vaidyanathan K, Trivedi KS (2006) Analysis of software aging in a web server. IEEE Trans Reliab 55(3):411–420
Cotroneo D, Natella R, Pietrantuono R, Russo S (2010) Software aging analysis of the linux operating system. In: 2010 IEEE 21st International Symposium on Software Reliability Engineering, IEEE, pp 71–80
Carrozza G, Cotroneo D, Natella R, Pecchia A, Russo S (2010) Memory leak analysis of mission-critical middleware. J Syst Softw 83(9):1556–1567
Huang Y, Kintala C, Kolettis N, Fulton ND (1995) Software rejuvenation: analysis, module and applications. In: Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers, IEEE, pp 381–390
Polinsky I, Martin K, Enck W, Reiter MK (2020) nm-variant systems: adversarial-resistant software rejuvenation for cloud-based web applications. In: Proceedings of the Tenth ACM Conference on Data and Application Security and Privacy, pp 235–246
Nguyen TA, Kim DS, Park JS (2014) A comprehensive availability modeling and analysis of a virtualized servers system using stochastic reward nets. Sci World J 1–18:2014
Levitin G, Xing L, Huang H-Z (2019) Optimization of partial software rejuvenation policy. Reliab Eng Syst Saf 188:289–296
Bai J, Chang X, Machida F, Trivedi KS, Han Z (2020) Analyzing software rejuvenation techniques in a virtualized system: service provider and user views. IEEE Access 8:6448–6459
Araujo J, Matos R, Maciel P, Vieira F, Matias R, Trivedi KS (2011) Software rejuvenation in eucalyptus cloud computing infrastructure: A method based on time series forecasting and multiple thresholds. In: 2011 IEEE Third International Workshop on Software Aging and Rejuvenation, IEEE, pp 38–43
Chen X-E, Quan Q, Jia Y-F, Cai K-Y (2006) A threshold autoregressive model for software aging. In: 2006 Second IEEE International Symposium on Service-Oriented System Engineering (SOSE’06), IEEE, pp 34–40
Gillani K, Lee J-H (2020) Comparison of linux virtual machines and containers for a service migration in 5g multi-access edge computing. ICT Express 6(1):1–2
Torquato M, Vieira M (2019) An experimental study of software aging and rejuvenation in dockerd. In: 2019 15th European Dependable Computing Conference (EDCC), IEEE, pp 1–6
Torquato M, Araujo J, Umesh IM, Maciel P (2018) Sware: a methodology for software aging and rejuvenation experiments. J Inf Syst Eng Manag 3(2):15
Avizienis A, Laprie J-C, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput 1(1):11–33
Castelli V, Harper RE, Heidelberger P, Hunter SW, Trivedi KS, Vaidyanathan K, Zeggert WP (2001) Proactive management of software aging. IBM J Res Dev 45(2):311–332
Bayser M de, Cerqueira R (2017) Integrating mpi with docker for hpc. In: 2017 IEEE International Conference on Cloud Engineering (IC2E), IEEE, pp 259–265
Chung MT, Quang-Hung N, Nguyen M-T, Thoai N (2016) Using docker in high performance computing applications. In: 2016 IEEE Sixth International Conference on Communications and Electronics (ICCE), IEEE, pp 52–57
Bernstein D (2014) Containers and cloud: from lxc to docker to kubernetes. IEEE Cloud Comput 1(3):81–84
Shumway RH, Stoffer DS (2017) Time series analysis and its applications: with R examples. Springer, Berlin
Cryer JD, Kellet N (1991) Time series analysis. Springer, Berlin
Anderson TW (2011) The statistical analysis of time series, vol 19. John Wiley and Sons, New Jersey
Pearce DK (1987) Short-term inflation expectations: evidence from a monthly survey: note. J Money Credit Bank 19(3):388–395
Hyndman RJ, Athanasopoulos G (2018) Forecasting: principles and practice. OTexts, vol 5, pp 32–56
Kalekar Prajakta S (2004) Time series forecasting using holt-winters exponential smoothing. Kanwal Rekhi School Inf Technol, vol 4, pp 56–98
Virmani C, Choudhary T, Pillai A, Rani M (2020) Applications of machine learning in cyber security. In: Handbook of Research on Machine and Deep Learning Applications for Cyber Security, IGI Global, pp 83–103
Xie J, Yu FR, Huang T, Xie R, Liu J, Wang C, Liu Y (2018) A survey of machine learning techniques applied to software defined networking (sdn): research issues and challenges. IEEE Commun Surv Tutor 21(1):393–430
Bell J (2020) Machine learning: hands-on for developers and technical professionals. John Wiley and Sons, New Jersey
Sak H, Senior AW, Beaufays F (2014) Long short-term memory recurrent neural network architectures for large scale acoustic modeling, vol 3, pp 23–67
Sainath TN, Vinyals O, Senior A, Sak H (2015) Convolutional, long short-term memory, fully connected deep neural networks. In: 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), IEEE, pp 4580–4584
Malhotra P, Vig L, Shroff G, Agarwal P (2015) Long short term memory networks for anomaly detection in time series. In: Proceedings, Volume 89, Presses Universitaires de Louvain
Cheng J, Dong L, Lapata M (2016) Long short-term memory-networks for machine reading. arXiv preprint arXiv:1601.06733
Yakhchi M, Alonso J, Fazeli M, Bitaraf AA, Patooqhy A (2015) Neural network based approach for time to crash prediction to cope with software aging. J Syst Eng Electron 26(2):407–414
Magalhães JP, Silva LM (2010) Prediction of performance anomalies in web-applications based-on software aging scenarios. In: 2010 IEEE Second International Workshop on Software Aging and Rejuvenation, IEEE, pp 1–7
Araujo J, Matos R, Maciel P, Matias R, Beicker I (2011) Experimental evaluation of software aging effects on the eucalyptus cloud computing infrastructure. In: Proceedings of the Middleware 2011 Industry Track Workshop, pp 1–7
Li L, Vaidyanathan K, Trivedi KS (2002) An approach for estimation of software aging in a web server. In: Proceedings International Symposium on Empirical Software Engineering, IEEE, pp 91–100
Melo C, Araujo J, Alves V, Maciel PRM (2017) Investigation of software aging effects on the openstack cloud computing platform. JSW 12(2):125–137
Meng H, Hei X, Zhang J, Liu J, Sui L (2016) Software aging and rejuvenation in a j2ee application server. Qual Reliab Eng Int 32(1):89–97
Oliveira F, Araujo J, Matos R, Maciel P (2021) Software aging in container-based virtualization: an experimental analysis on docker platform. In: 2021 16th Iberian Conference on Information Systems and Technologies (CISTI), IEEE, pp 1–7
Oliveira F, Araujo J, Matos R, Lins L, Rodrigues A, Maciel P (2020) Experimental evaluation of software aging effects in a container-based virtualization platform. In: 2020 IEEE International Conference on Systems, Man, and Cybernetics (SMC), IEEE, pp 414–419
Pereira P, Araujo J, Matos R, Preguiça N, Maciel P (2018) Software rejuvenation in computer systems: an automatic forecasting approach based on time series. In: 2018 IEEE 37th International Performance Computing and Communications Conference (IPCCC), IEEE, pp 1–8
Cotroneo D, Natella R, Pietrantuono R, Russo S (2014) A survey of software aging and rejuvenation studies. ACM J Emerg Technol Comput Syst (JETC) 10(1):1–34
Acknowledgements
This research was partially funded by the National Council for Scientific and Technological Development—CNPq, Brazil, through the Universal call for tenders (Process 431715/2018-1). This research was partially supported by Basic Science Research Program through the National Research Foundation of Korea(NRF), funded by the Ministry of Education (No. 2020R1A6A1A03046811). This work is supported by the Korea Agency for Infrastructure Technology Advancement(KAIA) grant funded by the Ministry of Land, Infrastructure, and Transport (Grant 20CTAP-C152021-02).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Vinícius, L., Rodrigues, L., Torquato, M. et al. Docker platform aging: a systematic performance evaluation and prediction of resource consumption. J Supercomput 78, 12898–12928 (2022). https://doi.org/10.1007/s11227-022-04389-4
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04389-4