[发明专利]一种提升通用块层I/O请求合并的方法、系统及介质在审
| 申请号: | 202310550758.1 | 申请日: | 2023-05-16 |
| 公开(公告)号: | CN116521086A | 公开(公告)日: | 2023-08-01 |
| 发明(设计)人: | 刘正元;刘云;胡海;肖林逵;张铎 | 申请(专利权)人: | 麒麟软件有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
| 地址: | 300459 天津市滨海新区高*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提升 通用 请求 合并 方法 系统 介质 | ||
本发明公开了一种提升通用块层I/O请求合并的方法、系统及介质,本发明方法包括针对进入通用块层的I/O请求,依据LBA地址建立哈希值并索引调度队列的哈希链表寻找可前向合并的I/O请求,若找到则将该I/O请求与找到的I/O请求执行向前合并操作,并将找到的可前向合并的I/O请求从哈希链表中删除、将向前合并操作后得到的新的I/O请求添加到哈希链表中;否则,将该I/O请求直接添加到哈希链表中。本发明旨在当新的I/O请求进入I/O调度器时尝试将其合并到调度队列中现有I/O请求的前面,从而达到提升系统I/O请求合并率的目的,降低系统I/O请求处理的开销,并提升整个系统I/O资源的利用率。
技术领域
本发明涉及操作系统领域的I/O优化技术,具体涉及一种提升通用块层I/O请求合并的方法、系统及介质。
背景技术
当前,开源软件在世界范围内影响力日益增强,Linux操作系统在整个操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。近年来,一直保持着快速的增长率,尤其在政府、金融、农业、交通、电信等国家关键领域,Linux已经成为服务器操作系统领域中的中坚力量。
I/O子系统是Linux内核的核心子系统之一。通用块层作为I/O子系统的核心组成部分,对上承接文件系统,对下连接存储设备驱动,所有文件操作I/O请求都会经过通用块层的处理。因此,通用块层对I/O请求的处理效率直接关系到系统文件的读写效率,关系到上层业务系统指标以及用户的使用体验。
为了提升I/O请求的处理效率,通用块层会对I/O请求采取一系列操作,以此来提升整个I/O资源的带宽以及降低I/O访问的延迟,其中包括对I/O请求进行合并。合并带来的好处包括可以降低系统处理的开销,可以减少磁盘寻址的次数等。当前通用块层对I/O请求采取的是向后合并(Back Merge)方式,向后合并(Back Merge)指一个 I/O请求A在调度队列里面进行查找,如果存在某个 I/O请求B的LBA结束地址等于I/O请求A的LBA起始地址,则I/O请求A可以被I/O请求B合并到其尾部。当前的向后合并可适用于大部分I/O场景,但是在一些多线程随机I/O的场景显示I/O请求合并率不是很高,通过引入向前合并(FrontMerge)的算法可以促进I/O请求合并,从而提升I/O资源访问的效率。向前合并(FrontMerge)指一个 I/O请求A在调度队列里面进行查找,如果存在某个 I/O请求B的LBA起始地址等于I/O请求A的LBA结束地址,则I/O请求A可以合并I/O请求B到其尾部。
现有的通用块层I/O请求合并方法中,没有能解决多线程随机I/O场景下请求合并率低的问题,对于单线或多线离散度不高的I/O访问方式有较好的实现效果,但对于多线随机I/O几乎没有合并效果,导致该场景下达不到系统最好I/O访问效率,影响用户体验。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种提升通用块层I/O请求合并的方法、系统及介质,本发明旨在当新的I/O请求进入I/O调度器时尝试将其合并到调度队列中现有I/O请求的前面,从而达到提升系统I/O请求合并率的目的,降低系统I/O请求处理的开销,并提升整个系统I/O资源的利用率。
为了解决上述技术问题,本发明采用的技术方案为:
一种提升通用块层I/O请求合并的方法,包括:
S101,针对进入通用块层的I/O请求,依据该I/O请求的LBA地址建立哈希值,并使用哈希值作为键值索引调度队列的哈希链表寻找可前向合并的I/O请求,若找到可前向合并的I/O请求,则跳转步骤S102;否则,将该I/O请求添加到哈希链表中,结束;
S102,将该I/O请求、找到的可前向合并的I/O请求执行向前合并操作,并将找到的可前向合并的I/O请求从哈希链表中删除、将向前合并操作后得到的新的I/O请求添加到哈希链表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310550758.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种销户银行卡粉碎设备
- 下一篇:一种汽轮机探头防共振安装装置





