[发明专利]一种虚拟化IO性能优化方法及系统有效
申请号: | 201610659376.2 | 申请日: | 2016-08-11 |
公开(公告)号: | CN106325974B | 公开(公告)日: | 2020-02-07 |
发明(设计)人: | 杨敏;刘相乐 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48 |
代理公司: | 11227 北京集佳知识产权代理有限公司 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 目标队列 请求封装 计算资源 系统整体 响应延迟 性能优化 一次处理 客户机 宿主机 虚拟化 阈值时 保存 检测 | ||
1.一种基于virtio_blk的虚拟化IO性能优化方法,其特征在于,包括:
接收到bio请求时,通过BASE_BIO模块将bio请求存入目标队列;
当所述目标队列保存的bio请求数目大于预定阈值时,检测所述目标队列保存的bio请求是否存在相邻请求;
若存在,则将相邻请求封装为virtblk_reques t,并执行kick操作;若不存在,则将每个bio请求封装为对应的virtblk_request,并执行kick操作;
其中,检测到所述目标队列保存的bio请求存在相邻请求之后,还包括:
按照预定规则,将相邻请求动态移动到所述目标队列的前端;
其中,检测到所述目标队列保存的bio请求不存在相邻请求之后,还包括:
设置与每个bio请求对应的计时器;
若检测到计时器超时,则将与超时的计数器对应的bio请求的处理优先级设置为最高。
2.根据权利要求1所述的虚拟化IO性能优化方法,其特征在于,所述按照预定规则,将相邻请求动态移动到所述目标队列的前端,包括:
根据检测到的每个相邻请求的请求数目,设定每个相邻请求的优先级,并根据每个相邻请求的优先级,动态调整每个相邻请求在所述目标队列的保存位置。
3.根据权利要求1或2所述的虚拟化IO性能优化方法,其特征在于,检测所述目标队列保存的bio请求是否存在相邻请求,包括:
检测所述目标队列保存的bio请求是否存在位于同一扇区、同一磁道、同一柱面或者同一磁盘中的一者的bio请求;
若存在,则将位于同一扇区、同一磁道、同一柱面或者同一磁盘中的bio请求作为一组相邻请求。
4.一种基于virtio_blk的虚拟化IO性能优化系统,其特征在于,包括:
Bio请求存入模块,用于接收到bio请求时,通过BASE_BIO模块将bio请求存入目标队列;
相邻请求检测模块,用于当所述目标队列保存的bio请求数目大于预定阈值时,检测所述目标队列保存的bio请求是否存在相邻请求;若存在,则触发第一封装模块;若不存在,则触发第二封装模块;
所述第一封装模块,用于将相邻请求封装为virtblk_reques t;
所述第二封装模块,用于将每个bio请求封装为对应的virtblk_request;
执行模块,用于对封装后的virtblk_requet执行kick操作;
动态调整模块,用于按照预定规则,将相邻请求动态移动到所述目标队列的前端;
计时器设置模块,用于设置与每个bio请求对应的计时器;
处理优先级调整模块,用于检测到计时器超时,则将与超时的计数器对应的bio请求的处理优先级设置为最高。
5.根据权利要求4所述的虚拟化IO性能优化系统,其特征在于,
所述动态调整模块根据检测到的每个相邻请求的请求数目,设定每个相邻请求的优先级,并根据每个相邻请求的优先级,动态调整每个相邻请求在所述目标队列的保存位置。
6.根据权利要求4或5所述的虚拟化IO性能优化系统,其特征在于,
所述相邻请求检测模块通过检测所述目标队列保存的bio请求是否存在位于同一扇区、同一磁道、同一柱面或者同一磁盘中的一者的bio请求;若存在,则将位于同一扇区、同一磁道、同一柱面或者同一磁盘中的bio请求作为一组相邻请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610659376.2/1.html,转载请声明来源钻瓜专利网。