分析了互联网应用为满足后端存储系统高性能要求而引用的内存键值存储系统的应用特点,指出:为了永久保存数据,这些系统还需要在后端将数据从易失性的内存拷贝到慢速的非易失存储设备中;将新型的非易失存储器件(NVM)引入内存键值存储系统可减少其性能开销;根据NVM的特征,内存键值系统可采用两种架构:将NVM替代磁盘作为二级存储设备和将NVM替代DRAM直接作为主存储设备。基于上述分析,实现了两种NVM架构的内存键值存储系统,并通过实验分析,总结出了内存键值存储系统选择NVM架构的原则,这些原则可有效指导内存键值存储系统在采用当前以及未来NVM器件时,对架构的选择。其次,还通过理论和实验分析,得出了不同架构下的内存键值系统在软件层的主要开销,指出了未来针对这些系统的软件设计的优化方向。
The application characteristics of in-memory key-value stores applicable to Internet applications to meet the high performance requirement of the back end storage system was analyzed. To avoid data losses in volatile DRAM memory, existing in-memory stores persist data into slow disk-based storage. Emerging non-volatile memories ( NVMs), such as PCM and ReRAM, can sit on the memory bus due to their similar performance as DRAM. More-over, the inherent data durability in NVMs helps to accelerate data persisting when deploying in-memory key-value stores on NVMs. According to NVMs' characteristics, in-memory key-value stores can exploit two architectures, u- sing NVM to replace Disk or using NVM to replace DRAM. Based on the above analysis, two types of NVM-based in-memory key-value stores were implemented, and then the experiments were conducted and some principles that effectively guide to choosing an appropriate architecture when in-memory key-value stores use different NVM devices. Also, the main software overhead in the two types of stores was concluded, and some future optimizing suggestions was given.