基于NVM混合内存的可扩展文件系统、方法、介质及设备技术方案

技术编号:37613901 阅读:7 留言:0更新日期:2023-05-18 12:05
本发明专利技术提供了一种基于NVM混合内存的可扩展文件系统、方法、介质及设备,包括:基于数据块的文件锁策略:将文件系统读写时上锁的粒度定义为固定大小的数据块,在应用程序对文件系统发送读/写请求时,文件系统将对包含请求数据范围的数据块进行上锁操作;日志的预分配策略:在文件系统中对写日志和写数据进行数据持久化操作,最大化I/O执行时的并发性;基于页的垃圾回收机制:通过基于页的计数器来追踪每个页的使用情况,对每个日志页使用单独的锁来控制其是否能进行垃圾回收。本发明专利技术对基于NVM混合内存的文件系统进行了可扩展性优化,在多线程读写同一份文件的场景下,提高了文件系统的吞吐量。吞吐量。吞吐量。

【技术实现步骤摘要】
基于NVM混合内存的可扩展文件系统、方法、介质及设备


[0001]本专利技术涉及NVM混合内存
,具体地,涉及一种基于NVM混合内存的可扩展文件系统、方法、介质及设备。

技术介绍

[0002]文件系统作为提供用户数据持久化的计算机子系统,在操作系统中扮演着十分重要的角色。通过对持久化设备中数据的抽象与组织,将用户数据存储到连接系统的持久化设备中,完成数据的持久化操作,允许断电后数据的恢复。文件数据的抽象与组织,多用户访问下数据的一致性保护,文件读写的速度,都是文件系统的设计与实现中重要的考量因素。
[0003]计算机系统的快速发展不断提升着计算设备的处理能力,中央处理器(Central Computing Process,简称CPU)的计算能力不在受限于芯片上堆叠的晶体管数量。为了满足中央处理器的高速处理性能要求,多核心中央处理器的解决方案为CPU的发展提供了一个新的方向,大大提升了CPU的计算能力和计算速度,赋予了单机处理高性能计算任务的可能。目前,现代商用服务器往往配置有上百个中央处理器核心,让多核心的处理器同时进行多任务计算,或是协作完成单个复杂任务,或是完成不同类型的计算任务。
[0004]处理器性能提升的同时,应用程序对I/O操作的需求也在不断扩大。复杂、密集的计算任务对数据具有高度依赖,一方面,计算任务所需的数据需要从持久化设备中获取;另一方面,计算出来的数据往往有持久化的需求,需要将其通过文件系统最终存储到持久化设备中。随着应用程序规模的增加,持久化数据的体量也在不断扩大,系统的性能瓶颈落到了数据I/O过程中。海量的并发应用和数据读取对系统的I/O能力提出了新的挑战,除了要求提供低时延和高吞吐量的支持,更是对文件系统和高速存储设备的可扩展性提出了新的要求。
[0005]针对I/O过程的可扩展性问题,一方面,硬件厂商通过优化存储介质的排列、构造多个I/O队列等方式增加硬件层面的并发支持;另一方面,软件层面也有许多针对文件系统可扩展性的相关研究,希望通过软件的方式减缓高并发场景下的性能下降问题。
[0006]新型非易失性内存(Non

Non

Volatile Memory,简称NVM)的出现给高性能文件系统提供了机会。新型非易失性内存包括ReRam、PCM和3D

XPoint等,具有低时延、字节访问等特点,给了高性能文件系统的发展提供了可能。此外,随着Intel傲腾非易失性内存的发布,非易失性内存的商用化为基于非易失性内存编写的商用软件提供了便利。相较于使用机械硬盘、固态硬盘作为外部存储的传统文件系统,如ext4,F2FS,现在人们希望利用NVM读写时延低、吞吐量高等特点,开发基于NVM混合内存的高性能文件系统。
[0007]随着通用处理器核心数量的增加,衡量文件系统性能的指标在时延、吞吐量的基础上增加了高可扩展的要求。虽然目前有许多针对传统存储介质的文件系统可扩展性研究,但是面向NVM混合内存的文件系统高可扩展研究仍处于起步阶段,开展面向NVM混合内存的高可扩展文件系统研究对文件系统的高质量发展具有重要研究意义和应用价值。
[0008]专利文献CN107862064A(申请号:CN201711133827.X)公开了一个基于NVM的高性能、可扩展的轻量级文件系统,包括:超级块,索引节点表,哈希表,区段表,元数据日志,数据日志,位图和文件数据空间;索引节点表中存储索引节点,每个节点存储必要的元数据信息;区段表中存储区段,每个区段存储一段以字节单位组织的连续区域信息;文件系统命名层由所述全局哈希表组织,其每个哈希桶是一个链接了具有相同哈希值的节点的链表;每个文件的数据由基于区段的文件B+树管理,各区段作为文件树的叶节点表示对应的文件数据片段;元数据日志和所述数据日志均包含多个日志文件;位图表示文件系统中每个数据块的使用情况;文件数据空间存储文件数据,以4KB大小的块为单位进行管理。
[0009]此外,现有的研究对文件系统扩展性的提升建立在用户不会读写同一个文件的基础上。文件系统通过基于文件的锁对文件进行读写数据的一致性保护。当任意两个请求需要写同一个文件系统时,都会因为锁冲突的原因而只能串行化执行。因此,需要针对并发请求读写同一个文件的不同区域的情况进行优化。
[0010]基于上述要求,本专利技术针对基于NVM混合内存的文件系统进行可扩展性研究,对典型的基于NVM混合内存的日志型文件系统进行优化,通过块级别的锁来优化锁的粒度,允许更高程度的并发,并提出了日志的预分配策略和基于页的垃圾回收方案,更好的优化了读写流水线的执行,以此提高基于NVM混合内存的文件系统可扩展性。

