The 46th Annual IEEE/ACM International Symposium on Microarchitecture, 2013

MICRO-46 Session 6B - Storage Optimizations

Kiln: Closing the Performance Gap Between Systems With and Without Persistence Support

Jishen Zhao (Pennsylvania State University)
Sheng Li (Hewlett-Packard Labs)
Doe Hyun Yoon (IBM Thomas J. Watson Research Center)
Yuan Xie (Pennsylvania State University/AMD Research)
Norman P. Jouppi (Google)

Lightning session talk: PDF, Presentation: PDF, Poster: PDF, Full Paper: DOI 10.1145/2540708.2540744

Abstract:
Persistent memory is an emerging technology which allows in-memory persistent data objects to be updated at much higher throughput than when using disks as persistent storage. Previous persistent memory designs use logging or copy-on-write mechanisms to update persistent data, which unfortunately reduces the system performance to roughly half that of a native system with no persistence support. One of the great challenges in this application class is therefore how to efficiently enable atomic, consistent, and durable updates to ensure data persistence that survives application and/or system failures. Our goal is to design a persistent memory system with performance very close to that of a native system. We propose Kiln, a persistent memory design that adopts a nonvolatile cache and a nonvolatile main memory to enable atomic in-place updates without logging or copy-on-write. Our evaluation shows that Kiln can achieve 2× performance improvement compared with NVRAM-based persistent memory with write-ahead logging. In addition, our design has numerous practical advantages: a simple and intuitive abstract interface, microarchitecture-level optimizations, fast recovery from failures, and eliminating redundant writes to nonvolatile storage media.