论文部分内容阅读
传统的内外存层次结构正面临着容量、能耗和I/O性能等方面的挑战。新型非易失性存储器(Non-Volatile Memory,NVM)具有集成度高、低功耗、非易失等优势,已引起学术界和工业界的广泛关注。然而与DRAM相比,NVM存在写延迟长、寿命有限等问题。因此,基于DRAM和NVM的混合内存结构,能够结合各自的优势,有望应用于未来的存储系统。 键值存储系统已成为互联网数据中心重要的存储系统,广泛用于搜索引擎、社交网络、云存储等应用。键值存储系统可以分为面向DRAM的内存键值存储系统和面向硬盘的持久化键值存储系统。混合内存结构为键值存储系统带来了机遇:混合内存中的NVM既可以用作大容量、低能耗的易失性内存,从而提高内存键值存储系统服务的数据集规模;也可以用作低延迟的持久性内存,从而提高持久化键值存储系统的I/O性能。 对于混合内存结构,面向传统存储介质设计的键值存储系统存在三个问题。首先,单一索引结构无法高效支持多种键值请求(如Put、Update和Scan),且没有考虑混合内存的特性差异。其次,在键值存储系统的硬件层,CPU缓存行数据写回NVM内存时,缓存行中有一部分数据块没有改变,直接写回整个缓存行造成NVM内存性能差。最后,基于写前日志和写时复制的宕机一致性机制导致两次写,没有考虑NVM写存在的问题。直接将现有键值存储系统构建在混合内存之上,不能充分发挥混合内存的优势,影响系统性能。 本文从索引结构、硬件层写优化和宕机一致性三个方面,研究上述三个问题,取得的创新性成果主要有: 1.面向混合内存的混合索引结构HybridIndex。HybridIndex由Hash和B+-Tree构成,以高效应对多种键值请求。针对混合内存,HybridIndex应用于内存键值存储和持久化键值存储时,采用不同的放置策略。HybridIndex针对两类索引,提出了异步更新机制、差异化并发控制、以及自适应线程调整机制。评测结果显示,HybridIndex相对于已知工作,最大可以降低86.5%的延迟,最多可以提高6.9倍的吞吐率。 2.硬件层动态写合并技术(Dynamic Write Consolidation,DWC)。DWC通过末级缓存、NVM控制器和NVM芯片的协同设计,减少对NVM内存的写。在NVM控制器调度写命令时,DWC减少没改变的数据块突发传输,将多个写合并成一次写。提出两阶段搜索技术,以降低查找可合并的写命令的延迟。评测结果显示,基于HybridIndex的内存键值存储系统,通过DWC技术,可以进一步提升最多15.5%的吞吐率。 3.差异化宕机一致性技术(Differential Crash Consistency,DCC)。本文提出原子粒度的Hash索引设计,以利用处理器提供的原子写指令。DCC针对不同的键值请求,综合使用原子写、顺序写和写前日志技术,保证索引和数据的一致性。为提高写前日志的并发度,本文进一步提出分布式日志技术。基于HybridIndex和DCC实现的持久化键值存储系统HiKV,与已有系统相比,最大可以降低82.0%的延迟,最大可以提高6.2倍的吞吐率。