diamond automating data management and storage for wide
play

Diamond: Automating Data Management and Storage for Wide-area, - PowerPoint PPT Presentation

Diamond: Automating Data Management and Storage for Wide-area, Reactive Applications Irene Zhang Niel Lebeck Pedro Fonseca Brandon Holt Raymond Cheng Ariadna Norberg Arvind Krishnamurthy Henry M. Levy 1 Diamond:


  1. Diamond: Automating 
 Data Management and Storage 
 for Wide-area, Reactive Applications Irene Zhang Niel Lebeck Pedro Fonseca 
 Brandon Holt Raymond Cheng 
 Ariadna Norberg Arvind Krishnamurthy Henry M. Levy 1

  2. Diamond: Automating 
 Data Management and Storage 
 for Wide-area, Reactive Applications Irene Zhang Niel Lebeck Pedro Fonseca 
 Brandon Holt Raymond Cheng 
 Ariadna Norberg Arvind Krishnamurthy Henry M. Levy 1

  3. Reactive applications automatically propagate updates across mobile devices and the cloud. 2

  4. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor Irene Niel Niel Irene 0 0 0 0 2

  5. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor You earned 5 pts! Irene Niel Niel Irene 0 0 0 5 0 2

  6. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor It’s your turn! Irene Niel Niel Irene 0 0 0 5 0 5 2

  7. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor It’s your turn! Availability Irene Niel Niel Irene 0 0 0 5 0 5 2

  8. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor It’s your turn! Fault-tolerance Availability Irene Niel Niel Irene 0 0 0 5 0 5 2

  9. Reactive applications automatically propagate updates across mobile devices and the cloud. Pin The Advisor Pin The Advisor It’s your turn! Fault-tolerance Availability Consistency Irene Niel Niel Irene 0 0 0 5 0 5 2

  10. Which poses a challenge for app programmers. Pin The Advisor Pin The Advisor You earned 5 pts! Irene Niel Niel Irene 5 0 0 0 3

  11. Which poses a challenge for app programmers. Pin The Advisor Pin The Advisor App App You earned 5 pts! player1 0 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene 0 0 3

  12. Which poses a challenge for app programmers. Storage irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene player1 0 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene 0 0 3

  13. Which poses a challenge for app programmers. Storage irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene 0 0 3

  14. Which poses a challenge for app programmers. Storage irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene niel 0 0 3

  15. Which poses a challenge for app programmers. Storage write 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene niel 0 0 3

  16. Which poses a challenge for app programmers. Storage write 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene niel 0 0 3

  17. Which poses a challenge for app programmers. Storage write 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene turn irene 5 0 turn irene niel 0 0 Notification 
 Service 3

  18. Which poses a challenge for app programmers. Storage write 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene 2 turn irene notify 5 0 turn irene niel 0 0 notify 3 Notification 
 Service 3

  19. Which poses a challenge for app programmers. Storage r e write a d 4 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! It’s your turn! turn irene niel 5 player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene 2 niel turn irene notify 5 0 turn irene niel 0 0 5 notify 3 Notification 
 Service 3

  20. Which poses a challenge for app programmers. Storage r e write a d 4 1 5 irene 0 Pin The Advisor niel 0 App App It’s your turn! turn irene niel 5 player1 0 5 player1 0 player1 0 player1 0 Niel Irene 2 niel turn irene notify turn irene niel 0 0 5 notify 3 Notification 
 Service 3

  21. Which poses a challenge for app programmers. Storage write 4 1 5 irene 0 Pin The Advisor niel 0 App App turn irene niel player1 0 5 player1 0 player1 0 player1 0 Niel Irene 2 turn irene turn irene niel 0 0 3 Notification 
 Service 3

  22. Which poses a challenge for app programmers. Storage write 4 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene 2 turn irene 5 0 turn irene niel 0 0 3 Notification 
 Service 3

  23. Which poses a challenge for app programmers. This is a complex, distributed data management problem! Storage write 4 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene 2 turn irene 5 0 turn irene niel 0 0 3 Notification 
 Service 3

  24. Which poses a challenge for app programmers. This is a complex, distributed data management problem! Storage write 4 1 5 irene 0 Pin The Advisor Pin The Advisor niel 0 App App You earned 5 pts! turn irene niel player1 0 5 player1 0 player1 0 player1 0 Irene Niel Niel Irene 2 turn irene 5 0 turn irene niel 0 0 3 Conclusion: Reactive applications require end-to-end Notification 
 Service data management with strong guarantees. 3

  25. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  26. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  27. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  28. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  29. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  30. Which poses a challenge for app programmers. Conclusion: Reactive applications require end-to-end data management with strong guarantees. 4

  31. Diamond Diamond is the first reactive data management service, which provides the following guarantees: • Ensures updates to shared data are consistent and durable • Coordinates and synchronizes updates reliably across mobile clients and cloud storage • Automatically triggers application code in response to updates to shared data 5

  32. Talk Outline Diamond System & Programming Model 
 What does Diamond provide for reactive apps? 
 Diamond Guarantees & Implementation 
 What does Diamond guarantee for reactive apps? 
 Evaluation 
 How does Diamond impact app complexity and performance? 
 6

  33. Diamond System Model Diamond Cloud Client Devices Front-end Servers App Process libDiamond Distributed Key-Value Store App Process libDiamond 7

  34. Diamond Programming Model Read-write Transactions 
 Reactive Data Types (RDTs) 
 Read-write transactions to update Shared, persistent data structures shared RDTs. Reactive Data Map (rmap) 
 Reactive Transactions 
 Binding between RDTs in the app Read-only transactions that re-execute and the Diamond store app code when the read set updates. Store App App Diamond Cloud libDiamond libDiamond 8

  35. Reactive Data Types (RDTs) 
 Shared, persistent data structures App Pin The Advisor Simple data structures including primitives • (e.g., string, long), collections (e.g., list) and Irene Niel 0 0 libDiamond Conflict-free Data Types (e.g., counter, set) PinAdvisor.cc - x + Data type semantics avoid false sharing and • enable commutative operations Defined in libDiamond language bindings • 9

  36. Reactive Data Types (RDTs) 
 Shared, persistent data structures App Pin The Advisor player1 Simple data structures including primitives • (e.g., string, long), collections (e.g., list) and Irene Niel 0 0 libDiamond Conflict-free Data Types (e.g., counter, set) PinAdvisor.cc - x + Data type semantics avoid false sharing and • DCounter player1; enable commutative operations Defined in libDiamond language bindings • 9

Recommend


More recommend