QoS prediction for dynamic reconfiguration of component based software systems

https://doi.org/10.1016/j.jss.2014.12.001Get rights and content

Highlights

  • First mathematical model to predict QoS impacts of dynamic reconfiguration on running software systems.

  • QoS impact formulation is based on abstract hardware and software conditions.

  • QoS prediction fits for multi-core CPU and varying workload environments.

  • A prediction case study of the QoS impacts of existing dynamic reconfiguration approaches.

  • Verification of the prediction results by simulation of the same reconfiguration scenario on DynaQoS platform.

Abstract

It is difficult to choose the appropriate reconfiguration approach to satisfy the quality of service (QoS) requirements of a software system if the properties of that approach are not known. This problem significantly restricts the application of dynamic reconfiguration approaches to mission-critical or non-stop systems, where QoS is a major performance indicator. This paper proposes a model to predict how the QoS of a running software system will be affected by dynamic reconfiguration and show how it out-performed the existing methods in this area in three aspects. First, unlike existing simulation based models, this prediction model was based on easily implemented mathematical functions. Second, compared with the time-consuming simulation approaches, QoS prediction using this model was achieved in a shorter timeframe. Third, unlike the existing approaches that are built on different platforms for individual scenarios, this model generalized QoS prediction onto a single virtual platform that was modeled by abstract hardware and software conditions. The proposed model has been verified by reconfiguration simulation to a reasonable level of accuracy and thus the viability and safety for the use of the model has been confirmed.

Introduction

Dynamic reconfiguration (DR) was an area firstly studied to support dynamic property which was to change a system's functionality and/or component deployment at runtime (Kramer and Magee, 1990). This property allowed a running system under reconfiguration (RSUR) to respond to the end users’ requests and to reflect better availability than that of a static reconfiguration. Multiple dynamic approaches (Ajmani, Liskov and Shrira, 2006, Almeida et al., 2004, Arshad, Heimbigner and Wolf, 2003, Bidan et al., 1998, Dowling and Cahill, 2001a,Dowling and Cahill, 2001b, Hillman and Warren, 2004a,Hillman and Warren, 2004b, Janssens, 2006, Janssens et al., 2007, Kim and Bohner, 2008, Leger, Ledoux and Coupaye, 2010, Moser, Melliar-Smith and Tewksbury, 2002, Palma, Laumay and Bellissard, 2001, Rasche and Polze, 2008a, Surajbali, Grace and Coulson, 2010, Truyen et al., 2008, Warren et al., 2006) have been proposed in literature to support dynamic property without losing application state consistency. In recent years, however, researchers began to suspect that dynamic property also brought negative impacts on the QoS of a RSUR. Vandewoude et al. (2007) re-investigated a classical dynamic approach: Quiescence from Kramer and Magee (1990). They concluded that Quiescence could result in significant disruption to the application being updated and that the negative impacts of dynamic reconfiguration on the QoS of a RSUS were too significant to be simply ignored.

Focusing on QoS assurance for dynamic reconfiguration of component-based systems, our previous work (Li, 2011, 2012) redefined QoS characteristics, classified the existing approaches by their capability to assure the QoS characteristics and realized these approaches onto DynaQoS, which was our software experimental platform, to be able to realize/represent a dynamic approach by plug-in components and to demonstrate the QoS capacity of the approach. As a flexible and open framework, DynaQoS separates a reconfiguration algorithm (termed as a strategy, the combination of a planner and a scheduler) from the underlying reconfiguration framework and supports the integration of different reconfiguration strategies. In order to exercise a newer reconfiguration algorithm, one needs to implement a newer reconfiguration planner (to control the actual use of reconfiguration operations) and a newer scheduler (to control their execution procedure). In that sense, DynaQoS is flexible for evaluating newer reconfiguration algorithms once these are available.

Against the reconfiguration benchmark data encryption and digital signature system (DEDSS), some of the existing approaches were quantitatively compared in Li (2011, 2012). The important conclusions from this work included: (1) different approaches varied significantly in their QoS assurance capacity; (2) minimization of application disruption was the true benefit from dynamic reconfiguration (otherwise, the poor QoS of a dynamically reconfigured system had no significant advantage over the unavailability of a statically reconfigured system); and (3) the classified QoS characteristics could be fully achieved under some acceptable constraints.

However, the gap between the promise of dynamic reconfiguration and its applicability remains huge because a good understanding of the QoS assurance capacity of the existing approaches has not yet been achieved. A dynamic reconfiguration may cause impaired QoS of a RSUR, or unpredictable errors in the resulting system if it is applied using an inappropriate approach or applied at an inappropriate time point.

