hoop: efficient hardware-assisted out-of-place update for ......10 address remapping for supporting...
TRANSCRIPT
![Page 1: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/1.jpg)
HOOP: Efficient Hardware-Assisted
Out-of-Place Update for Non-Volatile Memory
Miao Cai † Chance Coats Jian Huang
Systems Platform Research Group
†
![Page 2: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/2.jpg)
2
Non-Volatile Memory is a Revolutionary Technology
New and emerging NVMs offer promising properties and become popular
Close-to-DRAM Performance Data Durability Byte Addressability
![Page 3: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/3.jpg)
3
Memory Persistency Challenge: A Well-Known Problem
Ensuring memory persistency with commodity architecture is challenging!
Performance vs. PersistencyOut-of-Order ExecutionVolatile Processor Cache
![Page 4: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/4.jpg)
4
State-of-the-Art Approach: Redo/Undo Logging
Undo Logging
Redo Logging
Undo/Redo logging causes DOUBLE WRITES on the critical path.
![Page 5: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/5.jpg)
Page Copy
5
State-of-the-Art Approach: Shadow Paging
Optimized shadow paging still suffers from FREQUENT DATA FLUSHES.
![Page 6: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/6.jpg)
6
State-of-the-Art Approach: Log-structured NVM
Software-based LSNVM suffers from LONG ACCESS LATENCY.
Log Index
![Page 7: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/7.jpg)
7
A Summary of State-of-the-Art Approaches
Logging Shadow Paging Log-structured NVM
Memory persistency overheads: double writes, frequent flushes, long critical-path latency
![Page 8: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/8.jpg)
8
Our Approach: Hardware-assisted Out-Of-Place (HOOP) Update
Reduced write traffic with data coalescing and packing
No requirement on persistence ordering
Transparent support of atomic data durability
+
+
![Page 9: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/9.jpg)
9
Lightweight
Indirection Layer
Challenges of Supporting Out-Of-Place Update
Limited Resource in
Memory ControllerEfficient Garbage
Collection
![Page 10: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/10.jpg)
10
Address Remapping for Supporting Out-of-Place Update
Processor Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
physical-to-physical
address mapping
Insert mapping entry
Upon a write to OOP region
Delete mapping entry
Data migration from OOP to home
Upon a read from OOP region
GC
![Page 11: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/11.jpg)
11
Processor Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
Data Packing in the Memory Controller for Improved Performance
OOP Data Buffer
Many applications
update data at a
fine granularity
Home
address
OOP BlockHeadOOP BlockHead …
![Page 12: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/12.jpg)
12
Processor Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
OOP Data Buffer
Ensuring Persistence Ordering in the Memory Controller
Done the data packing for a memory slice
Upon the end of transaction (e.g., Tx_end)
![Page 13: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/13.jpg)
13
Processor Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
OOP Data Buffer
Efficient Garbage Collection for Improved Memory Utilization
GC
OOP BlockHeadOOP BlockHead …
Load stale data
during GCEviction Buffer
Linked Memory Slices
![Page 14: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/14.jpg)
14
Processor Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
OOP Data Buffer
OOP BlockHeadOOP BlockHead …
Handling Crash Consistency Upon Failures
Eviction Buffer
![Page 15: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/15.jpg)
15
Put It All Together
Last-Level Cache
Memory
Controller
Home Region OOP RegionNVM
Mapping Table
storeload
OOP Data Buffer
Eviction Buffer
L1 Cache L1 Cache
core core
miss
miss
![Page 16: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/16.jpg)
16
HOOP
Implementation
Evaluation
Benchmarks
McSimA+: OoO cores, 2.5GHz,
32KB L1, 256KB L2, 2MB LLC Processor Simulator
NVM Simulator Read/Write = 50/150ns, 512GB
Synthetic Workloads
Real-world Workloads
Vector, HashMap, Queue, RB-Tree, B- Tree
YCSB, TPCC
![Page 17: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/17.jpg)
17
Improving Transaction Throughput with HOOP
0
0.5
1
1.5
2
2.5
Vector Queue RBTree Btree HashMap YCSB TPCC
Norm
aliz
ed S
pee
du
p
Optimized Redo Optimized Undo Optimized Shadow Paging
Log-Structured NVM Logless Atomic Durability HOOP
Ideal
HOOP is close to the performance of a system without any persistence enforcement.
![Page 18: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/18.jpg)
18
Reducing Critical-Path Latency with HOOP
0
0.5
1
1.5
2
2.5
Vector Queue RBTree Btree HashMap YCSB TPCC
Norm
aliz
ed L
aten
cy
Ideal Optimized Redo Optimized Undo
Optimized Shadow Paging Log-Structured NVM Logless Atomic Durability
HOOP
HOOP achieves the lowest latency, compared to state-of-the-art approaches.
![Page 19: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/19.jpg)
19
Reducing Write Traffic with HOOP
0
0.5
1
1.5
2
2.5
3
Vector Queue RBTree Btree HashMap YCSB TPCC
Norm
aliz
ed W
rite
Tra
ffic
Ideal Optimized Redo Optimized Undo
Optimized Shadow Paging Log-Structured NVM Logless Atomic Durability
HOOP
HOOP reduces write traffic by up to 2.1x, compared to logging approaches.
![Page 20: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/20.jpg)
20
HOOP
Summary
1.7x Performance Speedup for Data-Intensive Apps
2.1x Reduction of Write Amplification
![Page 21: HOOP: Efficient Hardware-Assisted Out-of-Place Update for ......10 Address Remapping for Supporting Out-of-Place Update Processor Cache Memory Controller NVM Home Region OOP Region](https://reader035.vdocuments.us/reader035/viewer/2022071407/60fe17c8e4c960032b07c531/html5/thumbnails/21.jpg)
Thanks!
University of Illinois at Urbana-Champaign
Miao Cai Chance Coats Jian Huang
Systems Platform Research Group