一个基于日志结构的非易失性内存键值存储系统  被引量:5

A Log-Structured Key-Value Store Based on Non-Volatile Memory

在线阅读下载全文

作  者:游理通 王振杰[1] 黄林鹏[1] You Litong;Wang Zhenjie;Huang Linpeng(Department of Computer Science and Engineering,Shanghai Jiao Tong University,Shanghai 20024)

机构地区:[1]上海交通大学计算机科学与工程系,上海200240

出  处:《计算机研究与发展》2018年第9期2038-2049,共12页Journal of Computer Research and Development

基  金:国家重点研发计划项目(2018YFB1003302);国家自然科学基金项目(61472241)~~

摘  要:非易失性内存(non-volatile memory,NVM)技术是非常具有应用前景的计算机内存技术,将会对计算机存储层次结构产生极大的影响.NVM具有可字节寻址、可持久存储、低访问延迟等特点,这为DRAM和NVM在统一的主存储空间中的结合提供了巨大的机会.NVM可通过内存总线以及CPU相关指令进行数据访存,这使得在非易失性内存中设计快速的持久存储系统成为可能.现有的键值存储系统将NVM作为块设备使用,未能充分发挥NVM的性能.当硬件支持出现故障(例如高速缓存刷新)时,一些现有的键值存储系统无法保证数据的一致性.提出了一种基于日志结构的非易失性内存键值存储系统TinyKV,该系统利用键值数据负载的特性提出了一个静态并发、缓存友好的Hash表实现方案.TinyKV为每个工作线程维护单独的数据日志,以实现高并发性.此外,TinyKV采用日志结构技术进行内存管理,设计多层级内存分配器,以保证一致性.此外,系统通过减少对NVM的写入与缓存刷新指令,以降低写入延迟.实验显示:与传统的键值存储系统相比,TinyKV具有良好的吞吐性能与扩展能力.Non volatile memory (NVM) technologies are promising that would change the future of storage. NVM possesses many attractive capabilities such as byte addressability, low access latency, and persistence. It provides a great opportunity for the integration of DRAM and NVM in a unified main storage space. NVM could access data through the memory bus and CPU related instructions, which makes it possible to design a fast and persistent storage system in non volatile memory. Existing key value stores proposed for block devices implement NVM as block devices, which conceal the performance that NVM provides. A few existing key value stores for NVM fail to provide consistency when hardware supports (e. g. , cache flush) on power failures are unavailable. In this paper, we present a non volatile memory key value storage system, named TinyKV, which utilizes the log structure as its core framework. We propose a static concurrent, cache friendly Hash table implementation using the characteristics of the key value workloads. TinyKV separates the maintenance for data log of each worker thread in order to guarantee high concurrency. In addition, we implement the log structure technology for memory management and design a muhi tier memory allocator to ensure consistency. To reduce write latency, we reduce writes to NVM and cache flushing instructions by using cache flushing instructions. Our experiments demonstrate that TinyKV outperforms traditional key value stores in both throughput and scalability.

关 键 词:非易失性内存 日志结构 键值存储 HASH表 内存管理 

分 类 号:TP391[自动化与计算机技术—计算机应用技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象