一个基于NVM的高性能、可扩展的轻量级文件系统技术方案

技术编号:17597206 阅读:72 留言:0更新日期:2018-03-31 10:20
本发明专利技术提出一个基于NVM的高性能、可扩展的轻量级文件系统,包括:超级块,索引节点表,哈希表,区段表,元数据日志,数据日志,位图和文件数据空间;索引节点表中存储索引节点,每个节点存储必要的元数据信息;区段表中存储区段,每个区段存储一段以字节单位组织的连续区域信息;文件系统命名层由所述全局哈希表组织,其每个哈希桶是一个链接了具有相同哈希值的节点的链表;每个文件的数据由基于区段的文件B+树管理,各区段作为文件树的叶节点表示对应的文件数据片段;元数据日志和所述数据日志均包含多个日志文件;位图表示文件系统中每个数据块的使用情况;文件数据空间存储文件数据,以4KB大小的块为单位进行管理。

A high performance, extensible lightweight file system based on NVM

The invention provides a NVM based high performance and scalable lightweight file system, including: super block, inode table, hash table, section table, metadata log, log data, and bitmap file data space; index node table stored in the index nodes, each node stores the metadata information necessary; section table in the information storage section, a storage section continuous area of each unit in bytes; file system named layer by the global hash table, each hash bucket is a link to the node with the same hash value list; each file data from the file management section of the B+ tree based on the file data fragments corresponding to each section as a leaf node in the document tree; metadata log and the log data contains multiple log files; bitmap representation for each file system The use of data blocks; file data space to store file data, which is managed in units of 4KB size.

