More Than A Network: Distributed OLTP on Clusters of Hardware Islands
Danica Porobic, Pınar Tözün, Raja Appuswamy, Anastasia Ailamaki
1
More Than A Network: Distributed OLTP on Clusters of Hardware - - PowerPoint PPT Presentation
More Than A Network: Distributed OLTP on Clusters of Hardware Islands Danica Porobic , Pnar Tzn, Raja Appuswamy, Anastasia Ailamaki 1 Multisocket multicores 21 cycles 72 cycles 2x12-core 237 cycles Intel Xeon E5-2650L v3 threads
Danica Porobic, Pınar Tözün, Raja Appuswamy, Anastasia Ailamaki
1
2
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
L3
threads socket 0 socket 1 21 cycles 72 cycles 237 cycles 2x12-core Intel Xeon E5-2650L v3
Challenge: non-uniform communication
Shared-everything Shared-nothing Island shared-nothing
stable not optimal fast sensitive to workload robust middle ground
3
Optimal configuration depends on workload and hw
– Need to scale across many cores
– Datasets are memory resident
– Need to scale across multiple nodes
4
Complex hierarchy of Hardware Islands
environment?
throughput?
in distributed deployments?
5
X5660
memory communication
sensitive microbenchmark
E7-L8867
memory communication
microbenchmark
6
scale-up scale-out hybrid
7
20 40 60 80 100 120 140 160 1 2 4 8 Throughput (KTps) Number of servers
TPC-C New Order
scale-up hybrid scale-out
8
No configuration is optimal for every cluster
100 200 300 400 500 600 1 2 4 8 Throughput (KTps) Number of servers
TPC-C Payment
Shore, TCP/IP
9
20 40 60 80 100 120 140 160 180 200 scale-out scale-up Throughput (KTps)
TPC-C Payment
5 10 15 20 25 30 35 40 45 scale-out scale-up Throughput (KTps)
TPC-C New Order
OS Bound
Thread migrations hurt performance & predictability
Shore, TCP/IP
– probe/update N rows from the local site
– probe/update 1 row from the local site – probe/update N-1 rows uniformly from any site – sites may reside on the same instance
10
11
10 20 30 40 50 60 70 80 90 scale-out scale-up scale-out scale-up Local 20% multisite Throughput (KTps)
Reading 20 rows
TCP/IP Shared memory 5 10 15 20 25 30 35 40 45 50 scale-out scale-up scale-out scale-up Local 20% multisite Throughput (KTps)
Updating 20 roes
Read-only: helps, Updates: little impact
Shore-MT
12
10 20 30 40 scale-out scale-up scale-out scale-up Local 20% multisite Throughput (MTps)
Reading 2 rows
Sockets Shared memory 2 4 6 8 10 12 14 scale-out scale-up scale-out scale-up Local 1% multisite Throughput (MTps)
Updating 2 rows
Distributed updates cause severe throughput drop
Silo
10 20 30 40 50 60 0.2 0.4 0.6 0.8 1 10 20 30 40 50 60 70 80 90 100 %Aborts Normalized throughput % distributed transactions Read-write Read-only RW aborts
Multicore-optimized OCC very sensitive to delays 13
but does not guarantee improvement
Thank you!
14