Font Size: a A A

Multi-tenant Memory Management For Cloud Data Storage Based On Chunk Folding

Posted on:2013-11-07Degree:MasterType:Thesis
Country:ChinaCandidate:J C YaoFull Text:PDF
GTID:2248330374983114Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development of network technology, as well as outsourcing of computing and storage in large numbers, a new computing model, cloud computing, is gradually emerging. Cloud computing, refers to access the shared computing resources (such as network, storage, memory, service) via internet on demand conveniently, and the shared resources is supplied and released without or with little artificial participation. For now, SaaS (Software as a Service) is recognized as the best implementation form of cloud computing.In the model of SaaS, service providers need to store tens of thousands of tenants’data, assign a database instance for each tenant individually will lead to a waste of resources since they are underutilized much of the time. For this reason, shared database shared storage, such as the Universal Table, Pivot Table, Chunk Folding, etc., is proposed to storage the same application’s tenants’data with similar database schemas into a single database so as to overcoming DBMSs’limitations at dealing with extremely large numbers of tables and/or columns. What’s more, in order to reduce heterogeneous workloads that do not share any data or schemas, database consolidation is proposed to further reduce the number of database instances. With both solutions above, service providers will benefit with scale effect. Shred database shared storage and database consolidation can greatly reduce the number of database instances, however, since multi-tenant database are constructed based on the traditional database without the property of multi-tenancy, so lots of challenges exists:(1) Limitations of data block replacement unit. Buffer memory management mechanism of traditional database use data block as the replacement unit, however, any data block contains a large number of other tenants’irrelevant data in shared storage architecture. So, using the data block as the replacement unit leads to a waste of cache.(2) Blindness of the allocation of cache resource among tenants. Buffer memory management mechanism of traditional database, in lack of multi-tenancy, will allocate cache so as to improve the overall performance without considering to whom the request belongs, which will lead to an imbalance resource allocation among tenants. The majority part of cache resource will be allocated to tenants with high access frequency, while little cache resource will be reserved for tenants with low access frequency. The traditional buffer memory management mechanism is terrible since no guarantees are paid to tenants’SLA, and it runs counter to the properties of scalability and elasticity of cloud computing.(3) No effective cache allocation mechanism for cloud computing. In order to obtain scalability and achieve load balancing, tenants’data is divided into multiple data storage nodes, how to identify the cache space for each data node such that:(a) tenants’SLAs are satisfied,(b) I/O benefit rate of cloud cache as high as possible and the consumption of cloud cache resources as little as possible,(c) the load of I/O on each data node is balanced.In this paper, a cloud cache management policy for multi-tenant aims to solve issues and challenges presented above. Combined with the characteristic of Chunk Folding shared storage model, we present a new cache replacement unit generated by the workload, a model used to estimate I/O benefit rate of replacement unit with the consideration of load balance, and multi-tenant cloud cache resource allocation mechanism to allocate cache resource among tenants. The main work and achievements of the paper include:(1) A new mechanism based on Chunk Folding is proposed to generate cache replacement unit dynamically. The mechanism takes tenant’s workload as well as the shared storage architecture of Chunk Folding, and outputs a series of columns (set) cache replacement unit. The generated cache replacement unit will be used to replace traditional data block cache replacement unit so as to reduce the cache consumption and increase cache utilization significantly.(2) A model of I/O-benefit rate evaluation for generated cache replacement unit is presented. The model combines database (MySQL) query optimizer’s execution plan with the characteristics of Chunk Folding, then the I/O-benefit is computed for each cache replacement unit, the I/O-benefit rate is then equals the ratio of I/O benefit to size of the cache replacement unit. Further, in order to realize I/O load balance among cloud data nodes, combined with the data node’s current load of I/O status, each cache replacement unit I/O-benefit ratio will be weighted corrected. The replacement unit will be evaluated to stay in or not in cache based on the corrected I/O-benefit rate.(3) Strategies of global cache allocation are proposed. The strategy adopts greedy algorithm to select cache replacement unit into cache and updates corrected I/O-benefit ratio of cache replacement units correlated to the selected unit iteratively. With the strategy of tenant level, it adjusts cache allocated to one tenant each time so that tenant’s SLA will be met and refined dynamically. With the strategy of system level, it adjusts cache allocated to all tenants in system each time so that the overall cache consumption will be relaxed to a low level.In this paper, cache management mechanism for multi-tenant cloud data storage (Multi-tenant Memory Management for Cloud database, M3C), resolving the shortcomings and challenges present in multi-tenant cloud data storage, is proposed. The mechanism allocates cache for tenants based on tenants’SLA on-demand, targets in reducing resource consumption while achieving load balancing.
Keywords/Search Tags:Multi-Tenant, Cache, Cloud Computing, Chunk Folding, LoadBalance
PDF Full Text Request
Related items