【技术实现步骤摘要】
一个基于NVM的高性能、可扩展的轻量级文件系统
本专利技术涉及数据存储,尤其涉及一个基于NVM的高性能、可扩展的轻量级文件系统。
技术介绍
新型非易失存储NVMs,如Phasechangememory(PCM)、SpinTransferTorqueRAM(STT-RAM),读写速度接近内存、能和CPU直接通信进行字节寻址访问、具有非易失性即断电后数据不会消失的特点。这些非易失存储技术的出现将会彻底改变现有的存储系统模式,并且为数据访问提供高度的并行性和极低的延迟(纳秒级)。虽然非易失存储NVMs性能优越,但也正是因为它读写速度快、非易失性等特点为其上文件系统的设计带来了挑战,导致文件系统开销凸显,并且失去了数据一致性的保证。为了能够充分利用NVMs所提供的高性能,现有基于NVMs的文件系统改变了传统基于磁盘的文件系统的设计来利用NVMs的特性,如能与CPU直接通信、可字节寻址等。现有技术中较为优秀的基于NVM的文件系统,如图1所示,磁盘文件系统需要通过DRAM页缓存和存储设备进行数据传输;由于非易失存储NVM是字节寻址方式,所以其上文件系统可以使用一种DAX或者XIP技术直接从NVM上读写数据,无需再进行NVM和DRAM页缓存之间的数据拷贝,从而提升性能。目前市场上基于NVM的文件系统都是此类DAX文件系统,本专利技术的文件系统也采用了这种模式。(1)BPFSBPFS提出一种short-circuitshadowpaging技术实现数据细粒度的更改,减少了传统技术带来的级联写入时复制(Copy-On-Write)更新整棵文件树的多余开销;提出一种提交策略将顺序性与持久性解耦合,以缓解刷新缓存的开销。(2)PMFSPMFS跳过块层和页缓存,采用如图1所示的DAX技术提高性能,采用原子的in-place更新和细粒度日志机制保证元数据更新的原子性,采用undo日志和写入时复制(Copy-On-Write)混合方式保证数据的一致性。(3)NOVANOVA采用日志结构的方式保证操作原子性和数据一致性,在内存中创建radix树来检索日志,通过设置每个节点对应一个日志来保证高并发性,对文件数据采用写入时复制(Copy-On-Write)和日志方式保证一致性,提出了原子的文件映射进内存机制。(4)SoupFSSoupFS将软升级方法用于文件系统,应用延迟持久化方法消除文件系统系统调用关键路径中的同步缓存刷新,提出了基于指针的双观测机制,共享大多数的数据结构,但是在不同的视图中使用不同的指针,从而保证在不同步刷新缓存情况下的正确性和一致性。然而在现有技术中,即便基于NVM的文件系统针对NVM做了优化,仍旧不能充分利用NVM的特点而提供高性能的存储。现有技术中存在的问题有以下三点。(1)虚拟文件系统VFS在NVM上带来了很多不必要的开销和扩展瓶颈现有基于NVM的文件系统都是在传统的I/O堆栈体系结构限制下提升底层文件系统性能,仍需要传统的VFS层提供层次化命名和访问保护。然而,传统的VFS层是基于传统的读写缓慢的磁盘等块设备设计,为存储在磁盘上的文件系统对象提供内存缓存,其在高性能的NVM上的已无必要。VFS在传统I/O堆栈体系结构中的作用是为底层文件系统提供内存缓存,当在内存中没有查找到目标对象时,就会引发在底层文件系统中的额外查找,例如创建新文件时的路径解析过程。由于磁盘上的查找速度较慢,双重查找问题对磁盘文件系统的性能影响不大。但是在访问速度接近DRAM的NVM上,在VFS上的查找开销就变得显著。分配、初始化、释放这些内存缓存结构也带来了不必要的开销。此外,虚拟文件系统VFS采用了一些全局锁来保护并发的插入和删除,带来了多核系统上的并发瓶颈。(2)采用传统写入时复制Copy-On-Write和日志方式提供数据一致性带来多余拷贝开销现有技术的基于NVM的文件系统通常采用写入时复制Copy-On-Write(COW)和日志机制来提供数据一致性保证,即以块为单位对文件数据进行索引和修改,然而对于非块对齐的修改文件数据情况,采用写入时复制COW机制就需要将涉及的数据块中不需要覆盖写的部分拷贝到新申请的空间,再写下新的数据。NVM可以直接字节寻址访问,就可以避免拷贝不需要覆盖写的数据所引起的额外开销。对于日志,现有技术处理的方式需要写两次:一次写到日志,一次写到文件系统,并且也是以块为粒度进行更新的,现有基于NVM的文件系统采用了细粒度的日志来消除这些不必要的开销。而细粒度的日志只记录修改的元数据信息,但是他们仍需要在修改NVM上的元数据信息之前将所有元数据信息记录在日志,日志记录的开销仍会随着要修改的元数据大小增加而增加。(3实现atomic-mmap存在冗余拷贝可直接和CPU通信进行字节寻址的NVM使得DAX-mmap技术成为现实,应用程序将NVM上的物理地址映射到用户地址空间,通过load/store指令直接访问NVM,跳过了页缓存。但是,当系统崩溃时,包括传统文件系统在内的大多数文件系统都无法保证内存映射的数据一致性。NOVA通过采用COW机制修改文件数据和原子的同步共享内存区的文件数据到存储设备atomic-msync机制进行同步,实现了原子文件映射进内存(atomic-mmap)。但是,NOVA不能识别脏页,在同步时,会将所有内存映射的数据都回写到NVM,即便这些数据只是被读取而没有被修改。
技术实现思路
为了更好地解决上述问题,本专利技术提出了一个基于NVM的高性能、可扩展的轻量级文件系统PLFS,在所述文件系统PLFS中,将传统虚拟文件系统VFS和底层文件系统命名空间整合,在基于NVM的I/O堆栈体系结构下重新设计了轻量级的命名层,采用以字节为单位的细粒度的索引树实现了Non-Copy-On-Write机制,消除了传统Copy-On-Write为保证数据一致性带来的多余拷贝,尽可能的降低日志开销,提出了轻量级的atomic-mmap,通过标记脏页消除不必要的数据回写,提高执行文件操作的速度,在保证一致性的同时也保证了文件系统的高效和可扩展性,从而提升系统性能。附图说明图1为现有技术中基于NVM的文件系统结构;图2为本专利技术的文件系统数据结构的整体分布图;图3为本专利技术一实施例的哈希桶和元数据日志的映射示意图;图4为本专利技术一实施例的写文件过程。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术提出一个基于NVM的高性能、可扩展的轻量级文件系统PLFS,其是在多核系统上高度可扩展的、高效的、具有强一致性保证的文件系统。本专利技术的文件系统PLFS在NVM上进行整体布局,将整个NVM空间分成八个部分,如图2所示为本专利技术结构的整体分布图,包括:超级块(superblock),索引节点表(pinodetable),哈希表(hashtable),区段表(extenttable),元数据日志(metadatajournal),数据日志(datajournal),位图(bitmap)和文件数据空间,所述文件本文档来自技高网
...
一个基于NVM的高性能、可扩展的轻量级文件系统

【技术保护点】
一个基于NVM的高性能、可扩展的轻量级文件系统,包括:超级块,索引节点表,哈希表,区段表,元数据日志,数据日志,位图和文件数据空间;所述超级块包含了整个文件系统的信息;所述索引节点表中存储索引节点,每个所述索引节点存储了必要的元数据信息;所述哈希表用于组织文件系统命名层,其每一个哈希桶是一个链接了具有相同哈希值的索引节点的链表;所述区段表存储区段,每个所述区段存储一段以字节单位组织的连续区域信息;每个文件的数据由基于所述区段表的文件树管理;所述元数据日志和所述数据日志均包含多个日志文件,为目录操作和文件操作提供原子性保证;所述位图表示文件系统中每个数据块的使用情况;所述文件数据空间存储文件数据,以4KB大小的块为单位进行管理。

【技术特征摘要】
1.一个基于NVM的高性能、可扩展的轻量级文件系统,包括:超级块,索引节点表,哈希表,区段表,元数据日志,数据日志,位图和文件数据空间;所述超级块包含了整个文件系统的信息;所述索引节点表中存储索引节点,每个所述索引节点存储了必要的元数据信息;所述哈希表用于组织文件系统命名层,其每一个哈希桶是一个链接了具有相同哈希值的索引节点的链表;所述区段表存储区段,每个所述区段存储一段以字节单位组织的连续区域信息;每个文件的数据由基于所述区段表的文件树管理;所述元数据日志和所述数据日志均包含多个日志文件,为目录操作和文件操作提供原子性保证;所述位图表示文件系统中每个数据块的使用情况;所述文件数据空间存储文件数据,以4KB大小的块为单位进行管理。2.如权利要求1所述的文件系统,其特征在于,所述索引节点表为非易失存储NVM上的一块连续的区域存储所述索引节点,由内存中的每CPU链表管理所述索引节点的申请和释放,每个所述索引节点占128字节空间,存储了必要的文件元数据信息,所述元数据信息包括文件名、文件大小、文件树第一个叶节点位置等,文件系统可以通过给定的索引节点编号对所述索引节点进行寻址访问,所述哈希表为一个全局结构,用于管理文件系统命名空间,其每一个哈希桶是一个链接了具有相同哈希值的索引结点的链表;所述区段表为NVM上的一块连续的区域存储所述区段,由内存中的每CPU链表管理所述区段的申请和释放,所述区段以字节为单位记录对应的文件数据片段在文件中的起始偏移和这段连续空间的字节数,所述文件树是以字节单位键值进行索引的B+树,索引键值根据每个文件数据片段的起始偏移生成,每个叶节点均有指针指向键值对应的区段,文件系统中的每个文件都在内存中建立了完整的B+树进行索引,NVM只记录所述文件树的叶节点(区段),所有区段链接起来以便进行内存文件树的重建,在该文件的索引节点中记录第一个区段的位置。3.如权利要求2所述的文件系统,其特征在于,所述文件系统将哈希表和元数据日志映射,每一个哈希桶根据其哈希值对元数据日志文件数取模分配其对应的元数据日志文件;每个所述索引节点具有各自的数据日志,在同步文件数据时申请日志文件,当一个日志文件写满时申请新的日志文件并将其链接到最后一个日志文件尾部。4.如权利要求1所述的文件系统,其特征在于,包括一个适用于NVM命名空间管理的轻量级命名层,所述轻量级命名层由传统的虚拟文件系统和底层文件系统的命名空间整合后重新设计而成,所述轻量...

【专利技术属性】
技术研发人员:马帅杨帆康俊彬怀进鹏
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

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

1