Persistent Memcached: Bringing Legacy Code to Byte-Addressable Persistent Memory
Persistent Memcached: Bringing Legacy Code to Byte-Addressable Persistent Memory
10 July 2017
We report our experience building and evaluating pmemcached, a version of memcached ported to byte-addressable persistent memory. Persistent memory is expected to not only improve overall performance of applications’ persistence tier, but also vastly reduce the “warm up” time needed for applications after a restart. We decided to test this hypothesis on memcached, a popular key-value store. We took the extreme view of persisting memcached’s entire state, resulting in a virtually instantaneous warm up phase. Since memcached is already optimized for DRAM, we expected our port to be a straightforward engineering effort. However, the effort turned out to be surprisingly complex during which we encountered several non-trivial problems that challenged the boundaries of memcached’s architecture. We detail these experiences and corresponding lessons learned.
Venue : 9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage'17)
File Name : persistent-memcached-hotstorage17.pdf
File Name : persistent-memcached-revised-hotstorage17.pdf