Cloud computing is a trend of technology aimed at providing on-demand services with payment based on usage. In order to improve the use of resources, cloud providers adopt multi-tenant approaches, reducing the operation cost of services. Moreover, tenants have irregular workload patterns, which impacts in guarantees of quality of service, mainly due to interference among tenants. This paper proposes PredRep, a predictive approach to characterize the cloud database system workload and automatically provide or reduce resources by replication techniques. In order to evaluate PredRep, some experiments that measure the quality of service and elasticity are presented. Our experiment results confirm that PredRep reduces cost and SLA violations. INTRODUCTIONCloud computing is now a well-established paradigm for the use of computational resources, according to which hardware infrastructure, software, and platforms for the development of new applications are offered as remotely available services on a global scale. 1 Cloud users give up their own computing infrastructure to dispose it through services, based on the pay-as-you-go model, offered by third parties (cloud providers), delegating responsibilities and assuming costs proportionally to the amount of resources used. Cloud providers, in turn, must meet the expected infrastructure needs of their users.The cloud computing adoption makes it an attractive paradigm that is potentially able to meet the most strict quality-of-service (QoS) levels stipulated in a service-level agreement (SLA). However, it is still a challenging issue for providers to efficiently tackle both gradual load variations and load peaks from the workloads, which are highly dynamic and, as such, very unpredictable, 2 in order not to violate SLA requirements to maximize their revenues.Cloud providers adopt the sharing of their computing resources among users, thus optimizing resource usage, reducing costs, and maximizing profits. There are several levels of resource sharing that define the granule shared for the different users of the cloud. For this, there is the multi-tenancy, which is a technique used to consolidate multiple tenants in a computational resource. 3 In the cloud database context, a tenant can be a tuple, table, database, DBMS, OS, or VM. For each tenant type, there is a multi-tenant model associated. However, the shared DBMS multi-tenant model has been the most widely adopted in the database management platforms. 4 In this model, a DBMS manages multiple tenants where a tenant is a database.Dynamic provisioning techniques are designed to handle irregular workloads, so that SLA violations and their contractual penalties associated are avoided or limited, reducing costs from the cloud provider perspective. 4 These techniques usually take action based on workload observation and can be classified as either reactive or proactive. Proactive solutions apply sophisticated system models for prediction 2 and use forecast results to triggering allocations of expected need in advance. In contrast,...
Cloud computing emerges as an alternative to promote quality of service for data-driven applications. Database management systems must be available to support the deployment of cloud applications resorting to databases.Many solutions use database replication as a strategy to increase availability and decentralize the workload of database transactions among replicas. Due to the distribution of database transactions among replicas, load balancing techniques improve the computational resources utilization. However, several solutions use the current state of the database service to make decisions for the distribution of transactions. This article proposes a predictive and elastic load balancing service for replicated cloud databases. Experiments carried out showed that the use of prediction models can help to predict possible SLA violations in time series that represent workloads of cloud-replicated databases.
The use of distributed key-value stores (KVS) has experienced fast adoption by various applications in recent years due to key advantages such as hypertext transfer protocol-based RESTful application programming interface, high availability and elasticity. Due to great scalability characteristics, KVS systems commonly use consistent hashing as data placement mechanism. Although KVS systems offer many advantages, they were not designed to dynamically adapt to changing workloads which often include data access skew. Furthermore, the underlying physical storage nodes may be heterogeneous and do not expose their performance capabilities to higher level data placement layers. In this paper, we address those issues and propose an essential step toward a dynamic autonomous solution by leveraging deep reinforcement learning.We design a self-learning approach that incrementally changes the data placement, improving the load balancing. Our approach is dynamic in the sense that is capable of avoiding hot spots, that is, overloaded storage nodes when facing different workloads.Also, we design our solution to be pluggable. It assumes no previous knowledge of the storage nodes capabilities, thus different KVS deployments may make use of it. Our experiments show that our method performs well on changing workloads including data access skew aspects. We demonstrate the effectiveness of our approach through experiments in a distributed KVS deployment. K E Y W O R D Sconsistent hashing, deep reinforcement learning, key-value stores, load balancing, replica placement INTRODUCTIONDistributed key-value stores (KVS) are a well-established approach for cloud data-intensive applications 1 mainly because they are capable of successfully managing huge data traffic driven by the explosive growth of different applications such as social networks, e-commerce, and enterprise.In this work, the focus is on a particular type of KVS, also known as Object Store, which can store and serve any type of data (eg, photo, image, and video). 2 Object Store such as Dynamo 3 and OpenStack-Swift 4 have become widely accepted due to its scalability, high capacity, cost-effective storage and reliable REST programming interface. These systems take advantage of peer-to-peer architecture 5 and replication techniques in order to guarantee high availability and scalability. The data placement of KVS systems are commonly based on a distributed hash table (DHT) and consistent hashing (CHT) 6 with virtual nodes. Consistent hashing is a type of hashing that minimizes the amount of data that needs to move when adding or removing storage nodes. Using only the hash of the id of the data one can determine exactly where that data should be. This mapping of hashes to locations is usually known as "ring. " While this strategy provides item-balancing guarantees, it may be not very efficient in balancing the actual workload of the system for the following reasons.Concurrency Computat Pract Exper. 2020;32:e5675. wileyonlinelibrary.com/journal/cpe
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.