Venue | Category |
---|---|
ATC'18 | LSM+PM |
Redesigning LSMs for Nonvolatile Memory with NoveLSM1. SummaryMotivation of this paperNoveLSMImplementation and Evaluation2. Strength (Contributions of the paper)3. Weakness (Limitations of the paper)4. Some Insights (Future work)
LSM-Tree
Write optimized data structure used in key-value stores
Originally designed for slow hard drives
Moving Towards NVM + LSM
Design goals
How do LSMs perform on NVM
LevelDB: Use NVM instead of SSD for storing on-disk SSTable
High (De)Serialization Cost
High Write Compaction Cost
High Write Logging Cost
LSM updates are written to log, memtable, and SSTable
Lack of Parallelism
Reduce Serialization: Immutable NVM
Idea: Introduce byte-addressable persistent NVM skip list
Persistent skip list created by mapping memory from NVM
Reducing Compaction: NVM Mutability
Reducing Logging Cost: In-place Commits
Idea: Avoid logging for NVM memtable with in-place commits
Increase Parallelism: Read Threading
Increase Parallelism: Read Threading
Thread management overhead can be expensive
Evaluation
emulated NVM using benchmarks and application traces
DB_Bench and YCSB
Serialization Impact: Immutable Memtable
Reducing Compaction: Mutable Memtable
Read Parallelism Impact
Strong motivation