DEX: Scalable Range Indexing on Disaggregated Memory
Baotong Lu1, Kaisong Huang2, Chieh-Jan Mike Liang1, Tianzheng Wang2, Eric Lo3
1 Microsoft Research Asia �2 Simon Fraser University�3 The Chinese University of Hong Kong
From Monolithic to Disaggregated
DEX: Scalable Range Indexing on Disaggregated Memory
2
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
…
Fast Interconnect (RDMA)
…
Memory Servers
Compute Servers
Monolithic Servers
Network
Advantages
First Step Towards A Disaggregated Tree Index
Opportunity: leverage local resources to reduce remote accesses
DEX: Scalable Range Indexing on Disaggregated Memory
3
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
RDMA Network
Compute Servers
Memory Servers
Caching tree nodes
Operation offloading
Latency: RDMA access (2μs) > Local DRAM access (100ns)
Traffic sources: index traversals, etc.
Challenge 1: Rudimentary Caching
DEX: Scalable Range Indexing on Disaggregated Memory
4
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
| Disk/SSD-based Caching | Compute-server Caching for Disaggregated Memory |
“I/O” latency | 100μs – 10ms | 2--3μs |
Replacements/second | | |
18X Gap
LRU
Compute
DRAM Cache
DRAM Cache
. . .
. . .
Memory
Leaf Node
. . .
. . .
RDMA
Caching
. . .
High contention
Challenge 2: Unprincipled Offloading
Cost-aware offloading is imperative
DEX: Scalable Range Indexing on Disaggregated Memory
5
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
Compute
DRAM Cache
Inner Node
. . .
. . .
Leaf Node
. . .
RDMA
DRAM Cache
Inner Node
. . .
. . .
Memory
. . .
Offload
Offload
Challenge 3: Excessive Inconsistency
and offloading
DEX: Scalable Range Indexing on Disaggregated Memory
6
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
Compute
DRAM Cache
Inner Node
. . .
. . .
Leaf Node
. . .
2
RDMA
DRAM Cache
Inner Node
. . .
. . .
Memory
1
3
. . .
A distributed MESI coherence protocol is expensive
2
3
RDMA locking is unscalable [1]
1
[1] Design Guidelines for Correct, Efficient, and Scalable Synchronization using One-Sided RDMA (Sigmod 23)
1
DEX: Scalable Disaggregated Memory Index
DEX: Scalable Range Indexing on Disaggregated Memory
7
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
Compute
DRAM Cache
Inner Node
. . .
. . .
Leaf Node
. . .
RDMA
DRAM Cache
Inner Node
. . .
. . .
Memory
. . .
Compute-Side Logical Partitioning
DEX: Scalable Range Indexing on Disaggregated Memory
8
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
| Shared Everything |
Consistency Overhead | Large |
Load-balance | Easy |
Logical Partitioning |
Low |
Low-cost repartition |
RDMA
…
…
Key range: [0-X)
Key range: [Z, +∞)
Key range: [X, Y)
“Cache”
Compute
servers
Memory
servers
Globally accessible B+-treeree
Partition key ranges among compute servers
Low-cost repartition
Physical Partitioning |
Low |
High-cost repartition |
Scalable Compute-Side Caching
Randomized cooling policy [1]
DEX: Scalable Range Indexing on Disaggregated Memory
9
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
… , key, …
N4, …
…, ptr, N9…
… , key, …
N1, …
…, ptr, N8,…
… , key, …
N6, …
…, value …
… , key, …
N8,
…, ptr, …
Cooling
FIFO
…
Bucket 0
Head
Tail
Bucket N
Cooling Map
… , key, …
N9,
…, value, …
Cooling
Cache
[1] LeanStore: In-Memory Data Management Beyond Main Memory(ICDE 18)
… , key, …
N9, …
…, value …
… , key, …
N8, …
…, ptr,…
FIFO
Opportunistic Offloading
DEX: Scalable Range Indexing on Disaggregated Memory
10
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
RDMA Network
Leaf Node
Compute
Servers
Memory
Servers
Leaf Node
Cache
miss
Offloading latency
One-sided RDMA latency
Evaluation Setup
Hardware Platform
YCSB Workloads
Competitors
DEX: Scalable Range Indexing on Disaggregated Memory
11
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
| Compute Server | Memory Server |
CPU cores | 36 cores | 4 cores |
DRAM size | 256MB – 1GB | 64GB |
Multi-thread Scalability Across Machines
DEX: Scalable Range Indexing on Disaggregated Memory
12
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo
DEX: winner and near-linear scalability
SMART: unscalable due to unscalable cache replacements
Sherman: unscalable due to frequent RDMA-based locking
Summary
DEX: Scalable Range Indexing on Disaggregated Memory
13
B. Lu, K. Huang, M. Liang, T. Wang, E. Lo