  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.
