论文标题
附近PM:用于存储类应用程序的近数据处理系统
NearPM: A Near-Data Processing System for Storage-Class Applications
论文作者
论文摘要
在失败的情况下,持续记忆(PM)技术可以使程序恢复到一致的状态。为了确保这种崩溃的行为,计划需要通过采用诸如日志记录和检查点之类的机制来强制执行持续订购,从而引入其他数据移动。新兴的近数据处理(NDP)架构可以有效地减少此数据移动开销。在这项工作中,我们建议附近PM,这是一个近乎数据处理器,支持碰撞一致程序中的加速原始图。在PM附近,使用这些原语加速了常用的碰撞一致性机制记录,检查点和阴影调程序。附近PM进一步减少了NDP和CPU之间的同步开销,以确保通过在内存附近移动订单处理来确保持续的顺序。我们确保在CPU和NDP设备之间以及具有分区持续订购(PPO)的多个NDP设备之间进行正确的持续排序。我们在FPGA平台上的附近原型原型。1附近PM在碰撞一致性机制中执行数据密集型操作,并在CPU上运行其余程序时,具有正确的订购保证。我们评估了九个PM工作负载,其中每个工作负载支持三个崩溃一致性机制 - 漫游,检查点和阴影分页。总体而言,在NDP扣除操作中取得了4.3-9.8倍的速度,而端到端执行中的1.22-1.35倍加速。
Persistent Memory (PM) technologies enable program recovery to a consistent state in a case of failure. To ensure this crash-consistent behavior, programs need to enforce persist ordering by employing mechanisms, such as logging and checkpointing, which introduce additional data movement. The emerging near-data processing (NDP) architec-tures can effectively reduce this data movement overhead. In this work we propose NearPM, a near data processor that supports accelerable primitives in crash consistent programs. Using these primitives NearPM accelerate commonly used crash consistency mechanisms logging, checkpointing, and shadow-paging. NearPM further reduces the synchronization overheads between the NDP and the CPU to guarantee persistent ordering by moving ordering handling near memory. We ensures a correct persist ordering between CPU and NDP devices, as well as among multiple NDP devices with Partitioned Persist Ordering (PPO). We prototype NearPM on an FPGA platform.1 NearPM executes data-intensive operations in crash consistency mechanisms with correct ordering guarantees while the rest of the program runs on the CPU. We evaluate nine PM workloads, where each work load supports three crash consistency mechanisms -logging, checkpointing, and shadow paging. Overall, NearPM achieves 4.3-9.8X speedup in the NDP-offloaded operations and 1.22-1.35X speedup in end-to-end execution.