The focus of this paper is to address the following major problems:

  • 1.

    Predicting the QoS impacts on a RSUR from dynamic approaches. It is essential that a prediction is performed in advance before an approach can be safely used to operate a dynamic reconfiguration, particularly for a large-scale and complex system.

  • 2.

    Discovering the time points at which QoS changes are caused by an approach. It is important to identify which approaches violate the given QoS requirements. Identifying technical requirements such as these motivates further research on QoS assurance.

It is important that the QoS is well known and justified before a dynamic approach can be safely applied. Although it is a relatively straightforward exercise to realize a reconfiguration approach and simulate its QoS assurance capacity on a dynamic platform like DynaQoS, previous experimental results with DynaQoS (Li, 2011, 2012) showed that dynamic reconfiguration simulation could be significantly time-consuming since a single simulation could be from 10 to 30 min on DEDSS. Adjusting one parameter means a re-simulation. Therefore, simulation is better used for verification rather than prediction.

This paper will propose a QoS impact model; propose a QoS prediction model; and verify the performance of the model. This study argues that the abstract hardware (single-core or multi-core CPU) and software (multi-threading) conditions on which the prediction model is based are compliant with modern computers or OS. It also argues that independently of whether the models are of linear or non-linear mathematical functions, the prediction of QoS by computing the values of mathematical functions is more efficient than through simulation.

The significance of this paper is to use mathematical computation to predict the QoS of dynamic reconfiguration to a reasonable level of accuracy instead of using time-consuming simulation. However, it is worthy of mention that the applicability of this predication model are the same as that for Li (2012), where QoS assurance strategies were applicable to generic component-based software systems except that stateful components’ migration between physical machines was not supported due to the inapplicability of stateless equivalence strategy to remote reference, which could involve significant communication delay.

This paper is structured as follows: related work of QoS prediction is reviewed from an evolutionary point of view in Section 2. A CPU scheduling model is proposed in Section 3 to represent hardware and software conditions and then a QoS impact model is proposed to reflect how a reconfiguration exercises impacts. In Section 4, using a single-core CPU and feeding with a stable workload, the fundamental QoS prediction model is developed. Section 5 extends this fundamental model to a multi-core CPU environment. Section 6 further extends the multi-core CPU model for varying workload. Section 7 conducts QoS predications for the reconfiguration scenarios of DEDSS on stable workload or varying workload and on a multi-core CPU environment. Section 8 verifies the prediction results by simulating the same reconfigurations on DynaQoS. Section 9 concludes this research, confirming the viability and effectiveness of the proposed prediction model through the correlation between the prediction results and the simulation results.

Section snippets

Related work

The negative impact of dynamic reconfiguration has been recognized as an increasingly important problem in recent research. Evaluation of such impacts has evolved through three stages. In the earliest stage, the most significant foundation work of Kramer and Magee (1990) was on qualitative evaluation only. The goal of this work was to maintain a system operational under a reconfiguration but it had no quantitative evaluation on the negative impacts from such reconfiguration. Some newer outcomes

The QoS impact model and notations

In this section, we have defined the QoS impact model in terms of impact factors and their notations, which were used for the quantitative formulation of QoS impacts upon a RSUR.

The prediction model of QoS impacts

In this section, we developed a prediction model by formulating the QoS impacts on a RSUR measured by throughput and elapsed real time under CPU saturation or non-saturation situations under stable workload (caused by feeding the system with a constant request rate). The formulation was to be developed for the QoS impact reconfiguration operations individually and therefore the QoS impacts from a reconfiguration plan could be computed by adding the impacts of these operations in the plan in

The QoS impact prediction in multi-core CPU environments

In this section, we will extend the QoS impact prediction model that has been developed in Sections 3 and 4 to a multi-core CPU environment. The extension will formulate the QoS impacts from various reconfiguration strategies based on how they could make use of the parallel and concurrent capacity of underlying hardware and software conditions.

The QoS impact model for varying workload

In this prediction model, varying workload refers to the situation that the rates of request that the system receives vary with ongoing time, resulting in the workload of the system to change from time to time. Reviewing the QoS impact formulas in Appendix B, we assumed that to predict the QoS impacts for varying workload, we needed to analyze what workload factors affect QoS, how long the impacts would last for throughput or how many requests would be affected for ERT. This section answers

A case study of QoS impact prediction

In this section, we used benchmark DEDSS and its reconfiguration scenario as a case study to predict the QoS impacts from the reconfiguration strategies (in Section 3.2) under certain system conditions and reconfiguration parameters. First, the prediction of the QoS impact was to parse the strategy and then to apply related formulas (1)–(25) to construct a QoS change sequence in terms of throughput and ERT under different system conditions as given in Appendix B. Second, given reconfiguration

The verification of prediction results

The theoretical prediction (mathematical computation in Section 7) of QoS impacts must be verified so that the prediction framework can be safely applied to real world applications. In this section, we will report on the findings of the experiments conducted to confirm the validity of theoretical prediction. DynaQoS is a software platform from our previous work (Li, 2012), which has the ability to simulate the QoS impacts (actual behaviors) of a RSUR under various reconfiguration strategies

