Persistent Memory databases are such a neat idea, it's a shame that the hardware for it isn't commonplace.
Persistent Memory databases are such a neat idea, it's a shame that the hardware for it isn't commonplace.
Alas, optane's dead now. I do know people actively working on resurrecting a lot of pmem work on low-latency flash, however, and it seems like this is one area with a low of momentum behind it.
If you treat it like memory it's always going to be slow memory. If you treat it like storage, it can be very fast storage. If that makes sense.
Software that "treats storage like memory" would end up looking a lot like javacard imo. Or something like Samsung's in-memory key-value database stuff. But it wouldn't really look like a linux kernel allocating memory inside an all-pmem partition.
Difference, in my head, being that essentially the filesystem is an unnecessary layer/abstraction in the middle. You want something that either looks like a garbage-collected runtime, or an in-memory database that vacuums, or LISP collections of object-trees, etc.
There is no point to having a separation between memory and disk anymore, that is the point - "resource allocation is disk persistence" so to speak.
It would have required a big-bang rewrite/second-system that is just not possible with the dominance of the existing RAM/storage dichotomy. Or at least a couple killer apps from large vendors/etc that really outperformed what was possible with RAM.
SNIA has some interesting talks regarding using non volatile memory and its applications (DBs). Where using pmem and DAX to directly to store logging operations [1].
[0] What is Direct-Access (DAX)? https://kb.pmem.io/faq/100000008-What-is-DAX/
[1] SDC2020: How can Persistent Memory Make Databases Faster, and How Could we go Ahead? https://www.youtube.com/watch?v=rTgITrVhpQM
"How to Build a Non-Volatile Memory Database Management System"
Sometimes it becomes useful to appreciate the hardware and what it is doing, reminds me of the quote.
* You don't have to be an engineer to be a racing driver, but you do have to have Mechanical Sympathy *. Jackie Stewart
wasn't Optane (hardware) trying to use CXL?