技术实现思路

[0011]针对现有技术中的缺陷,本专利技术的目的是提供一种基于NVM混合内存的可扩展文件系统、方法、介质及设备。
[0012]根据本专利技术提供的基于NVM混合内存的可扩展文件系统,包括:
[0013]基于数据块的文件锁策略:将文件系统读写时上锁的粒度定义为固定大小的数据块,在应用程序对文件系统发送读/写请求时,文件系统将对包含请求数据范围的数据块进行上锁操作;
[0014]日志的预分配策略:在文件系统中对写日志和写数据进行数据持久化操作,最大化I/O执行时的并发性;
[0015]基于页的垃圾回收机制:通过基于页的计数器来追踪每个页的使用情况,对每个日志页使用单独的锁来控制其是否能进行垃圾回收。
[0016]优选的,所述基于数据块的文件锁策略包括:当一次读/写请求大小超过单个数据块大小时,在处理请求之初对连续多个数据块上锁;在文件系统挂载时确定文件锁的粒度,当锁的大小固定后,将文件锁的索引结构做成数组结构,通过偏移量进行快速定位。
[0017]优选的,所述日志的预分配策略包括:对写请求的流水线进行重新组合,将日志的多次写入整合到单次写入,并将记录日志和更新尾指针这两个强关联的操作分解,在日志空间分配时更新文件日志尾指针,在无锁的情况下完成日志的持久化操作。
[0018]优选的,所述基于页的垃圾回收机制包括:在垃圾回收的过程中,只对部分允许垃圾回收的页进行处理;基于页的垃圾回收结束后立即释放相关的锁,允许其他应用及时访问数据,减少系统因为垃圾回收而挂起的时间。
[0019]根据本专利技术提供的基于NVM混合内存的可扩展文件系统实现方法,包括:
[0020]步骤1:将文件系统读写时上锁的粒度定义为固定大小的数据块,在应用程序对文
件系统发送读/写请求时,文件系统将对包含请求数据范围的数据块进行上锁操作;
[0021]步骤2:在文件系统中对写日志和写数据进行数据持久化操作,最大化I/O执行时的并发性;
[0022]步骤3:通过基于页的计数器来追踪每个页的使用情况,对每个日志页使用单独的锁来控制其是否能进行垃圾回收。
[0023]优选的,所述步骤1包括:当一次读/写请求大小超过单个数据块大小时,在处理请求之初对连续多个数据块上锁;在文件系统挂本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于NVM混合内存的可扩展文件系统,其特征在于,包括:基于数据块的文件锁策略:将文件系统读写时上锁的粒度定义为固定大小的数据块,在应用程序对文件系统发送读/写请求时,文件系统将对包含请求数据范围的数据块进行上锁操作;日志的预分配策略:在文件系统中对写日志和写数据进行数据持久化操作,最大化I/O执行时的并发性;基于页的垃圾回收机制:通过基于页的计数器来追踪每个页的使用情况,对每个日志页使用单独的锁来控制其是否能进行垃圾回收。2.根据权利要求1所述的基于NVM混合内存的可扩展文件系统,其特征在于,所述基于数据块的文件锁策略包括:当一次读/写请求大小超过单个数据块大小时,在处理请求之初对连续多个数据块上锁;在文件系统挂载时确定文件锁的粒度,当锁的大小固定后,将文件锁的索引结构做成数组结构,通过偏移量进行快速定位。3.根据权利要求1所述的基于NVM混合内存的可扩展文件系统,其特征在于,所述日志的预分配策略包括:对写请求的流水线进行重新组合,将日志的多次写入整合到单次写入,并将记录日志和更新尾指针这两个强关联的操作分解,在日志空间分配时更新文件日志尾指针,在无锁的情况下完成日志的持久化操作。4.根据权利要求1所述的基于NVM混合内存的可扩展文件系统,其特征在于,所述基于页的垃圾回收机制包括:在垃圾回收的过程中,只对部分允许垃圾回收的页进行处理;基于页的垃圾回收结束后立即释放相关的锁,允许其他应用及时访问数据,减少系统因为垃圾回收而挂起的时间。5.一种基于NVM混合内存的可扩展文件系统实现方法,其特征在于,包括:步骤1:将文件系统读写时上锁的粒度定义为固定大小的数据块,在应用程序对文件系统发送读/写请求时,文件系统将对包含...

【专利技术属性】
技术研发人员:姚建国顾琦琪管海兵
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1