Non-volatile memories(NVMs)provide lower latency and higher bandwidth than block devices.Besides,NVMs are byte-addressable and provide persistence that can be used as memory-level storage devices(non-volatile main mem...Non-volatile memories(NVMs)provide lower latency and higher bandwidth than block devices.Besides,NVMs are byte-addressable and provide persistence that can be used as memory-level storage devices(non-volatile main memory,NVMM).These features change storage hierarchy and allow CPU to access persistent data using load/store instructions.Thus,we can directly build a file system on NVMM.However,traditional file systems are designed based on slow block devices.They use a deep and complex software stack to optimize file system performance.This design results in software overhead being the dominant factor affecting NVMM file systems.Besides,scalability,crash consistency,data protection,and cross-media storage should be reconsidered in NVMM file systems.We survey existing work on optimizing NVMM file systems.First,we analyze the problems when directly using traditional file systems on NVMM,including heavy software overhead,limited scalability,inappropriate consistency guarantee techniques,etc.Second,we summarize the technique of 30 typical NVMM file systems and analyze their advantages and disadvantages.Finally,we provide a few suggestions for designing a high-performance NVMM file system based on real hardware Optane DC persistent memory module.Specifically,we suggest applying various techniques to reduce software overheads,improving the scalability of virtual file system(VFS),adopting highly-concurrent data structures(e.g.,lock and index),using memory protection keys(MPK)for data protection,and carefully designing data placement/migration for cross-media file system.展开更多
Persistent memory(PM)promises byte-addressability,large capacity,and durability.Main memory systems,such as key-value stores and in-memory databases,benefit from such features of PM.Due to the great popularity of hash...Persistent memory(PM)promises byte-addressability,large capacity,and durability.Main memory systems,such as key-value stores and in-memory databases,benefit from such features of PM.Due to the great popularity of hash-ing index in main memory systems,a number of research efforts are made to provide high average performance persistent hashing.However,suboptimal tail performance in terms of tail throughput and tail latency is still observed for existing persistent hashing.In this paper,we analyze major sources of suboptimal tail performance from key design issues of persis-tent hashing.We identify the global hash structure and concurrency control as remaining explorable design spaces for im-proving tail performance.We propose Directory-sharing Multi-level Extendible Hashing(Dalea)for PM.Dalea designs an-cestor link-based extendible hashing as well as fine-grained transient lock to address the two main sources(rehashing and locking)affecting tail performance.The evaluation results show that,compared with state-of-the-art persistent hashing Dash,Dalea achieves increased tail throughput by 4.1x and reduced tail latency by 5.4x.Moreover,in order to provide de-sign guidelines for improving tail performance,we adopt Dalea as a testbed to identify different impacts of four factors on tail performance,including fine-grained rehashing,transient locking,memory pre-allocation,and fingerprinting.展开更多
基金supported by the Major Research Plan of the National Natural Science Foundation of China under Grant No.92270202the Strategic Priority Research Program of the Chinese Academy of Sciences under Grant No.XDB44030200.
文摘Non-volatile memories(NVMs)provide lower latency and higher bandwidth than block devices.Besides,NVMs are byte-addressable and provide persistence that can be used as memory-level storage devices(non-volatile main memory,NVMM).These features change storage hierarchy and allow CPU to access persistent data using load/store instructions.Thus,we can directly build a file system on NVMM.However,traditional file systems are designed based on slow block devices.They use a deep and complex software stack to optimize file system performance.This design results in software overhead being the dominant factor affecting NVMM file systems.Besides,scalability,crash consistency,data protection,and cross-media storage should be reconsidered in NVMM file systems.We survey existing work on optimizing NVMM file systems.First,we analyze the problems when directly using traditional file systems on NVMM,including heavy software overhead,limited scalability,inappropriate consistency guarantee techniques,etc.Second,we summarize the technique of 30 typical NVMM file systems and analyze their advantages and disadvantages.Finally,we provide a few suggestions for designing a high-performance NVMM file system based on real hardware Optane DC persistent memory module.Specifically,we suggest applying various techniques to reduce software overheads,improving the scalability of virtual file system(VFS),adopting highly-concurrent data structures(e.g.,lock and index),using memory protection keys(MPK)for data protection,and carefully designing data placement/migration for cross-media file system.
基金supported by the Strategic Priority Research Program of the Chinese Academy of Sciences under Grant No.XDB44030200the Beijing Natural Science Foundation-Haidian Joint Fund for Original Innovation under Grant No.L192038.
文摘Persistent memory(PM)promises byte-addressability,large capacity,and durability.Main memory systems,such as key-value stores and in-memory databases,benefit from such features of PM.Due to the great popularity of hash-ing index in main memory systems,a number of research efforts are made to provide high average performance persistent hashing.However,suboptimal tail performance in terms of tail throughput and tail latency is still observed for existing persistent hashing.In this paper,we analyze major sources of suboptimal tail performance from key design issues of persis-tent hashing.We identify the global hash structure and concurrency control as remaining explorable design spaces for im-proving tail performance.We propose Directory-sharing Multi-level Extendible Hashing(Dalea)for PM.Dalea designs an-cestor link-based extendible hashing as well as fine-grained transient lock to address the two main sources(rehashing and locking)affecting tail performance.The evaluation results show that,compared with state-of-the-art persistent hashing Dash,Dalea achieves increased tail throughput by 4.1x and reduced tail latency by 5.4x.Moreover,in order to provide de-sign guidelines for improving tail performance,we adopt Dalea as a testbed to identify different impacts of four factors on tail performance,including fine-grained rehashing,transient locking,memory pre-allocation,and fingerprinting.