Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory
Qingda Hu*, Jinglei Ren, Anirudh Badam, Jiwu Shu* and Thomas Moscibroda *Tsinghua University, Microsoft Research
Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory - - PowerPoint PPT Presentation
Log Log-Struct ctured Non-Vo Volatile Ma Main n Me Memory Qingda Hu*, Jinglei Ren, Anirudh Badam, Jiwu Shu* and Thomas Moscibroda *Tsinghua University , Microsoft Research No Non-vo volat atile memory is coming Data storage 3D
Qingda Hu*, Jinglei Ren, Anirudh Badam, Jiwu Shu* and Thomas Moscibroda *Tsinghua University, Microsoft Research
2
Read: ~50ns Write: ~10GB/s Read: ~10µs Write: ~100MB/s Read: ~100ns Write: ~1GB/s 3D XPoint/Optane (2015 - ) PCM
è 10+x application performance improvement
3
DRAM SSD DRAM NVM
Non-Volatile Main Memory (NVMM)
Application
Library
4
Application Library DRAM SSD NVMM
memory space
crash consistency
5
Internal fragmentation: External fragmentation:
6
8B 16B … 8B 8B 8B 8B 8B … 8B 8B 16B 16B … 16B …
…… …… …… Waste 32B 24B 32B Waste (32B) 32B 32B Waste (32B)
64B request
7
process process DRAM NVMM process process process process
NVMM Home b a
8
transaction { a += 1; b -= 1; } Log a’ b’
9
Process (user space)
10
Allocated Available Memory management: An append-only log
Home addr. Log addr. &a &b …
Address mapping (DRAM) a translate(&a) Application X NVM device mmap() Transaction a a’
11
Allocated Available No internal fragmentation Allocated Available a a a’
12
Allocated Available Home addr. Log addr. &a &b Address mapping b transaction { a += 1; b -= 1; } a a’ b’
13
made performant.
14
0xABB4, size=16 0xABC0, size=24 ... ? 0xABC8
…… ……
Tree for a small partition (4KB) Partition index: Ο(1)
……
Ο(log 𝑜)
15
39.6% on average.
16
……
balancing operations è No locking for read-
48.9% with four threads.
commit.
17
18
{500ns, 34567_95:7
;<=/9 }
19
ØLog-structured NVM (LSNVMM) produces 4.5% fragmentation on average.
20
Mnemosyne and Mnemosyne-Undo, respectively, on average.
21
largely reduce memory fragmentation and improve system performance.
efficient to serve log-structured NVMM.
22
utilization.
23
distribution of their hash values.
24
? 0xABC08 0xABB* 0xABC* 0xABD* 0xABC00 (size=24) Collison and found! 0xABCD0 (size=16)
25
26