[发明专利]面向SSD的文件系统中自适应直接IO加速方法有效
申请号: | 201510236213.9 | 申请日: | 2015-05-11 |
公开(公告)号: | CN104881248B | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 周恩强;张伟;陈志广;董勇;卢宇彤;朱清华 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 赵洪,谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 ssd 文件系统 自适应 直接 io 加速 方法 | ||
技术领域
本发明涉及计算机操作系统领域,具体涉及一种面向SSD的文件系统中自适应直接IO加速方法,自适应地利用直接IO(Direct IO)方式缩短IO路径从而提高IO性能。
背景技术
目前,计算机系统面临的事务中以数据为中心的任务逐步占据主导地位。然而,在整个计算机系统中IO子系统一直滞后于计算子系统。如何为计算部件及时提供待处理数据并快速保存所得处理结果是计算机系统设计的一大挑战。待处理数据和所得处理结果一般通过文件系统保存在外部存储设备上,而计算部件和存储设备之间的数据交互需要经历一段很长的IO路径。以类Unix系统为例,应用程序请求数据时,先在该应用程序对应的进程空间申请一块存储区域,然后向VFS(虚拟文件系统)发出读请求,所述读请求进一步被发送到设备驱动层,并由设备驱动程序最终发送到具体的存储设备。存储设备返回数据后,所述读请求沿原路返回,依次经历设备驱动层、VFS层,并最终将读取的数据拷贝到读请求发出前申请的存储空间中。在基于磁盘的传统存储系统中,由于存储设备延迟极大、带宽较低,以上所述IO路径中设备驱动层以下部分成为主要的瓶颈,并导致整个存储系统的IO性能低下。
为了缓解由于存储设备缓慢而导致的IO性能低下的局面,研究人员在VFS层设计了一个基于内存的缓冲区,用来保留最近使用或者频繁使用的数据,从而将新的IO路径改为如下所述:以读请求为例,应用程序在进程空间申请一片存储区域后向VFS发出读请求,若所请求的数据保存在VFS的内存缓冲区中,则可直接将该数据从内存缓冲区拷贝到所申请用户数据存储区域;否则,VFS将读请求进一步发送到设备驱动层,并最终由底层存储设备响应,存储设备返回的数据首先保存在VFS的内存缓冲区,然后由缓冲区拷贝到所申请的用户数据存储区域。对于写请求,应用程序只需将待写数据拷贝到VFS的内存缓冲区即可,内存缓冲区会定期将数据刷新到底层持久存储设备。按以上所述IO路径执行IO请求的模式被称作缓冲IO(Buffer IO)。在缓冲IO模式下,当应用程序发出的IO请求表现出很强的局部性时,大量的IO请求可直接由内存缓冲区响应,从而有效缓解了磁盘的瓶颈效应。由于磁盘长期在计算机外存设备中占主导地位,而缓冲IO能够显著降低磁盘对IO性能的影响,因此,缓冲IO一直作为操作系统中的主流IO模式而被应用程序广泛地采用。
缓冲IO模式的高效能依赖于两个先决条件:应用程序发出的IO请求显示出很强的局部性;底层存储设备的性能显著低于内存。前者保证大量的IO请求能够在内存缓冲区中命中,从而减少由性能较差的底层存储设备响应的IO请求数量。后者主要为了防止缓冲IO模式引入的内存拷贝导致显著的性能损失。以缓冲IO模式执行读请求时,若应用程序所请求的数据没有保存在VFS的内存缓冲区中,则需要先从存储设备获取数据保存到内存缓冲区,再由内存缓冲区拷贝到用户存储空间。以缓冲IO模式执行写请求时,需要将用户存储空间的数据先拷贝到内存缓冲区,再由内存缓冲区写到底层持久存储设备。总之,无论读写操作都需要一次额外的内存拷贝,而不允许用户存储空间和底层存储设备直接交互。当底层存储设备为磁盘时,由于磁盘的读写延迟极大、带宽很低,相比于磁盘带来的延迟,内存拷贝的时间开销可忽略不计。因此,在基于磁盘的存储系统中缓冲IO模式能取得较好的效能。
然而,在当前的应用需求和技术背景下,缓冲IO模式所需要的两个条件已很难保证。一方面,当前的许多应用以数据为中心,由于数据量空前增长,应用程序发出的IO请求表现出较弱的局部性,导致VFS中的内存缓冲区取得的命中率有限,缓冲IO模式很难发挥较高的效能。另一方面,新近出现的SSD(Solid State Drive,固态盘)能够提供较高的性能,基于PCIE接口的SSD所提供的带宽甚至达到与内存相当的量级。由于底层存储设备速度变快,IO请求花在设备上的延时变短。相应地,缓冲IO引入的内存拷贝带来的时间开销在整个IO延迟中所占的分量加重,且不可再忽略不计。鉴于以上两点原因,缓冲IO模式已不适用于面向数据密集型应用的基于SSD的大规模存储系统。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种适用于数据密集型应用,能够显著降低存储系统的IO延迟,降低系统功耗,IO路径短、IO速度快、读写延迟低、与现有存储系统兼容、内存开销低的面向SSD的文件系统中自适应直接IO加速方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向SSD的文件系统中自适应直接IO加速方法,步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510236213.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:女鞋(KT‑LQ170031)
- 下一篇:女鞋(KT‑LQ170035)