NoveLSM
NoveLSM is a research LSM key-value store that combines a DRAM memtable with a mutable, persistent skip list in byte-addressable nonvolatile memory.
Write path: The persistent memtable accepts direct updates while background compaction proceeds. Its inserts avoid a separate log; DRAM updates still require logging. Recovery remaps the skip list and orders its versions with DRAM logs. [1]
Read path: Searches can run across levels concurrently, but a lower-level match cannot be returned before higher levels have finished and ruled out a newer value. First completion is not necessarily the current value. [1]
Evaluation: The paper emulated NVM using a NUMA memory socket, throttled bandwidth and injected write delay. Its default model used 100 ns reads, 500 ns writes and 5 GB/s bandwidth. These are experimental settings, not measured specifications of a persistent-memory product. [1]
Artifact: At revision 9ec07528, run_restart.sh waits five seconds, kills db_bench with SIGKILL and later removes the database LOCK file before reopening it. This exercises process restart, not power-loss persistence. The README labels the implementation beta and describes changes to transactions and read threading. [2] [3]
Relations
- related
- Log-structured merge-tree, Persistent memory, Sorted string table, Persistence ordering, Crash consistency