SLIK: Scalable Low-Latency Indexes for a Key-Value Store
Ankita Kejriwal
(With Arjun Gopalan, Ashish Gupta, Greg Hill, Zhihao Jia, Stephen Yang and John Ousterhout) PlatformLab
SLIK: Scalable Low-Latency Indexes for a Key-Value Store Ankita - - PowerPoint PPT Presentation
SLIK: Scalable Low-Latency Indexes for a Key-Value Store Ankita Kejriwal (With Arjun Gopalan, Ashish Gupta, Greg Hill, Zhihao Jia, Stephen Yang and John Ousterhout) PlatformLab Hypothesis A key value store can support highly consistent
(With Arjun Gopalan, Ashish Gupta, Greg Hill, Zhihao Jia, Stephen Yang and John Ousterhout) PlatformLab
SLIK Slide 2
SLIK Slide 4
SLIK Slide 5
SLIK Slide 6
SLIK Slide 7
Slide 8
SLIK
Object Value Blob Key
Slide 9
Object Primary Key
SLIK
Key[0] Value Blob Key[2] Key[1] Num Keys ….
SLIK Slide 10
Object Primary Key Key[0] Value Blob Key[2] Key[1] Num Keys ….
SLIK Slide 11
SLIK Slide 12
SLIK Slide 13
55 2 13 Indexlet Tablet 1 20 23 Indexlet 89 14 Tablet 5 31 Indexlet 60 3 9 Tablet 11 15 24 45
5 14 9 3 11 15 31 89 60 24 2 1 13 20 55 23 45
SLIK Slide 14
Slide 15
55 2 13 Indexlet Tablet 1 20 23 Indexlet 89 14 Tablet 5 31 Indexlet 60 3 9 Tablet 11 15 24 45
5 14 9 3 11 15 31 89 60 24 2 1 13 20 55 23 45
55 2 13 Tablet 1 20 23 89 14 Tablet 5 31 60 3 9 Tablet 11 15 24 45
3 1 5 9 14 11 2 13 23 15 24 45 89 60 20 31 55
Indexlet Indexlet
Slide 16 SLIK
55 2 13 Tablet 1 20 23 89 14 Tablet 5 31 60 3 9 Tablet 11 15 24 45
3 1 5 9 14 11 2 13 23 15 24 45 89 60 20 31 55
Indexlet Indexlet
Slide 17
20 40 60 80 100 120 10 20 30 40 50 60 70 80 Lookup Latency (µs) Number of Servers
Colocation size 1 Colocation size 10 Independent size 1 Independent size 10
8.3 26.7 87.3 16.2 89.7 15.2 16.7 12.7 22.3 28.8
1000 2000 3000 4000 5000 1 2 3 4 5 6 7 8 9 10 Throughput (103 lookups/sec) Number of Indexlets
Independent Partitioning Colocation
580 1127 1619 2197 2655 3199 3629 4248 4629 5069 461 423 463 447 457 447 357 441 418 435
SLIK Slide 20
Slide 21
time Object: ¡Foo ¡(pk): ¡Bob ¡(sk) ¡ Object: ¡Foo ¡(pk): ¡Sam ¡(sk) ¡ Index ¡Entry: ¡Bob ¡-‑> ¡Foo ¡ Index ¡Entry: ¡Sam ¡-‑> ¡Foo ¡ commit point modify object commit point commit point write object remove object
SLIK Slide 22
SLIK Slide 23
SLIK Slide 24
SLIK Slide 25
Slide 26
10 10 10 10 10 10 10 Size of Index (# objects)
10 100 1000 100 101 102 103 104 105 106 (a) Lookup Latency (µs)
H-Store SK Partitioned 173.10 147.71 187.69 196.65 186.66 204.40 203.70 H-Store PK Partitioned 963.82 929.22 937.06 989.51 1024.35 987.00 941.17 HyperDex 155.9 166.3 181.8 184.4 185.0 239.2 263.7 SLIK TCP 45.2 44.9 42.7 48.5 49.7 45.6 54.5 SLIK 11.0 10.2 11.7 11.6 12.7 12.8 13.1
Slide 27
10 100 1000 100 101 102 103 104 105 106 (c) Overwrite Latency (µs) Size of Index (# objects)
H-Store SK Partitioned 179.53 160.16 195.06 202.07 192.46 207.10 209.37 H-Store PK Partitioned 987.25 939.84 961.17 1019.82 1048.86 1010.92 968.72 HyperDex 768.5 782.8 782.9 785.7 789.4 949.4 870.0 SLIK TCP 124.4 135.8 126.5 125.9 124.3 123.8 129.7 SLIK 31.4 32.7 34.2 34.3 35.2 35.2 37.0
Slide 28
10 100 1000 1 2 3 4 5 6 7 8 9 10 Latency (µs) Number of Indexes
H-Store via Sk1
268.82 248.51 271.58 241.77 255.70
H-Store via Pk
1620.92 1343.23 1360.54 1455.67 1448.46
H-Store via SkX SLIK TCP
138.5 139.1 156.2 165.2 164.3 175.3 175.7 179.1 182.0 184.6
SLIK
33.0 35.3 39.8 39.0 42.7 42.4 46.4 47.3 49.5 51.2
HyperDex
893.6 978.5 1061.5 1116.3 1267.8 836.4
Slide 29
1000 2000 3000 4000 5000 1 2 3 4 5 6 7 8 9 10 Throughput (103 lookups/sec) Number of Indexlets
H-Store HyperDex SLIK TCP SLIK
38.49 40.70 55.59 70.15 82.75 98.09 115.40 130.27 149.25 190.20 267 275 371 430 653 794 1001 1199 1352 1445 1663 1807 220 580 1127 1619 2197 2655 3199 3629 4248 4629 5069
50 100 150 200 250 300 1 2 3 4 5 6 7 8 9 10 Average Latency per Lookup (µs) Number of Indexlets
H-Store
119.41 152.61 179.68 199.22 215.65 243.45 240.38 267.46 269.84 267.23
SLIK tcp
49.93 55.63 58.22 69.15 81.61 90.68 91.07 112.76 114.47 113.32
SLIK
13.13 13.36 13.99 13.78 14.45 14.74 14.53 14.45 14.68 14.75
Slide 30
SLIK Slide 31
SLIK Slide 32
Slide 33 SLIK
Slide 34
SLIK
SLIK Slide 35
SLIK Slide 36