论文部分内容阅读
随着数据管理复杂度和维护成本的增加,采用共享存储系统进行IO整合已成为业界一种趋势。但并发应用间的干扰造成了性能的不可预测性,为此对共享存储系统提出了性能虚拟化的需求:提供一种性能管理机制进行应用SLO的满足。已有研究可以在不同的共享存储结构下提供吞吐率和延迟的性能虚拟化能力,但往往缺乏对负载的异构性和存储服务能力依赖负载访问模式这两个特点的考虑,造成存储资源未能充分得到剩用。
本文面向不同的共享存储结构和负载模型,深入研究更适合于存储系统的性能虚拟化机制,主要贡献包括:
(1)提出了QClock,一种面向集中式共享存储,基于请求标签进行性能虚拟化保障的IO调度机制。QClock首先通过到达曲线(一种能够有效体现吞吐率和突发约束的算法)进行请求的标签设置,接着采用最早截止时限优先调度算法基于标签进行IO请求的发送。测试表明,QClock具有如下特点:(a)通过对影响标签设定值的关键参数进行合理调整,有效避免了由于使用空闲资源而带来的惩罚;(b)通过对设备队列长度阈值的在线调整,QClock能够在满足性能虚拟化保障的前提下更好地利用共享存储的服务能力。
(2)提出了FBctlr,一种面向分布式共享存储,针对同步负载的IO流量控制机制。FBctlr是一种基于控制论的性能虚拟化机制,通过对I控制器的控制参数KI的在线拟合,FBctlr能够在异构负载并发时,通过基于IOslots的流量控制,满足负载的吞吐率可按比例分配的性能虚拟化目标。测试表明,相比PARDA等直接使用IOslots作为评价指标的虚拟化机制,FBctlr能够显著提升资源共享的公平性,最高达到57.87%的公平性提升。
(3)提出了DPG(Distributed Performance Guarantee),一种面向分布式共享存储,针对异步负载的IO流量控制机制。通过在线监控负载到达特征和负载实际性能,结合排队论的基本定律LittlesLaw,动态建立负载性能到存储资源的映射关系,通过IOslots的调整来更好地利用存储资源满足性能虚拟化目标。测试表明,DPG相比RW(D)能够有效降低SLO的不满足率,最多可达到23%;且当异步负载与同步负载并发时,DPG能够在保障异步负载性能需求同时,有效提高同步负载的吞吐率。