[发明专利]一种虚拟I/O调度方法和系统在审
申请号: | 201310573986.7 | 申请日: | 2013-11-15 |
公开(公告)号: | CN104636201A | 公开(公告)日: | 2015-05-20 |
发明(设计)人: | 谢朝阳;高原;郭健 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 曾晖 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 调度 方法 系统 | ||
技术领域
本发明涉及云计算领域,特别是涉及一种虚拟I/O调度方法和系统。
背景技术
当今计算时代正在由信息共享向服务共享过渡,在这个跨越中出现了新的计算模式——云计算。云计算支持用户根据自己的需求,从使用的各种设备(包括固定和移动及家庭各类设备)找到相关计算服务,而这些服务又是存储在位于分布式网络的服务器。云计算作为一种网络化按需加载的分布式系统,终端系统会产生大量的混杂类型的虚拟I/O。其中包括系统类的I/O请求、非实时性文件I/O请求和实时性文件I/O请求等,图1所示为云计算环境下虚拟I/O的处理过程。然而近年来CPU计算速度的飞速提升并没有带来计算机I/O处理速度的提高,I/O一直是计算机性能的瓶颈,对于云计算模式也不例外。因此,改善终端系统性能的一个有效方法是提高I/O的处理性能。
传统的I/O调度方法存在以下问题:
第一、通用的I/O调度算法(如SCAN,SSTF)都将力图减少物理磁盘的寻道时间和旋转时间作为提高磁盘系统响应时间和吞吐率的一个重要因素。但云计算终端是由虚拟磁盘机制向加载的操作系统提供平面寻址的虚拟块设备,因此终端的磁盘I/O处理和调度机制无需考虑磁盘的物理属性。
第二、支持QoS控制的I/O的调度算法需要操作系统中有支持硬实时的QoS控制模块来提供QoS控制参数,会给上至应用程序下到物理磁盘调度带来较大开销,而且对操作系统的修改也较大,实现复杂。
第三、云计算在处理虚拟磁盘I/O的路径上增加了网络传输以及服务器上的I/O处理,路径较单机系统更长,所以大量小I/O产生的小数据包会使得网络传输的性能降低,网络I/O的性能下降。因此将小I/O聚合对于I/O处理路径较长的云计算系统有重要影响。现有聚合小I/O的方法如Collective I/O,无法获得上层的语义信息,即没有区分I/O的类型,从而聚合的效率不高。
发明内容
鉴于以上,本发明提出一种虚拟I/O调度方法和系统,以解决现有技术存在的至少一个问题。
根据本发明一方面,提出一种虚拟I/O调度方法,包括:当上层应用对文件系统产生I/O请求Rk时,CFD通过文件系统的过滤驱动截获请求Rk,根据文件Fk、进程Pk和时间戳Tk将该请求分类,将分类标记Ck附加在请求Rk中,并根据附加的分类标记Ck将该I/O请求插入到各自类别的I/O队列中;在本地缓存中查找该I/O请求所需的数据块,如果找到,则返回。
进一步,在本地缓存中未查找到该I/O请求所需的数据块时,为不同类别的I/O队列赋予不同的处理优先权重;对某一队列的I/O进行处理时,对队列中的I/O进行聚合,将连续块的请求聚合为一个请求;未工作的NBD实例被唤醒,将该I/O请求封装成NBD包,调用本地网卡驱动,发送到服务器上处理,以从服务器获取I/O请求所需的数据块。
进一步,创建文件Fk、进程Pk和时间戳Tk到分类集合Ck的映射函数f,并根据该映射函数将请求分类。
进一步,根据分配给每类I/O的优先权重来规定每类I/O处理在每轮处理中的所占时间。
进一步,预先创建多个NBD实例,当处理一个聚合I/O请求时,未工作的NBD实例被唤醒。
根据本发明一方面,提出一种虚拟I/O调度系统,包括CFD和CBC,其中:CFD,当上层应用对文件系统产生I/O请求Rk时,通过文件系统的过滤驱动截获请求Rk,根据文件Fk、进程Pk和时间戳Tk将该请求分类,将分类标记Ck附加在请求Rk中,并根据附加的分类标记Ck将该I/O请求插入到各自类别的I/O队列中;CBC,在本地缓存中查找该I/O请求所需的数据块,如果找到,则返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司;,未经中国电信股份有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310573986.7/2.html,转载请声明来源钻瓜专利网。