Libnvmmio: Reconstructing SW IO Path with Failure-Atomic Memory-Mapped Interface
Jungsik Choi1, Jaewan Hong2, Youngjin Kwon2, Hwansoo Han1
USENIX ATC ‘20
- 1
2
Libnvmmio : Reconstructing SW IO Path with Failure-Atomic - - PowerPoint PPT Presentation
Libnvmmio : Reconstructing SW IO Path with Failure-Atomic Memory-Mapped Interface Jungsik Choi 1 , Jaewan Hong 2 , Youngjin Kwon 2 , Hwansoo Han 1 1 2 USENIX ATC 20 SW Overhead Greater than Storage Latency ms SW Overhead
2
ns 𝜈s ms
TLC 3D NAND SSD Optane SSD NVDIMM-N PM XL-Flash SSD DCPMM PM HDD SSD
2
3
Atomic Write
write read fsync close
Application
NVM-aware FS
Kernel
Files
NVMM … Libnvmmio
Logs Memory Mapped Files munmap /close
/mmap
MMIO
a
VFS File System Device Driver
read/write load/store
4
5
App UNDO
Log
File App REDO
Log
File Write Async Write Read 6
7
File
Log Log Log
File
Log
8
9
Global Upper Middle Table Offset
entry rwlock
len dest policy epoch
File Offset
lgd skip
radix_root LGD LUD LMD Table
Index Entry
Delta
Log Entry
(4KB)
9 9 9
Per-Block Log
size 9 12
10
11 Radix Tree 1
Memory Mapped File
Per-File Metadata Background Threads 2 2 2 Per-Block Logs
12
13
0:100 10:90 20:80 30:70 40:60 50:50 60:40 70:30 80:20 90:10 100:0
5:: 5aWiR
5 10 15 20
(lapsHd 7imH (sHc)
8ndR 5HdR HyEUid
14
6R RR 6W RW
AFFeVV PDWWern
2 4 6 8
BDnGwLGWh (GLB/V)
(xW4-DAX P0)6 N2VA /LEnvPPLR
15
128B 1.B 0.0 0.5 1.0 1.5
BDnGwLGWK (GLB/V)
4.B 64.B 10B 1 2 3 4
(xW4-DAX 30)6 12VA /LEnvPPLo WrLWe 6Lze
16
1 2 4 8 16
# ThreDGV
5 10 15 20 25
BDnGwLGth (GLB/V) PrLvDte fLOe
(xt4-DAX P0)6 12VA /LEnvPPLo 1 2 4 8 16
# ThreDGV
5 10 15 20 25
6hDreG fLOe
17
18
Ext4-DAX P0FS 1OVA SSOLtFS 0.0 0.5 1.0 1.5
1orPDOLzed tSPC
OnOy XnderOyLng FS LLEnvPPLo on FS
19
20