Fig 4 - uploaded by Philippe Merle
Content may be subject to copyright.
Cloud providers, allocation policies and load balancing algorithms

Cloud providers, allocation policies and load balancing algorithms

Source publication
Article
Full-text available
Elasticity is considered as a fundamental feature of cloud computing where the system capacity can adjust to the current application workloads by provisioning or de-provisioning computing resources automatically and timely. Many studies have been already conducted to elasticity management systems, however, almost all lack to offer a complete modula...

Contexts in source publication

Context 1
... mixin permits to choose the appropriate provider (Provider) in order to deploy a new horizontal group compute instance. Our model supports different policies (mixins) as shown in Fig. 4b: • RoundRobin: This policy selects a provider in turns, starting with the first one from the list of providers in which the horizontal group has links to, until the end of the list is reached at which point the next request (instance provision) will go back to the first provider ...
Context 2
... Provider kind models a cloud provider entity. Multiple providers can be used simultaneously in order to ensure the redundancy and reliability of the system. As shown in Fig. 4a, the currently supported providers ...
Context 3
... most important actions are addbackendserver() and removebackendserver() which serve to register/remove the compute instances belonged to a HG in/from the LB. In addition, our model offers a set of mixins (LoadBalancerPolicy) as shown in Fig. 4c which support the most utilized LB algorithms. Such mixin can be dynamically applied on the LB, each mixin has two operations, start (to start the algorithm) and stop (to stop the algorithm). The supported LB policies ...
Context 4
... mixin permits to choose the appropriate provider (Provider) in order to deploy a new horizontal group compute instance. Our model supports different policies (mixins) as shown in Fig. ...
Context 5
... Provider kind models a cloud provider entity. Multiple providers can be used simultaneously in order to ensure the redundancy and reliability of the system. As shown in Fig. 4a, the currently supported providers ...
Context 6
... most important actions are addbackendserver() and removebackendserver() which serve to register/remove the compute instances belonged to a HG in/from the LB. In addition, our model offers a set of mixins (LoadBalancerPolicy) as shown in Fig. 4c which support the most utilized LB algorithms. Such mixin can be dynamically applied on the LB, each mixin has two operations, start (to start the algorithm) and stop (to stop the algorithm). The supported LB policies ...

Similar publications

Article
Internet of Things (IoT) has grown rapidly in the last decade and continue to develop in terms of dimension and complexity, offering wide range of devices to support diverse set of applications. With ubiquitous Internet, connected sensors and actuators, networking and communication technology along with artificial intelligence (AI), smart cyber-phy...

Citations

