8 research outputs found

    A Hierarchical Receding Horizon Algorithm for QoS-driven control of Multi-IaaS Applications

    Get PDF
    open4noCloud Computing is emerging as a major trend in ICT industry. However, as with any new technology, new major challenges lie ahead, one of them con- cerning the resource provisioning. Indeed, modern Cloud applications deal with a dynamic context that requires a continuous adaptation process in order to meet sat- isfactory Quality of Service (QoS) but even the most titled Cloud platform provide just simple rule-based tools; the rudimentary autoscaling mechanisms that can be carried out may be unsuitable in many situations as they do not prevent SLA vio- lations, but only react to them. In addition, these approaches are inherently static and cannot catch the dynamic behavior of the application. This situation calls for advanced solutions designed to provide Cloud resources in a predictive and dy- namic way. This work presents capacity allocation algorithms, whose goal is to minimize the total execution cost, while satisfying some constraints on the average response time of Cloud based applications. We propose a receding horizon con- trol technique, which can be employed to handle multiple classes of requests. An extensive evaluation of our solution against an Oracle with perfect knowledge of the future and well-known heuristics presented in the literature is provided. The analysis shows that our solution outperforms the heuristics producing results very close to the optimal ones, and reducing the number of QoS violations (in the worst case we violated QoS constraints for only 8 minutes over a day versus up to 260 minutes of other approaches). Furthermore, a sensitivity analysis over two differ- ent time scales indicates that finer grained time scales are more appropriate for spiky workloads, whereas smooth traffic conditions are better handled by coarser grained time scales. Our analytical results are validated through simulation, which shows also the impact on our solution of Cloud environment random perturbations. Finally, experiments on a prototype environment demonstrate the effectiveness of our approach under real workloads.openDanilo Ardagna, Michele Ciavotta, Riccardo Lancellotti, Michele GuerrieroArdagna, Danilo; Ciavotta, Michele; Lancellotti, Riccardo; Guerriero, Michel

    A Hierarchical Receding Horizon Algorithm for QoS-driven control of Multi-IaaS Applications

    Get PDF
    Cloud Computing is emerging as a major trend in ICT industry. However, as with any new technology, new major challenges lie ahead, one of them con- cerning the resource provisioning. Indeed, modern Cloud applications deal with a dynamic context that requires a continuous adaptation process in order to meet sat- isfactory Quality of Service (QoS) but even the most titled Cloud platform provide just simple rule-based tools; the rudimentary autoscaling mechanisms that can be carried out may be unsuitable in many situations as they do not prevent SLA vio- lations, but only react to them. In addition, these approaches are inherently static and cannot catch the dynamic behavior of the application. This situation calls for advanced solutions designed to provide Cloud resources in a predictive and dy- namic way. This work presents capacity allocation algorithms, whose goal is to minimize the total execution cost, while satisfying some constraints on the average response time of Cloud based applications. We propose a receding horizon con- trol technique, which can be employed to handle multiple classes of requests. An extensive evaluation of our solution against an Oracle with perfect knowledge of the future and well-known heuristics presented in the literature is provided. The analysis shows that our solution outperforms the heuristics producing results very close to the optimal ones, and reducing the number of QoS violations (in the worst case we violated QoS constraints for only 8 minutes over a day versus up to 260 minutes of other approaches). Furthermore, a sensitivity analysis over two differ- ent time scales indicates that finer grained time scales are more appropriate for spiky workloads, whereas smooth traffic conditions are better handled by coarser grained time scales. Our analytical results are validated through simulation, which shows also the impact on our solution of Cloud environment random perturbations. Finally, experiments on a prototype environment demonstrate the effectiveness of our approach under real workloads

    Systematic analysis of software development in cloud computing perceptions

    Get PDF
    Cloud computing is characterized as a shared computing and communication infrastructure. It encourages the efficient and effective developmental processes that are carried out in various organizations. Cloud computing offers both possibilities and solutions of problems for outsourcing and management of software developmental operations across distinct geography. Cloud computing is adopted by organizations and application developers for developing quality software. The cloud has the significant impact on utilizing the artificial complexity required in developing and designing quality software. Software developmental organization prefers cloud computing for outsourcing tasks because of its available and scalable nature. Cloud computing is the ideal choice utilized for development modern software as they have provided a completely new way of developing real-time cost-effective, efficient, and quality software. Tenants (providers, developers, and consumers) are provided with platforms, software services, and infrastructure based on pay per use phenomenon. Cloud-based software services are becoming increasingly popular, as observed by their widespread use. Cloud computing approach has drawn the interest of researchers and business because of its ability to provide a flexible and resourceful platform for development and deployment. To determine a cohesive understanding of the analyzed problems and solutions to improve the quality of software, the existing literature resources on cloud-based software development should be analyzed and synthesized systematically. Keyword strings were formulated for analyzing relevant research articles from journals, book chapters, and conference papers. The research articles published in (2011–2021) various scientific databases were extracted and analyzed for retrieval of relevant research articles. A total of 97 research publications are examined in this SLR and are evaluated to be appropriate studies in explaining and discussing the proposed topic. The major emphasis of the presented systematic literature review (SLR) is to identify the participating entities of cloud-based software development, challenges associated with adopting cloud for software developmental processes, and its significance to software industries and developers. This SLR will assist organizations, designers, and developers to develop and deploy user-friendly, efficient, effective, and real time software applications.Qatar University Internal Grant - No. IRCC‐2021‐010

    Modelling exogenous variability in cloud deployments

    No full text
    Describing exogenous variability in the resources used by a cloud application leads to stochastic performance models that are difficult to solve. In this paper, we describe the blending algorithm, a novel approximation for queueing network models immersed in a random environment. Random environments are Markov chain-based descriptions of timevarying operational conditions that evolve independently of the system state, therefore they are natural descriptors for exogenous variability in a cloud deployment. The algorithm adopts the principle of solving a separate transient-analysis subproblem for each state of the random environment. Each subproblem is then approximated by a system of ordinary differential equations formulated according to a fluid limit theorem, making the approach scalable and computationally inexpensive. A validation study on several hundred models shows that blending can save up to two orders of magnitude of computational time compared to simulation, enabling efficient exploration of a decision space, which is useful in particular at design-time
    corecore