Conclusion

An impaired QoS, caused by inappropriate use of dynamic reconfiguration approaches, is unacceptable for mission-critical or non-stop systems. A tool which predicts the QoS impacts is important for choosing an appropriate approach to reduce the potential of the implementation of an impaired QoS.

Simulation of reconfiguration is an inefficient way to check the QoS impacts from an approach because it has the disadvantages of: the need to represent and realize the approach onto a particular

Acknowledgments

The authors would like to thank Dr. Col Greensill from Central Queensland University Australia for his proof-reading of this article.

Wei Li has received his BS, MS and PhD degrees all in Computer Science from Harbin University of Science & Technology China, Harbin Institute of Technology China and the Institute of Computing Technology of Chinese Academy of Sciences China. He is currently a senior lecturer in Information Technology and the Head of Mater of Information Technology Program with School of Engineering & Technology, Central Queensland University Australia. He has been a peer reviewer of a number of international

References (54)

  • CookJ.E. et al.

    Highly reliable upgrading of components

  • DowlingJ. et al.

    The K-component architecture meta-model for self-adaptive software

  • DowlingJ. et al.

    Dynamic software evolution and the K-component model

  • EvansH.

    DRASTIC and GRUMPS: the design and implementation of two run-time evolution frameworks

    IEE Proc. Softw.

    (2004)
  • FengT. et al.

    Applying dynamic change impact analysis in component-based architecture design

  • GhezziC. et al.

    Performance-driven dynamic service selection

    Concurr. Comput.: Pract. Exp.

    (2014)
  • GorinsekJ. et al.

    Managing quality of service during evolution using component contract

  • HicksM. et al.

    Dynamic software updating

    ACM Trans. Programm. Lang. Syst.

    (2005)
  • HillmanJ. et al.

    An open framework for dynamic reconfiguration

  • HillmanJ. et al.

    Quantitative analysis of dynamic reconfiguration algorithms

  • IvanovicD. et al.

    Constraint-based runtime prediction of SLA violations in service orchestrations

    Lect. Notes Comput. Sci.

    (2011)
  • IvanovicD. et al.

    Exploring the impact of inaccuracy and imprecision of QoS assumptions on proactive constraint-based QoS prediction for service orchestrations

  • JanssensN.

    Dynamic Software Reconfiguration in Programmable Networks

    (2006)
  • JanssensN. et al.

    Adding dynamic reconfiguration support to JBoss AOP

  • KayandeD. et al.

    Priority based pre-emptive task scheduling for android operating system

    Int. J. Comput. Sci. Telecommun.

    (2011)
  • KimD.K. et al.

    Dynamic reconfiguration for java applications using AOP

  • KramerJ. et al.

    The evolving philosophers problem: dynamic change management

    IEEE Trans. Softw. Eng.

    (1990)
  • Cited by (4)

    • Toward service selection for workflow reconfiguration:An interface-based computing solution

      2018, Future Generation Computer Systems
      Citation Excerpt :

      Lin et al. [27] proposed an effective approach for replacing only faulty services and certain neighboring services to maintain the original end-to-end QoS constraints, and they used an iterative algorithm to search for a reconfiguration region that had replaceable services to meet the original QoS constraints of that region. Li et al. [28] proposed a model to predict how the QoS of a running system would be impacted by dynamic reconfiguration. However, it handles conflicting factors of the QoS values poorly when they are used in a real application for a dynamic reconfiguration implementation.

    • FCM: A component-based platform with explicit support of crosscutting and dynamic features

      2020, International Journal of Computer Applications in Technology

    Wei Li has received his BS, MS and PhD degrees all in Computer Science from Harbin University of Science & Technology China, Harbin Institute of Technology China and the Institute of Computing Technology of Chinese Academy of Sciences China. He is currently a senior lecturer in Information Technology and the Head of Mater of Information Technology Program with School of Engineering & Technology, Central Queensland University Australia. He has been a peer reviewer of a number of international journals, including IEEE Transactions on Software Engineering and ELSEVIER Journal of Systems and Software and a program committee member of more than 40 international conferences. His research interests include dynamic software architecture, P2P volunteer computing and multi-agent systems.

    William Guo is currently the Dean of School of Engineering and Technology at Central Queensland University Australia. He received his PhD from the University of Western Australia in 1999. He has been a faculty member at Edith Cowan University (2001–2007) and Central Queensland University (2007–). His teaching activities over the past 13 years have covered multiple disciplines, including data structures and algorism analysis, computational intelligence, distributed system, digital forensics, research methods and engineering mathematics. His research interests include computational intelligence and applications, image processing, bioinformatics, optimization, modeling and simulation. He has published more than 60 papers in international journals, edited books and conference proceedings.

    View full text