4 research outputs found

    面向PaaS的分布式缓存服务关键技术研究

    No full text
    随着云计算的进一步发展,当前Web应用呈现出规模不断增大、业务逻辑更加复杂和用户群体庞大的发展趋势。针对大用户量访问、高并发请求处理,传统数据库频繁面临I/O访问瓶颈、难于扩展等挑战。在这一背景下,分布式缓存技术正逐步得到广泛应用。它将数据均匀分布到多个缓存服务节点,在内存中管理数据,对外提供统一的数据访问接口,基于冗余备份机制实现高可用支持;可有效降低后台数据库的访问压力,拉近数据与应用间的距离,是云计算环境下提升应用性能的一种重要手段。从云计算的三层服务模式(IaaS, PaaS, SaaS)角度分析,分布式缓存作为一种中间件,主要运行于PaaS层。作为云服务家族的重要成员,分布式缓存在云应用运行支撑和云状态存储方面发挥着日益突出的作用。与此同时,云平台固有的开放性、动态性以及多租户、弹性资源供给、自适应性、可用性等特点和需求,也给缓存服务的运行、维护和管理带来了新的问题与挑战,现有分布式缓存技术与云计算实际需求间仍存在一定差距。鉴于目前业界对具有云特性的缓存服务的迫切需求,本论文借鉴自治计算的思想,深入研究面向PaaS的分布式缓存服务关键技术,重点解决缓存策略自适应重配、缓存数据迁移优化和缓存服务性能隔离等方面的问题,建立具有云特性的缓存服务框架,并进行原型系统的设计与实现。本论文的主要贡献如下:&nbsp;1) 缓存策略自适应重配方法研究:不同缓存策略往往针对不同的问题场景提出,鉴于Web应用的访问量、访问模式具有时变性的特点,使用单一策略配置或静态策略配置,通常难以适应环境与需求的动态变化。针对最优缓存策略如何在线选择这一问题,本文提出一种基于机器学习的缓存策略自适应重配方法。着力解决如何持续优化离线训练得到的负载分类模型,以及如何有效降低缓存策略重配开销的问题。提出两种分类模型的增强机制;通过状态转换图、缓存对象同步算法以及策略重配优化机制来保障自适应操作的稳定、高效执行。同已有工作相比,论文方法支持负载分类模型的在线演化,自适应操作及模型优化对系统性能的影响较小。相比于静态策略配置,该方法可提升系统吞吐率15-31.5%。2) 缓存数据迁移优化方法研究:数据迁移是实现分布式缓存动态扩展与负载均衡的核心技术。如何降低数据迁移的开销是云服务提供商着力解决的问题。已有研究工作大多针对非虚拟化环境下的数据迁移问题,这些方法对于云缓存服务而言往往并不适用。针对这一问题,论文研究了虚拟化环境对缓存数据迁移的重要影响,在此基础上,提出一种基于面积的迁移开销模型,该模型一方面可以有效权衡迁移时间与性能衰减值,另一方面可以感知底层I/O操作的细节并刻画虚拟机性能干扰的程度。基于上述模型,本文给出了一种开销敏感的数据迁移算法,为迁移决策的制订和优化提供支持。本文方法在吞吐率和平均响应时间方面,分别优于已有方法11-23%、8-18%。3) 缓存服务性能隔离方法研究:对缓存服务而言,数据量大、频繁访问的租户往往会侵占其他租户资源,从而产生性能干扰。现有平台服务商未提供面向SLA保障的缓存性能隔离机制,使得租户应用的性能变得难以预测。论文围绕缓存空间与带宽资源的公平分配问题展开研究。首先,提出一种支持租户间内存配额动态调整的新的缓存空间划分机制,动态调整的目标是使每个租户的资源量与负载量相匹配,因此该机制具有较优的灵活性与扩展性;在此基础上,提出一种租户敏感的缓存替换算法,保障各租户使用的缓存空间大小接近其配额。针对网络资源竞争,提出一种租户带宽分配机制和请求调度算法。论文方法可有效消除租户间的性能干扰,平均响应时间优于已有方法7-18%,引入的性能开销低于5%。&nbsp;本论文的研究成果对自适应软件系统以及云平台资源管理等领域的研究具有一定的参考价值,可进一步应用于云缓存服务的维护和管理。综合上述研究成果,论文设计并实现了一个面向PaaS的缓存服务支撑软件系统ElastiCamel。该系统主要由缓存服务器、节点管理器、主节点和缓存客户端四部分组成。同时,基于Eclipse SWT技术实现了一个图形化的管理控制台,便于租户和管理员进行操作。With the rapid development of cloud computing, Web applications are becoming larger-scale and more complex. They are often demanded to provide highly- responsive, low latency service to a vast number of users. This brings new challenges to the traditional 3-tier architecture model. One major factor that hits developers big time is the I/O bottleneck in database. Besides, the background database is always hard to scale. This confluence of trends requires a new computing paradigm. In recent years, distributed cache is more widely used to remove bottlenecks from disk I/O. It uses a count of loosely-coupled RAM-based data caches to store objects and provides a unified data view to the applications. As one important way of boosting the performance of Web applications for the Cloud, distributed cache distributes cache data transparently and evenly to the entire cluster, and narrows the distance between data and Web applications. High availability is ensured by replication and redundancy. From the view of IaaS, PaaS and SaaS, cache belongs to a special type of middleware and mainly works on PaaS tier. As an important part of cloud services, distributed caching service plays a critical role in providing runtime support for cloud-based applications and storing their states. However, due to the open and highly dynamic nature of cloud platform and its multi-tenancy, elastic supply, self-adaptation and high availability features, the running, maintenance and management of caching service face a range of new challenges. That is to say, a wide gap still remains between the existing caching technologies and the requirements of cloud computing. Considering that there is an increasingly urgent need for the development of cloud-based caching services, in this thesis, we draw lessons from automatic computing, and conduct an in-depth study of the key technologies of PaaS-oriented distributed caching service, focusing on how to achieve self-reconfiguration of cache strategies, how to optimize the cost of data migration and how to enable per-tenant performance isolation and fairness. We also build a caching service framework and develop a prototype. The detailed research issues are described as follows:1) Self-reconfiguration of cache strategies. Different cache strategies are often designed for different scenarios. Considering that the number of concurrent users and traffic patterns of Web applications are time-varying, using single strategy or static configuration often seems difficult to adapt to the environmental dynamics and demand changes. To determine the optimal cache strategy, we propose a machine learning based approach, and focus on solving the problems of how to continuously optimize the offline classification model and how to effectively reduce the reconfiguration overhead. Two mechanisms are proposed to enhance the offline model. Reconfiguration actions can be executed stably and effectively by using state transition diagram, cache entries synchronization algorithm as well as two optimization mechanisms. Compared with the existing works, our approach supports online optimization of classification model with low overheads; the impacts brought by reconfiguration actions are quite small. Compared with static strategy configuration, our approach can increase the system throughput by 15-31.5%. 2) Optimization of cost of data migration. Data migration is the key technology to the dynamic scaling and load rebalancing of distributed cache. Cloud service providers are focused on how to reduce the cost of data migration. Existing works mainly use non-virtualized environment as the research background. Thus these approaches cannot be directly applicable to the caching service in the cloud. To solve this problem, we firstly study how virtualization poses impacts on data migration, and then build an area-based cost model for data migration. It can effectively make tradeoffs between migration time and performance impact for each migration action. It could also be aware of the underlying details and I/O interference. Based on this model, we develop a cost-aware data migration algorithm to determine an optimal set of migration actions. Compared with the existing works, our approach performs better, with 11-23% higher throughput and 8-18% lower response time. 3) Enabling per-tenant performance isolation and fairness. For caching service, frequently accessed tenants (Web applications) or tenants who own large volumes of data often tend to eat other tenants&rsquo; resources, resulting in performance interference. Existing caching service providers also donot provide performance isolation mechanism, which targets at per-tenant SLA guarantees. This makes the performance of tenants unpredictable. In this chapter, we focus on how to enforce fairness in the allocation of cache space and bandwidth resources among tenants. We firstly propose a new mechanism that supports dynamic weight adjustment to match tenants&rsquo; variable demands. The mechanism can achieve more flexibility and scalability. We then present a tenant-aware replacement algorithm. It is applied to guarantee the amount of resources consumed by each tenant is close to its allocation weight. To deal with the problem of network I/O contention, we propose a bandwidth allocation mechanism and a request scheduling algorithm. Experimental results indicate that, our approach can effectively get rid of performance interference among tenants, with 7-18% lower response time while its overhead is probably below 5%.The research achievements can provide some reference values to the fields such as adaptive software systems and resource management of cloud. They can also be applied to the maintenance and management of caching service. Based on the issues mentioned above, we have designed and developed a PaaS-oriented distributed caching system named ElastiCamel. It includes four parts, namely cache server, node agent, master node and cache client. It also provides a powerful graphical management console using Eclipse SWT to facilitate operations for administrators and tenants.</div

    context-aware data reba-lancing for distributed cache

    No full text
    为了改善数据重均衡的效果及减小数据迁移对系统性能的影响,提出一种上下文感知的数据重均衡方法。构建迁移时间预测模型,以刻画虚拟机环境上下文对数据迁移的影响,据此提出基于细粒度资源监测的上下文感知的数据重均衡算法CADR。实验结果表明,该迁移时间预测模型具有较低的错误率;CADR算法与传统数据重均衡算法相比,能够提供更好的均衡效果及更短的迁移时间。国家973重点基础研究发展计划基金项目(2009CB320704)|国家自然科学基金项目(61173003)|国家科技重大专项“核高基”基金项目(2011ZX03002-002-01)In order to improve the effect of data rebalancing and reduce the impact of data migration, a context-aware data reba-lancing approach is proposed. First, a predictive model of migration time is presented to depict the impact of virtualization context on data migration. Then a context-aware data rebalancing algorithm (CADR) is provided based on fine-grained resource monitoring. The experiments show that our prediction model of migration time has a low error rate, and CADR can improve perfor-mance compared with a typical data rebalancing algorithm

    progress and challenges of distributed caching techniques in cloud computing

    No full text
    作为云平台提升应用性能的一种重要手段,分布式缓存技术近年来受到了工业界和学术界的广泛关注.从云计算与分布式缓存技术的结合入手,分析介绍了分布式缓存的特性、典型应用场景、发展阶段、相关标准规范以及推动缓存技术发展的若干关键要素.为系统地了解分布式缓存技术的现状和不足,建立了一个云环境下分布式缓存技术的分析框架——DctAF.该框架从分析云计算的特点和缓存技术的边界出发,涵盖6个分析维度.基于DctAF框架,对当前缓存技术进行总结和分析,并对典型系统进行比较.在此基础上,深入阐述了云环境下分布式缓存系统面临的挑战;围绕上述挑战,分析和比较了已有的研究工作.国家重点基础研究发展计划(973)(2009CB320704)|国家自然科学基金(61173003,61100068)|国家高技术研究发展计划(863)(2012AA011204)|国家科技支撑计划(2011BAH15B03)As an important application of acceleration in the cloud, the distributed caching technology has received considerable attention in industry and academia. This paper starts with a discussion on the combination of cloud computing and distributed caching technology, giving an analysis of its characteristics, typical application scenarios, stages of development, standards, and several key elements, which have promoted its development. In order to systematically know the state of art progress and weak points of the distributed caching technology, the paper builds a multi-dimensional framework, DctAF. This framework is constituted of 6 dimensions through analyzing the characteristics of cloud computing and boundary of the caching techniques. Based on DctAF, current techniques have been analyzed and summarized; comparisons among several influential products have also been made. Finally, the paper describes and highlights the several challenges that the cache system faces and examines the current research through in-depth analysis and comparison

    enabling elasticity of key-value stores in the cloud using cost-aware live data migration

    No full text
    Key/Value存储系统在大规模、高性能云应用支撑方面扮演了重要的角色,对云端Key/Value存储系统而言,数据迁移是实现节点动态扩展与弹性负载均衡的关键技术.如何降低迁移开销,是云服务提供商需着力解决的问题.已有研究工作大多针对非虚拟化环境下的数据迁移问题,这些方法对于云端Key/Value存储系统而言往往并不适用.为应对上述挑战,将数据迁移问题纳入负载均衡场景解决.提出一种基于面积的迁移开销模型,该模型可以有效感知底层VM性能干扰状况,权衡迁移时间与性能衰减值.进一步提出一种开销敏感的数据迁移算法,该算法基于开销模型与均衡度制订数据迁移计划,选取最优的迁移操作.基于雅虎的云服务基准测试工具YCSB验证了该方法的有效性.国家自然科学基金(61173003,61100068)|国家重点基础研究发展计划(973)(2009CB320704)|国家高技术研究发展计划(863)(2012AA011204)|国家科技支撑计划(2012BAH05F02)Key-Value stores play an important role in todays large-scale, high-performance cloud applications. Elastic scaling and load rebalancing with low cost live data migration are critical to enabling the elasticity of Key/Value stores in the cloud. Learning how to reduce the migration cost is one difficult problem that cloud providers are trying to solve. Many existing works try to address this issue in non-virtual environments. These approaches, however, may not be well suited for cloud-based Key/Value stores. To address this challenge, the study tackles the data migration problem under a load rebalancing scenario. The paper builds a one cost model that could be aware of the underlying VM interference and trade-off between migration time and performance impact. A cost-aware migration algorithm is designed to utilize the cost model and balance rate to guide the choice of possible migration actions. Our evaluation using Yahoo! Cloud Serving Benchmark shows the effectiveness of the approach
    corecore