Apps will need to be re-coded to go faster with storage-class RAM
Oracle Labs plays with an Optane simulator and finds cacheing gets rather tricky
Oracle Labs has found that applications will need a bit of work before they can really take advantage of storage-class RAM like Intel's Optane.
In a paper titled Persistent Memcached: Bringing Legacy Code to Byte-Addressable Persistent Memory that Big Red says will land in July 2017, but which can be had on co-author Tim Harris' web site now (PDF)), four Oracle researchers argue that storage-class RAM has CompSci boffins thinking “that by leveraging byte addressability and the high performance of persistent memory, applications can drastically reduce, or even eliminate, the time needed to recover and 'warm up' their state after a restart.”
To test that idea the four went to work with
memcached, caching code often used to keep data in memory.
To do so they built
pmemcached, a new cut of
memcached designed for use with persistent memory, and ran tests in Intel’s Software Emulation Platform for persistent memory and the Yahoo! Cloud Serving Benchmark workload generator. A a dual-socket 16-core processor with 512GB of DRAM, 384GB of which was persistent, got the job of running the tests.
The four learned ten lessons along the way, including challenges mapping persistent files, difficulty knowing what data is worth storing in persistent memory, unexpected interactions between persistent and non-persistent data, traps that may see coders impose unwelcome overheads on applications and all sorts of new challenges in terms of how and when to let threads have their turn at memory.
Their conclusion? “Overall, a major port of any complex application will likely be a non-trivial undertaking even though it may not seem so in the beginning.”
Some of those problems will go away once languages support the kind of transactions storage-class RAM requires. But the researchers' last word is that while their experience may not be universally applicable, “In the end, architecting such systems from scratch is likely the best approach. A more modest goal of fast warm up, instead of instantaneous warm up, may also be a reasonable compromise.”
None of which is fatal or necessarily to Optane, because it's early days yet and only the most optimistic would assume that just dropping in new super-fast new kit would automatically see software sing. But gee it would be nice if just once things were simple! ®