论文标题
持续的内存对象:持续内存的快速易换一致性
Persistent Memory Objects: Fast and Easy Crash Consistency for Persistent Memory
论文作者
论文摘要
DIMM兼容的持续存储器将内存和存储统一。先前的工作可以通过将文件系统与内存映射的文件上的直接访问相结合或将其作为对象集合在废除POSIX抽象的同时将其作为对象集合来利用持久的内存。相比之下,我们建议使用持久的内存对象(PMO)保留POSIX抽象并将其扩展以提供持续内存的支持。在这项工作中,我们设计和实施PMO,这是一种用于管理持续内存的崩溃的抽象。我们介绍了一个单个系统调用Psync,程序员可以用来指定代码中的崩溃一致性点,而无需明确协调耐久性。当渲染数据崩溃一致时,与没有崩溃一致性的系统相比,与并行工作负载和FileBench相比,对并行工作负载和FileBench的开销分别为$ \ 25 \%$和$ \%$ $。与Nova-Fortis相比,我们的设计分别为两套基准分别提供了约1.67 \ times $和$ \ $ 3 \ times $的加速。
DIMM-compatible persistent memory unites memory and storage. Prior works utilize persistent memory either by combining the filesystem with direct access on memory mapped files or by managing it as a collection of objects while abolishing the POSIX abstraction. In contrast, we propose retaining the POSIX abstraction and extending it to provide support for persistent memory, using Persistent Memory Objects (PMOs). In this work, we design and implement PMOs, a crash-consistent abstraction for managing persistent memory. We introduce psync, a single system call, that a programmer can use to specify crash consistency points in their code, without needing to orchestrate durability explicitly. When rendering data crash consistent, our design incurs a overhead of $\approx 25\%$ and $\approx 21\%$ for parallel workloads and FileBench, respectively, compared to a system without crash consistency. Compared to NOVA-Fortis, our design provides a speedup of $\approx 1.67\times$ and $\approx 3\times$ for the two set of benchmarks, respectively.