Wya$ ¡Lloyd* ¡ ¡Michael ¡J. ¡Freedman* ¡ ¡ ¡Michael ¡Kaminsky† ¡ ¡ ¡ ¡David ¡G. ¡Andersen‡ ¡
*Princeton, ¡†Intel ¡Labs, ¡‡CMU ¡
Wide-Area Storage Stores: Stores: Stores: Status - - PowerPoint PPT Presentation
Dont Se$le for Eventual : Scalable Causal Consistency for Wide-Area Storage
*Princeton, ¡†Intel ¡Labs, ¡‡CMU ¡
A-‑F ¡ G-‑L ¡ M-‑R ¡ S-‑Z ¡
Web ¡Tier ¡ Storage ¡Tier ¡
A-‑F ¡ G-‑L ¡ M-‑R ¡ S-‑Z ¡Remote ¡DC ¡
A-‑Z ¡ A-‑Z ¡ A-‑L ¡ M-‑Z ¡ A-‑L ¡ M-‑Z ¡ A-‑F ¡ G-‑L ¡ M-‑R ¡ S-‑Z ¡ A-‑F ¡ G-‑L ¡ M-‑R ¡ S-‑Z ¡ A-‑C ¡ D-‑F ¡ G-‑J ¡ K-‑L ¡ M-‑O ¡ P-‑S ¡ T-‑V ¡ W-‑Z ¡ A-‑C ¡ D-‑F ¡ G-‑J ¡ K-‑L ¡ M-‑O ¡ P-‑S ¡ T-‑V ¡ W-‑Z ¡
¡ ¡ ¡ ¡ ¡
Impossible ¡[Brewer00, ¡GilbertLynch02] ¡ Impossible ¡[LiptonSandberg88, ¡AdyaWelch94] ¡ ¡ ¡ ¡ ¡COPS ¡ Amazon ¡ ¡ ¡ ¡LinkedIn ¡ ¡ ¡Facebook/Apache ¡ Dynamo ¡ ¡ ¡Voldemort ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Cassandra ¡
New ¡Job! ¡
Photo ¡Upload ¡ Add ¡to ¡album ¡ Employment ¡Integrity ¡ ReferenXal ¡Integrity ¡ New ¡Job! ¡
K=2 ¡ K=1 ¡ K=1 ¡ K=2 ¡ K=1 ¡ K=2 ¡
K=2 ¡ K=3 ¡ K=2 ¡ K=3 ¡ K=2 ¡ K=3 ¡
All ¡ Data ¡
All ¡ Data ¡
ReplicaXon ¡Q ¡
put ¡ aver ¡
(Thread-‑Of-‑ExecuXon ¡Rule) ¡
Client ¡1 ¡
(Gets-‑From ¡Rule) ¡
(TransiXvity ¡Rule) ¡ deps' ¡ L337 ¡ M195 ¡
Client ¡2 ¡
ReplicaXon ¡Q ¡
put ¡ aver ¡
K:V,deps ¡
deps ¡ ¡ ¡ L337 ¡ M195 ¡ ¡
Remote ¡ Datacenter ¡
Portugal! ¡
Remote ¡ Progress ¡ Remote ¡ Progress ¡ Remote ¡ Progress ¡
My ¡ OperaXons ¡ New ¡Job! ¡
Portugal! ¡
New ¡Job! ¡ New ¡Job! ¡
Remote ¡ Datacenter ¡
Portugal! ¡
Portugal! ¡
New ¡Job! ¡ New ¡Job! ¡
Portugal! ¡
Remote ¡ Progress ¡ Remote ¡ Progress ¡ Remote ¡ Progress ¡
My ¡ OperaXons ¡ New ¡Job! ¡
New ¡Job! ¡ Portugal! ¡
Remote ¡ Datacenter ¡
Portugal! ¡
Remote ¡ Progress ¡ Remote ¡ Progress ¡ Remote ¡ Progress ¡
My ¡ OperaXons ¡ New ¡Job! ¡
Portugal! ¡
Portugal! ¡
New ¡Job! ¡
Portugal! ¡
Remote ¡ Progress ¡ Remote ¡ Progress ¡
New ¡Job! ¡ Portugal! ¡
Portugal! ¡ Portugal! ¡
Portugal! ¡
New ¡Job! ¡
New ¡Job! ¡
Put ¡ Put ¡ Put ¡ Put ¡ Get ¡ Get ¡
COPS ¡
Remote ¡DC ¡
20 40 60 80 100 1 10 100 1000 Max Throughput (Kops/sec) Average Inter-Op Delay (ms) COPS COPS-GT
People ¡tweeXng ¡ 1000 ¡Xmes/sec ¡ People ¡tweeXng ¡ 1 ¡Xme/sec ¡ All ¡Put ¡Workload ¡– ¡4 ¡Servers ¡/ ¡Datacenter ¡
20 40 60 80 100 1 10 100 1000 Max Throughput (Kops/sec) Average Inter-Op Delay (ms) COPS COPS-GT
Varied ¡Workloads ¡– ¡4 ¡Servers ¡/ ¡Datacenter ¡ Pathological ¡ Expected ¡
0.2 0.4 0.6 0.8 1 Pathological High Inter-Op Delay 1:16 Put:Get 1/128 Variance 16KB Values Expected Workload Normalized Throughput LOG COPS COPS-GT
20 40 80 160 320 LOG 1 2 4 8 16 COPS 1 2 4 8 16 COPS-GT Throughput (Kops)