avatar avatar 我的文献 基于服务感知的I/O请求调度算法研究 作者 李雅芳 单位 湖南大学 导师 谭怀亮 关键词 服务感知; I/O调度; I/O特征; QoS; 公平性 基金 高等学校博士科学点专项科研基金
摘要
I/O调度算法对磁盘性能有着至关重要的影响。传统的磁盘调度算法主要通过优化寻道时间来提高磁盘的I/O带宽利用率,但没有考虑到单个请求的响应时间,不能满足实时性要求,也无法感知不同类型请求的不同QoS需求。实时应用越来越广泛,为满足实时请求或者时间敏感性强的请求,人们又提出了一些实时调度算法,用以在满足各个请求的截止期的基础上最大化吞吐量。系统在处理应用提交的I/O请求时,还需要满足应用类型提出的各种服务质量(Quality of Service, QoS)需求。而不同的应用类型有不同的QoS需求。随着计算机应用的日渐复杂化,混合负载工作模式已成为一种趋势。不同的应用请求有着不同的I/O特征。研究和应用I/O特征有利于磁盘调度算法的优化和设计工作的展开。Linux内核采用的四种I/O调度机制各有优缺点,分别适用于不同的应用环境。CFQ (Completely Fair Queuing)算法在2.6.18版之后成为Linux的默认调度算法。本论文分析Linux中的CFQ调度算法,CFQ算法以调度的请求个数为公平性标准,队列间采用RR (Round Robin)算法进行轮询,过分依赖请求的优先级,无法做到完全公平。本文针对混合负载工作模式提出了服务感知机制。根据请求的时间敏感性特征,服务感知机制有效地实现了请求的分类。针对CFQ算法的缺点,提出一种基于服务感知的ICFQ (Improved Completely Fair Queuing)调度算法。该算法通过服务感知机制有效感知请求类型,对不同类型的请求给予不同的调度策略,以磁盘带宽为公平性度量标准,采用MDRR (Modified Deficit Round Robin)轮询调度各个队列,以队列中请求个数占总请求个数的比例为队列的权重,通过权重和优先级共同控制队列调度的时间片长度。本文实验采用IOMeter性能测试工具,采用吞吐量、带宽、最大响应时间及平均响应时间作为性能指标,分别对CFQ算法和ICFQ算法进行测试。实验结果表明ICFQ算法在提高了吞吐量和带宽的同时,维持较低的响应时间。在混合负载工作模式下,改进后的ICFQ较之原CFQ,能提高较高的性能和公平性。
下载 cnki {{liketext}}
©2018 - iData {{ message }} 关闭