... Studies Total 1 2021 [28], [29], [17], [30], [25], [31], [32], [24], [33], [34], [35], [36], [37], [38], [39], [40], [41], [42], [43], [44], [45], [46], [47], [48], [49], [50], [51], [52], [53], [54], [55], [56], [57], [58], [59], [60], [61], [62], [63], [64], [65], [66], [67], [68], [69], [70], [71], [72], [73], [74], [75], [76], [77] 53 2 2022 ...
... Consequently, we identified 63% (62 research studies) of the overall research articles published as conference publications and 37% of the overall studies (37 research studies) published as journal articles. We identified [41], [42], [44], [45], [91], [54] 6 ...
... In this SLR, we identified a few studies (6 studies) where more than one M2T, M2M, or both M2T and [81], [80], [87], [40], [90], [92], [93], [53], [96], [100] [29], [35], [42], [46], [94], [72], [61], [63], [68], [21], [120], [54], [73], [116], [118], [18], [99], [58], [109], [60] , [41], [48], [52], [66], [111], [113], [98], [64], [114], [76], [115], [38], [50], [20], [25], [85], [34], [51], [74], [107], [49] 52 2 ...
Article
Full-text available
Rapid technological advancements have resulted in increasingly complex software systems, posing challenges during development in terms of time and cost. Adopting domain-specific modeling (DSM) brings numerous benefits to software engineering, including enhanced efficiency, improved maintenance capabilities, higher software quality, reduced development time, and increased potential for cost-effective software solutions through improved reusability. Despite the proven effectiveness of DSM in various domains, a study summarizing recent advancements is hard to find in the state-of-the-art. Therefore, in this article, we present a comprehensive systematic literature review that examines the application of DSM in various domains (4). We selected 99 studies and classified those into four categories, i.e., meta-modeling (42), domain-specific languages (39), UML profiles (9), and general (9) based on the use of DSM approaches. We identified various tools from the selected studies, i.e., 21 existing and 91 proposed or developed. Moreover, model-driven engineering (MDE) techniques, including validation (12), simulation (5), verification (4), and software architectural modeling (3), are presented and analyzed. We further explained the type of model transformation employed in each study, i.e., model-to-text (49) and model-to-model (4). Finally, the regions participating in DSM’s growth are also investigated. It is concluded that Ecore is the leading meta-modeling tool, Xtext is the often-used domain-specific tool, Sirius is graphical, and UPPAAL is the most utilized verification tool identified. Moreover, Validation is a frequently used MDE technique, and Model-to-text transformation with Acceleo is the most utilized transformation type in the selected studies. The comprehensive results of this research provide valuable guidance for DSM researchers and practitioners in choosing a suitable tool and technique that meets their specific requirements.
... [9]. Generally, elasticity can be ensured vertically or horizontally: Vertical elasticity refers to resizing the capacity of cloud resources (VM/Container) such as memory, CPU cores, etc., whereas horizontal elasticity refers to replicating or consolidating the instances of cloud resources [10]. Considering both vertical and horizontal elasticity, the application can provide a fast response to small workloads through vertical scaling. ...
Article
Full-text available
The dynamic nature of the cloud environment increases the complexity of managing its resources and the distribution of user workload between the available containers in the data center. However, the workload must be balanced to improve the cloud system’s overall performance. Generally, most of the existing load balancing techniques suffer from performance degradation due to the communication overheads among the containers. Moreover, less attention is given to stabilize the load in a multi-cloud environment. Therefore, to overcome this problem, there is a need to develop an elastic load balancing method to improve the performance of cloud systems. This paper proposed an autonomic CSO-ILB load balancer to ensure the elasticity of the cloud system and balance the user workload among the available containers in a multi-cloud environment. The concept of multi-loop has been utilized in our approach to enabling efficient self-management before load balancing. The tasks are scheduled to the containers using an extended scheduling algorithm called Deadline-Constrained Make-span Minimization for Multi-Task Scheduling (DCMM-MTS). Based on the task scheduling, the load in each container is computed and then balanced using the proposed load balancer algorithm CSO-ILB. The proposed approach is evaluated in the Container CloudSim platform, and the performance is compared with the existing meta-heuristic algorithms such as Ant Colony Optimization, Bee Colony Optimization, Shuffled Frog Leaping Algorithm and Cat Swarm Optimization (CSO). The simulations proved that the proposed approach outperformed the other approaches in terms of reliability, CPU utilization, make-span, energy utilization, response time, execution cost, idle time, and task migration.
... [9]. Generally, elasticity can be ensured vertically or horizontally: Vertical elasticity refers to resizing the capacity of cloud resources (VM/Container) such as memory, CPU cores, etc., whereas horizontal elasticity refers to replicating or consolidating the instances of cloud resources [10]. Considering both vertical and horizontal elasticity, the application can provide a fast response to small workloads through vertical scaling. ...
Article
Full-text available
The dynamic nature of the cloud environment increases the complexity of managing its resources and the distribution of user workload between the available containers in the data center. However, the workload must be balanced to improve the cloud system’s overall performance. Generally, most of the existing load balancing techniques suffer from performance degradation due to the communication overheads among the containers. Moreover, less attention is given to stabilize the load in a multi-cloud environment. Therefore, to overcome this problem, there is a need to develop an elastic load balancing method to improve the performance of cloud systems. This paper proposed an autonomic CSO-ILB load balancer to ensure the elasticity of the cloud system and balance the user workload among the available containers in a multi-cloud environment. The concept of multi-loop has been utilized in our approach to enabling efficient self-management before load balancing. The tasks are scheduled to the containers using an extended scheduling algorithm called Deadline-Constrained Make-span Minimization for Multi-Task Scheduling (DCMM-MTS). Based on the task scheduling, the load in each container is computed and then balanced using the proposed load balancer algorithm CSO-ILB. The proposed approach is evaluated in the Container CloudSim platform, and the performance is compared with the existing meta-heuristic algorithms such as Ant Colony Optimization, Bee Colony Optimization, Shuffled Frog Leaping Algorithm and Cat Swarm Optimization (CSO). The simulations proved that the proposed approach outperformed the other approaches in terms of reliability, CPU utilization, make-span, energy utilization, response time, execution cost, idle time, and task migration.
... This metamodel is used by [18] to model the deployment of applications with help of containers. It is also applied to define a unified metamodel to manage elasticity in the cloud [36]. These works have been published in scope of the OCCIware 36 project, that aims to provide a fully integrated IDE to support the whole cloud application management life cycle on multiple clouds based on OCCI. ...
Article
Full-text available
With the advent of cloud computing, different cloud providers with heterogeneous cloud services (compute, storage, network, applications, etc.) and their related Application Programming Interfaces (APIs) have emerged. This heterogeneity complicates the implementation of an interoperable cloud system. Several standards have been proposed to address this challenge and provide a unified interface to cloud resources. The Open Cloud Computing Interface (OCCI) thereby focuses on the standardization of a common API for Infrastructure-as-a-Service (IaaS) providers, while the Topology and Orchestration Specification for Cloud Applications (TOSCA) focuses on the standardization of a template language to enable the proper definition of the topology of cloud applications and their orchestrations on top of a cloud system. TOSCA thereby does not define how the application topologies are created on the cloud. Therefore, we analyze the conceptual similarities between the two approaches and we study how we can integrate them to obtain a complete standard-based approach to manage both Cloud Infrastructure and Cloud application layers. We propose an automated extensive mapping between the concepts of the two standards, and we provide TOSCA Studio, a model-driven tool chain for TOSCA that conforms to OCCI. TOSCA Studio allows to graphically design cloud applications as well as to deploy and manage them at runtime using a fully model-driven cloud orchestrator based on the two standards. Our contribution is validated by successfully transforming and deploying three cloud applications: WordPress, Node Cellar and Multi-Tier.
... Reactive managers are those based only on thresholds to take elasticity decisions; more precisely, resource reconfiguration takes place when the lower or the upper threshold is violated. In the reactive scope, we highlight three initiatives: Al-Dhuraibi et al. [18], Elastic-RAN [19] and ElCity [12]. Al-Dhuraibi et al. [18] presents a new elasticity management system powering both vertical and horizontal elasticities, both VM and Container virtualization technologies, multiple cloud providers simultaneously, and various elasticity policies based on a dynamic configuration during the execution of the application. ...
... In the reactive scope, we highlight three initiatives: Al-Dhuraibi et al. [18], Elastic-RAN [19] and ElCity [12]. Al-Dhuraibi et al. [18] presents a new elasticity management system powering both vertical and horizontal elasticities, both VM and Container virtualization technologies, multiple cloud providers simultaneously, and various elasticity policies based on a dynamic configuration during the execution of the application. The experiments demonstrated that their model covers the elasticity policies provided by the well-known cloud public providers with negligible overhead. ...
Article
Full-text available
Hospitals play an important role on ensuring a proper treatment of human health. One of the problems to be faced is the increasingly overcrowded patients care queues, who end up waiting for longer times without proper treatment to their health problems. The allocation of health professionals in hospital environments is not able to adapt to the demands of patients. There are times when underused rooms have idle professionals, and overused rooms have fewer professionals than necessary. Previous works have not solved this problem since they focus on understanding the evolution of doctor supply and patient demand, as to better adjust one to the other. However, they have not proposed concrete solutions for that regarding techniques for better allocating available human resources. Moreover, elasticity is one of the most important features of cloud computing, referring to the ability to add or remove resources according to the needs of the application or service. Based on this background, we introduce Elastic allocation of human resources in Healthcare environments (ElHealth) an IoT-focused model able to monitor patient usage of hospital rooms and adapt these rooms for patients demand. Using reactive and proactive elasticity approaches, ElHealth identifies when a room will have a demand that exceeds the capacity of care, and proposes actions to move human resources to adapt to patient demand. Our main contribution is the definition of Human Resources IoT-based Elasticity (i.e., an extension of the concept of resource elasticity in Cloud Computing to manage the use of human resources in a healthcare environment, where health professionals are allocated and deallocated according to patient demand). Another contribution is a cost–benefit analysis for the use of reactive and predictive strategies on human resources reorganization. ElHealth was simulated on a hospital environment using data from a Brazilian polyclinic, and obtained promising results, decreasing the waiting time by up to 96.4% and 96.73% in reactive and proactive approaches, respectively.
... Their proposed framework includes a set of domain-specific languages to facilitate the description and the evaluation of elasticity mechanisms. Al-Dhuraibi et al. [23] have proposed a model-driven elasticity management system according to the Open Cloud Computing Interface (OCCI) standard. Their solution considers both VM and container virtualization technologies, both vertical and horizontal scaling, and multiple cloud providers, simultaneously. ...
Article
Full-text available
Cloud computing has been one of the most popular distributed computing paradigms. Elasticity is a crucial feature that distinguishes cloud computing from other distributed computing models. It considers the resource provisioning and allocation processes can be implemented automatically and dynamically. Elasticity feature allows cloud platforms to handle different loads efficiently without disrupting the normal behavior of the application. Therefore, providing a resource elasticity analytical model can play a significant role in cloud resource management. This paper presents Controlling Elasticity (ControCity) framework for controlling resources elasticity through using “buffer management” and “elasticity management”. In the proposed framework, there are two essential components called buffer manager and elasticity manager in the application layer and middleware layer, respectively. The buffer management controls the input queue of the user’s request and the elasticity management controls the elasticity of the cloud platform using learning automata technique. In the application layer, applications are received by cloud applications and, then, placed in the control of the buffer. Buffer manager controls the queue of requests, and elasticity manager of the middleware layer using the learning automata provides a solution for controlling the elasticity of the cloud platform. The experimental results indicate that ControCity reduces the response time by up to 3.7%, and increases the resource utilization and elasticity by up to 8.4% and 5.4%, respectively, compared with the other approaches.
Article
With the increasing expansion of cloud computing services, one of the main goals of researchers is to solve its major challenges. Cloud service providers must satisfy the service level agreement for customers and prevent resource wastage as much as possible. Without a precise, optimal, and dynamic policy, this is unattainable. The key idea is the ability to acquire resources as you need them and release resources when you no longer need them, named “Cloud Elasticity.” Elasticity is a trade‐off between resource acquisition and release, and if this optimization is done best, the service level agreement will be fully achieved and the cloud provider will have the least waste of resources. The researchers used machine learning techniques to predict user workload and decide to scale up/out the resources. A challenging issue is the different characteristics of the users' workloads. The results show that each prediction algorithm works well on a class of users' workloads not all. Hence, in this study, a new architecture has been suggested to automatically classify the workloads based on their sequential statistical characteristics. First, the sequential statistical characteristics of the users' workload are extracted and then a trained neural network classifies the user's workload. The developed adaptive model chooses the best suitable algorithm among LR, SVM, and ARIMA to predict the workload. The results indicate a 10% improvement in forecast error.
Article
Full-text available
Cloud computing emphasis on using and underlying infrastructure in a much efficient way. That’s why it is gaining immense importance in today’s industry. Like every other field, cloud computing also has some key feature for estimating the standard of working of every cloud provider. Elasticity is one of these key features. The term elasticity in cloud computing is directly related to response time (a server takes towards user request during resource providing and de-providing. With increase in demand and a huge shift of industry towards cloud, the problem of handling user requests also arisen. For a long time, the concept of virtualization held industry with all its merits and demerits to handle multiple requests over cloud. Biggest disadvantage of virtualization shown heavy load on underlying kernel or server but from past some decades an alternative technology emerges and get popular in a short time due to great efficiency known as containerization. In this paper we will discuss about elasticity in cloud, working of containers to see how it can help to improve elasticity in cloud for this will using some tools for analyzing two technologies i.e. virtualization and containerization. We will observe whether containers show less response time than virtual machine. If yes that’s mean elasticity can be improved in cloud on larger scale which may improve cloud efficiency to a large extent and will make cloud more eye catching.
Thesis
Distributed computer systems, which run on multiple computers, are now commonplace and used even in critical systems. However, these systems are becoming more and more complex, in terms of scale, dynamicity and expected quality of service.Reconfiguration of distributed systems consists in changing their state at runtime. Distributed systems may be reconfigured for many reasons, including deploying them, updating them, adapting them to fulfill new requirements (in terms of user capacity, energy efficiency, reliability, costs, etc.) or even changing their capabilities.Existing reconfiguration frameworks fall short of providing at the same time parallelism expressivity and separation of concerns between the different actors interacting with the system.The focus of this thesis is to prove that these properties can be reconciled by modelling precisely the life-cycle of each module of distributed systems, while providing appropriate interfaces between the different levels of conception. Two formal models implementing this idea are provided, one for the specific case of deployment and one for reconfiguration. Evaluation is performed on both synthetic and real use-cases and show that these models have a higher level of parallelism expressivity than their counterparts while conserving a good level of separation of concerns.