论文标题
从DBMS中Intel Optane DC持续记忆的早期绩效评估中学到的经验教训
Lessons learned from the early performance evaluation of Intel Optane DC Persistent Memory in DBMS
论文作者
论文摘要
非挥发性内存(NVM)是一项新兴技术,它具有大容量存储设备(例如HDDS和SSD)的持久特性,同时提供了传统DRAM内存的低访问延迟和字节 - 印度的范围。当构建数据库管理系统(DBMS)(例如更换DRAM(作为主要的工作空间内存)或块设备(作为持久存储)或同时补充多个DBMS组件(例如,访问方法,访问方法,存储器管理,Loffer Management/cousecon等)时,这种独特的功能组合可以为构建数据库管理系统(DBMS)(例如主要的工作空间内存)或块设备(例如持续存储)或两者补充时,开辟了几个新的设计注意事项。 但是,与NVM进行交互需要更改应用程序软件以最好地使用该设备(例如,小型缓存线的MMAP和CLFLUSH,而不是大型页面缓冲区的写入和Fsync)。在为NVM引入DBMS(潜在的)代码更改之前,开发人员需要清楚地了解NVM在各种条件下的性能,以帮助做出更好的设计选择。 在本文中,我们提供了最近发布的NVM设备Intel Optane DC持久存储器(PMEM)进行的广泛的性能评估,并使用多种微基准工具进行了不同的配置。此外,我们使用Microsoft SQL Server 2019评估OLTP和OLAP数据库工作负载(即TPC-C和TPC-H),当使用NVM设备作为内存缓冲池或持久存储时。从所学的教训中,我们与PMEM分享了一些关于未来DBMS设计的建议,例如,简单的硬件或软件更改不足以在DBMS中充分利用PMEM。
Non-volatile memory (NVM) is an emerging technology, which has the persistence characteristics of large capacity storage devices(e.g., HDDs and SSDs), while providing the low access latency and byte-addressablity of traditional DRAM memory. This unique combination of features open up several new design considerations when building database management systems (DBMSs), such as replacing DRAM (as the main working space memory) or block devices (as the persistent storage), or complementing both at the same time for several DBMS components (such as access methods,storage engine, buffer management, logging/recovery, etc). However, interacting with NVM requires changes to application software to best use the device (e.g. mmap and clflush of small cache lines instead of write and fsync of large page buffers). Before introducing (potentially major) code changes to the DBMS for NVM, developers need a clear understanding of NVM performance in various conditions to help make better design choices. In this paper, we provide extensive performance evaluations conducted with a recently released NVM device, Intel Optane DC Persistent Memory (PMem), under different configurations with several micro-benchmark tools. Further, we evaluate OLTP and OLAP database workloads (i.e., TPC-C and TPC-H) with Microsoft SQL Server 2019 when using the NVM device as an in-memory buffer pool or persistent storage. From the lessons learned we share some recommendations for future DBMS design with PMem, e.g.simple hardware or software changes are not enough for the best use of PMem in DBMSs.