Data Management on Non-Volatile Memory

Data Management on Non-Volatile Memory
复制标题

DOI:
10.1145/3299869.3328523
复制
发表时间:
2019-06
期刊:
Proceedings of the 2019 International Conference on Management of Data
影响因子:
--
通讯作者:
Joy Arulraj
Joy Arulraj
中科院分区:
其他
文献类型:
--
作者:
Joy Arulraj

文献摘要

被引文献

相似文献

我们正处于存储技术发展的一个激动人心的时刻。设备制造商已经创建了一种新的非易失性存储器(NVM)技术,其可以用作系统存储器和存储。NVM支持类似于易失性存储器的快速读取和写入,但所有写入都像固态磁盘一样持久。NVM的出现使几十年来深深嵌入当今数据库管理系统(DBMS)的设计决策无效。这些系统不能充分利用NVM,因为它们的内部架构是基于存储器是易失性的假设。使用NVM,当今DBMS的许多组件都是不必要的,并且会降低数据密集型应用程序的性能。因此,解决这些缺点的最佳方法是设计一个明确为NVM定制的新系统。在这次演讲中,我将介绍我们对NVM DBMS的设计和开发的研究,称为Peloton。Peloton的架构表明,NVM的影响跨越了DBMS的所有层。我将首先介绍write-behind日志记录,这是一种以NVM为中心的协议,与广泛使用的write-ahead日志记录协议相比,它将数据库系统的可用性提高了两个数量级。然后,我将介绍BzTree,这是一种以NVM为中心的索引数据结构,它说明了如何简化NVM上的编程。在从这项工作中吸取更广泛的经验教训时,我认为所有类型的软件系统,包括文件系统,机器学习系统和键值存储,都可以进行类似的架构更改,以实现NVM上的高性能和可用性。
We are at an exciting point in the evolution of memory technology. Device manufacturers have created a new non- volatile memory (NVM) technology that can serve as both system memory and storage. NVM supports fast reads and writes similar to volatile memory, but all writes to it are persistent like a solid-state disk. The advent of NVM invalidates decades of design decisions that are deeply embedded in today's database management systems (DBMSs). These systems are unable to take full advantage of NVM because their internal architectures are predicated on the assumption that memory is volatile. With NVM, many of the components of today's DBMSs are unnecessary and will degrade the performance of data-intensive applications. Thus, the best way to resolve these shortcomings is by designing a new system explicitly tailored for NVM. In this talk, I will present our research on the design and development of an NVM DBMS, called Peloton. Peloton's architecture shows that the impact of NVM spans across all the layers of the DBMS. I will first introduce write-behind logging, an NVM-centric protocol that improves the availability of the database system by two orders-of-magnitude compared to the widely-used write- ahead logging protocol. I will then present the BzTree, an NVM-centric index data structure that illustrates how to simplify programming on NVM. In drawing broader lessons from this work, I will argue that all types of software systems, including file systems, machine-learning systems, and key-value stores, are amenable to similar architectural changes to achieve high performance and availability on NVM.