prophecy using history for high throughput fault tolerance
play

Prophecy : Using History for High Throughput Fault Tolerance - PowerPoint PPT Presentation

Prophecy : Using History for High Throughput Fault Tolerance Siddhartha Sen Joint work with Wyatt Lloyd and Mike Freedman Princeton University Non crash failures happen Non crash failures happen Non crash failures happen Non crash


  1. Delay ‐ once linearizability Delay once linearizability

  2. Delay ‐ once linearizability Delay once linearizability 〈 W , R , W , W , R , R , W , R 〉

  3. Delay ‐ once linearizability Delay once linearizability Read ‐ after ‐ write property 〈 W , R , W , W , R , R , W , R 〉

  4. Delay ‐ once linearizability Delay once linearizability Read ‐ after ‐ write property 〈 W , R , W , W , R , R , W , R 〉

  5. Example application Example application • Upload embarrassing photos Upload embarrassing photos 1. Remove colleagues from ACL 2 Upload photos 2. Upload photos 3. (Refresh) • Weak may reorder • Delay ‐ once preserves order

  6. Byzantine fault tolerance (BFT) Byzantine fault tolerance (BFT) • Low throughput Low throughput D Prophecy D ‐ Prophecy • Modifies clients difi li Prophecy • Long ‐ lived sessions

  7. Implementation Implementation • Modified PBFT Modified PBFT – PBFT is stable, complete – Competitive with Zyzzyva et. al. Competitive with Zyzzyva et al • C++, Tamer async I/O – Sketcher: ∼ 2000 LOC – PBFT library: ∼ 1140 LOC – PBFT client: ∼ 1000 LOC

  8. Evaluation Evaluation • Prophecy vs proxied ‐ PBFT Prophecy vs. proxied PBFT – Proxied systems • D ‐ Prophecy vs. PBFT – Non ‐ proxied systems

  9. Evaluation Evaluation • Prophecy vs proxied ‐ PBFT Prophecy vs. proxied PBFT – Proxied systems • We will study: – Performance on “null” workloads – Performance on null workloads – Performance with real replicated service – Where system bottlenecks, how to scale Where system bottlenecks how to scale

  10. Basic setup Basic setup Sk t h Sketcher (concurrent) Clients Clients (100) Replica Group (PBFT)

  11. Fraction of failed Fraction of failed fast reads

  12. Alexa top sites: Alexa top sites: Fraction of failed Fraction of failed < 15% fast reads

  13. Small benefit on null reads Small benefit on null reads

  14. Small benefit on null reads Small benefit on null reads

  15. Apache webserver setup Apache webserver setup Sk t h Sketcher Clients Clients Replica Group

  16. Large benefit on real workload Large benefit on real workload

  17. Large benefit on real workload Large benefit on real workload 3.7x

  18. Large benefit on real workload Large benefit on real workload 3.7x 2.0x

  19. Large benefit on real workload Large benefit on real workload 3.7x 2.0x

  20. Benefit grows with work Benefit grows with work

  21. Benefit grows with work Benefit grows with work

  22. Benefit grows with work Benefit grows with work

  23. Benefit grows with work Benefit grows with work 94 μ s (Apache)

  24. Benefit grows with work Benefit grows with work 94 μ s (Apache) Null workloads are misleading! are misleading!

  25. Benefit grows with work Benefit grows with work

  26. Single sketcher bottlenecks Single sketcher bottlenecks

  27. Single sketcher bottlenecks Single sketcher bottlenecks

  28. Scaling out Scaling out

  29. Scales linearly with replicas Scales linearly with replicas

  30. Summary Summary • Prophecy good for Internet services p y g – Fast, load ‐ balanced reads • D Prophecy good for traditional services • D ‐ Prophecy good for traditional services • Prophecy scales linearly while PBFT stays flat Prophecy scales linearly while PBFT stays flat • Limitations: – Read ‐ mostly workloads (meas. study corroborates) – Delay ‐ once linearizability (useful for many apps)

  31. Thank You

  32. Additional slides

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend