Based Software Rejuvenation Using Dynamic Fault Trees
Total Page:16
File Type:pdf, Size:1020Kb
University of Massachusetts Dartmouth Department of Computer and Information Science SOFTWARE RELIABILITY MODELS FOR CLOUD- BASED SOFTWARE REJUVENATION USING DYNAMIC FAULT TREES A Dissertation in Engineering and Applied Sciences by Jean F. Rahme Submitted in the Partial Fulfillment of the Requirements for the Degree of Doctor of Computer Science and Information Science December 2017 I grant the University of Massachusetts Dartmouth the non-exclusive right to use the work for the purpose of making single copies of the work available to the public on a not-for-profit basis if the University’s circulating copy is lost or destroyed. ____________________________________ Jean F. Rahme Date________________________________ We approve the dissertation of Jean F. Rahme Date of Signature ________________________________ ____________________ Haiping Xu Associate Professor, Department of Computer and Information Science Dissertation Advisor ________________________________ ____________________ Ramprasad Balasubramanian Professor, Department of Computer and Information Science Dean, College of Engineering Dissertation Committee ________________________________ ____________________ Liudong Xing Professor, Department of Electrical and Computer Engineering Dissertation Committee ________________________________ ____________________ Xiaoqin Zhang Associate Professor, Department of Computer and Information Science Dissertation Committee ________________________________ ____________________ Jan Bergandy Professor and Chairperson, Department of Computer and Information Science Dissertation Committee ________________________________ ____________________ Gaurav Khanna Graduate Program Director, Department of Engineering and Applied Sciences ________________________________ ____________________ Tesfay Meressi Associate Provost for Graduate Studies ABSTRACT A trusted cloud-based software system is a highly reliable, available and predictable advanced computing system with guaranteed Quality of Service (QoS). To maintain the high reliability of a cloud-based software system, it is critical to find a feasible solution to counteract the software aging problem, where system performance may be progressively degraded due to exhaustion of system resources, fragmentation and accumulation of errors. In this thesis, we adopt a proactive technique, called software rejuvenation, to enhance the fault tolerance of a cloud-based system equipped with software standby spares. We extend the dynamic fault tree (DFT) formalism with Software SPare (SSP) gates, to model the system reliability before and during a software rejuvenation process in an aging cloud- based software system. A novel analytical approach is presented to derive the reliability function of a cloud-based SSP gate, with either one or two Hot Software Spares (HSS). We verify our approach using Continuous Time Markov Chains (CTMC) for the case of constant failure rate. Then, to extend our approach for non-constant failure rates, we adopt Weibull distribution to model the increasing failure rates for software components with aging issues. We use case studies of a cloud-based software system with multiple HSSs to illustrate the validity of our approach for both the constant and non-constant failure rate cases. Based on the reliability analytical results, we show how software rejuvenation schedules can be created to keep the system reliability consistently staying above predefined critical levels. iii Acknowledgments I would like to announce my deep appreciation and many thanks to my advisor Dr. Haiping Xu, as being an incredible mentor for me. Thank you for all the encouragement, the lessons and standing by my side through my journey as you believed in me and kept pushing me to achieve my doctorate degree. I will never forget all what you have done to me. I would also like to thank my committee members, professor Ramprasad Balasubramanian, professor Jan Bergandy, professor Liudong Xing and professor Xiaoqin (Shelley) Zhang for serving as my committee members even at hardship. Furthermore, I would like also to thank the graduate program director professor Gaurav Khanna for all his support as well. In addition, I would like to take a moment to thank all of you for your great and strong support, that without it, this dissertation would not have been written. Moreover, I would like to thank the computer science department in its chairperson professor Jan Bergandy for giving me the opportunity to help the students by being granted full time teaching assistant position, that is packed with full tuition assistantship, throughout the course of my studies, and by that I got to taste the true meaning of helping the students as stated in the proverb that I used to apply for the PhD. This proverb states “It was in my heart to help a little because I was helped much” belongs to the famous poet, author of “The Prophet” book, Gibran Khalil Gibran (native of my hometown Becharre- Lebanon) where it is grooved on his memorial that is located on Dartmouth Street in the city of Boston - Copley Square. iv And how can I forget not mentioning professor Boleslaw Mikolajczak the previous Chairperson of Computer Science Department, may his soul rest in peace, where he was my first advisor upon my arrival to the University of Massachusetts Dartmouth, as he is the main reason that I got interested in modeling techniques and formal verification when I took with him in my first semester CIS 361 (Models of computation) and upon that I was the top student in CIS 560 with Dr. Xu. A special thanks to my parents who sacrificed a lot to make sure I get the proper education, to both my brother Toufic and Joseph and my Uncle Gaby with all their intellectual and financial help and motivation along my journey, I owe them a lot. I would like to remember my grandmother Therese who passed away in 2016, who always prayed for me to get my projects lined up, I will always mention her in my prayers. Finally I thank both my heavenly father and mother, God in its trinity, The Father, The Son and The Holy Spirit and Saint Mary Mother of God, where without my faith and the gift of patience, I wouldn’t have endured the entire milestones in this journey, and I ask for their blessing and support for the rest of my journey and to employ the gifts that I got equipped with in the right place with Humbleness, Patience, Joy of Giving and above all with Love. v TABLE OF CONTENTS LIST OF FIGURES ......................................................................................................................... v LIST OF TABLES ........................................................................................................................ vii Chapter 1: INTRODUCTION ......................................................................................................... 1 1.1 Motivation and State of Art ............................................................................................... 1 1.2 Problem Statement ............................................................................................................ 3 Chapter 2: RELATED WORK ........................................................................................................ 6 Chapter 3: BACKGROUND KNOWLEDGE ............................................................................... 10 3.1 Introduction to Cloud Computing and Virtualization ..................................................... 10 3.1.1 Cloud Computing ................................................................................................... 10 3.1.2 Virtualiazation ....................................................................................................... 12 3.2 Introduction to Software Bugs, Software Aging and Software Rejuvenation ................. 14 3.2.1 Software Bugs Classification ................................................................................. 14 3.2.2 Software Aging (SA) ............................................................................................. 16 3.2.3 Software Rejuvenation (SR) .................................................................................. 19 3.3 Introduction to Software Reliability Engineering (SRE) ................................................ 20 3.4 Introduction to Fault Trees ............................................................................................. 21 3.4.1 Static Fault Trees (SFT) ......................................................................................... 21 3.4.2 Dynamic Fault Trees (DFT) .................................................................................. 22 Chapter 4: REJUVENATION OF CLOUD-BASED COMPONENTS ..................................... 24 Chapter 5: MODEL WITH CONSTANT FAILURE RATE AND ONE HOT SPARE ............... 28 5.1 Modeling and Analysis .................................................................................................... 28 vi 5.1.1 Software Spare (SSP) Gate with One Hot Software Spare (1-HSS)...................... 28 5.1.2 Verification Using CTMC .................................................................................... 33 5.1.3 Modeling and Analysis Using DFT in Two Phases .............................................. 37 5.2 Case Study 1 : Constant Failure Rate with One Hot Software Spare (1-HSS) ............... 39 Chapter 6: MODEL WITH CONSTANT FAILURE RATE AND TWO HOT SPARES ........... 48 6.1 Modeling and Analysis ...................................................................................................