ATraPos: Adaptive Transaction Processing on Hardware Islands
Danica Porobic, Erietta Liarou, Pınar Tözün, Anastasia Ailamaki
Data-Intensive Application and Systems Lab, EPFL
ATraPos: Adaptive Transaction Processing on Hardware Islands Danica - - PowerPoint PPT Presentation
ATraPos: Adaptive Transaction Processing on Hardware Islands Danica Porobic , Erietta Liarou, Pnar Tzn, Anastasia Ailamaki Data-Intensive Application and Systems Lab, EPFL Scaling up OLTP on multisockets Throughput 1 2 3 4 5 6 7 8
Data-Intensive Application and Systems Lab, EPFL
2
1 2 3 4 5 6 7 8 Throughput Number of sockets
3
<10 cycles
Core Core Core L1 L2 L1 L2 L1 L2 L3 Core L1 L2 Memory controller Inter-socket links Core Core Core L1 L2 L1 L2 L1 L2 L3 Memory controller Core L1 L2 Inter-socket links
L1
Inter-socket links
Inter-socket links
50 cycles 500 cycles
L3
threads Socket 0 Socket 1
4
5
8 socket x 10 core 800K row dataset Probing one row
6
4 socket x 6 core 240K row dataset Updating 10 rows
Shared-everything Shared-nothing Island shared-nothing
7
Stable Not optimal Fast Sensitive to workload Robust middle ground
8
– Avoiding unnecessary synchronization – Workload & hardware-aware partitioning & placement – Lightweight monitoring & repartitioning
9
10
Core Core Core Core Core Core Core Core
Data System state
threads
11
8 socket x 10 core 800K row dataset Probing one row
12
Core Core Core Core Core Core Core Core
System state
*I. Pandis, et al: PLP: Page Latch-free Shared-everything OLTP, VLDB 2011 threads
13
8 socket x 10 core 800K row dataset Probing one row
14
Core Core Core Core Core Core Core Core
System state System state
threads
15
8 socket x 10 core 800K row dataset Probing one row
– Avoiding unnecessary synchronization – Workload & hardware-aware partitioning & placement – Lightweight monitoring & repartitioning
16
17
300 600 900 1200 1500 1800 2100
PLP ATraPos HW-aware ATraPos Load balanced ATraPos
Throughput (KTPS)
8 socket x 10 core 800K rows per table Probing 1 row each from A and B
Probe A Probe B
1.9x
18
300 600 900 1200 1500 1800 2100
PLP ATraPos HW-aware ATraPos Load balanced ATraPos
Throughput (KTPS)
4.4x
Probe A Probe B
8 socket x 10 core 800K rows per table Probing 1 row each from A and B
19
300 600 900 1200 1500 1800 2100
PLP ATraPos HW-aware ATraPos Load balanced ATraPos
Throughput (KTPS)
4.8x
Probe A Probe B
8 socket x 10 core 800K rows per table Probing 1 row each from A and B
– Avoiding unnecessary synchronization – Workload & hardware-aware partitioning & placement – Lightweight monitoring & repartitioning
20
21
Probe A
Initialize with naive scheme Monitor the workload Evaluate cost model:
Balance the load Minimize synchronization
stats
22
Initialize with naive scheme Monitor the workload Evaluate cost model
Probe A Probe B
Repartition stats
23
threads
24
8 socket x 10 core 800K row table
25
PLP
8 socket x 10 core 800K subscribers
26
0.5 1 1.5 2 2.5 3 3.5 4 4.5 10 20 30 40 50 Throughput (MTPS) Time (s) Static ATraPos
8 socket x 10 core 800K subscribers TATP GetSubData 50% requests to 20% data
Repartitioning Monitoring
27
60 120 180 240 300 360 15 30 45 60 75 90 Throughput (KTPS) Time (s) Static ATraPos
UpdSubData GetNewDest Mix Repartitioning Monitoring 8 socket x 10 core 800K subscribers TATP
– Minimal inter-socket accesses in the critical path – Workload & hardware-aware partitioning & placement – Lightweight monitoring and repartitioning
28