The Bw-Tree
A B-tree for New Hardware Platforms
Presented by Liming Deng
Part I - Introduction
The New Environment
The New Environment
Multi-core CPU
The New Environment
Flash storage ( Providing FTL)
Part II - Architecture
Architecture
Architecture
put(x, a):
v = read(x)
return v == cas(x, v, a)
Part II - IN-MEMORY
LATCH FREE PAGES
IN-MEMORY LATCH FREE PAGES
Elastic Virtual Pages
LPID | PTR |
P | Memory Address |
Q | Flash Offset |
Node
Internal index:
Separator key
Record or
Memory pointer to other
PID
IN-MEMORY LATCH FREE PAGES
Updates
IN-MEMORY LATCH FREE PAGES
Consolidation
How to search?
IN-MEMORY LATCH FREE PAGES
Garbage Collection
Part III - SMO
SMO =
structure modification operation
Split
SMO =
structure modification operation
Split
SMO =
structure modification operation
Split
Split delta = {
Kp, AddressOfQ
}
SMO =
structure modification operation
Split
SMO =
structure modification operation
Split
SMO =
structure modification operation
Merge
Last Part - Performance
Cache
Throughput
Thank You !