Improving the Security and Programmability of Persistent Memory Objects
Channel: Derrick Greenspan
Date: 2023-01-12

Persistent memory (PM) is expected to augment or replace DRAM as main memory. PM combines byte-addressability with non-volatility, providing an opportunity to host byte-addressable data persistently. We address three problems with PM for the first time. First, we design a persistent memory object (PMO) abstraction that allows data to be retained in memory across process lifetimes and system power cycles. Second, we address the security of PMOs while at rest against corruption and disclosure attacks. Third, we address the programmability of PM crash consistency management with a primitive psync, that decouples crash consistency and concurrency management; psync allows the programmer to specify when data are crash consistent but conceals how it happens. Our PMO design outperforms NOVA-Fortis, a memory-mapped file-based approach providing crash consistency, by 3.61x and 3.2x for two sets of evaluated workloads. Adding protection for at-rest data to the design incurs a modest overhead, between 3% - 46%, depending on the level of protection.