cloud computing for everyone
play

Cloud Computing for Everyone Sergey Bykov, Alan Geller , Gabriel - PowerPoint PPT Presentation

Orleans: Cloud Computing for Everyone Sergey Bykov, Alan Geller , Gabriel Kliot , James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group, Microsoft Research SOCC, October 27 th , 2011 Cloud Programming Must Get Simpler! SW Design OOP


  1. Orleans: Cloud Computing for Everyone Sergey Bykov, Alan Geller , Gabriel Kliot , James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group, Microsoft Research SOCC, October 27 th , 2011

  2. Cloud Programming Must Get Simpler! SW Design OOP GUI MVC Java Server .NET Applications JSP ASP .NET Web Ruby on Rails Cloud Orleans 2

  3. Orleans = Programming Model + Distributed Runtime Applications  Simplified Programming Model Orleans  Transparent Scalability Programming Model  Adaptive Performance Management Distributed Runtime .NET + Azure 3

  4. Grains Product X Grain Shopping Cart Grain State Behavior Behavior State NumAvailable() Name “Canon EOS T3i” Buy(…) Total Price $1300 Buy(…) SKU B004J3V90Y Buy(…) Products Quantity 12345 Checkout(…) AddReview (…) Customer Price $800 Product Y Grain Behavior State Customer Grain NumAvailable() Name “Sony TC412” SKU X0322D12 Behavior State Buy(…) Quantity 315 AddReview (…) Price $500 4

  5. Asynchronous Communication and Promises Buy(…) Reply Closure can Schedule a Closure Promise Execute 5

  6. Simplified Error Handling Grain C Grain B Grain A Behavior State Behavior State Behavior State Success Closure Error Closure 6

  7. Single Threaded Execution Model Grain A Message Queue Behavior State Execution Queue 7

  8. Activations State Reconciliation NumAvailable() Quantity 1231 Buy(…) Name “Canon EOS T3i” Store A0 SKU B004J3V90Y NumAvailable() Quantity 1231 Branch A1 Buy(…) Name “Canon EOS T3i” Branch A2 SKU B004J3V90Y NumAvailable() Quantity 1231 Buy(…) Name “Canon EOS T3i” Merge SKU B004J3V90Y 8

  9. What could go wrong? Failure D C Inconsistency A B D’ Interleaving E 9

  10. Lightweight Transactions D’ C D A B’ A’’ B A’ E D’ B” 10

  11. Adaptive Runtime Silo Silo 11

  12. Applications and Grain Size Chirper Simplified Twitter-like system User Messaging intensive PageRank Horton Large sparse matrices (Billions x Billions) Distributed graph database Compute Data intensive intensive Compute Worker Graph Partition 12

  13. Evaluation Total Chirper Throughpu t Throughput of a Heavy Subscriber  200 lines of code  Near linear scalability 13

  14. Related Work • Actor models • Transactions • Erlang • Futures/Promises • E • [Liskov et al] • Thorn • Conflict resolution • Distributed Objects • CRDTs [Marc Shapiro] • EJB • Concurrent Revisions [Burckhardt & Leijen] • CORBA 14

  15. Conclusion Orleans = Programming Model + Distributed Runtime  Simplified Programming Model  Transparent Scalability  Adaptive Performance Tuning Make cloud programming accessible to everyone! 15

Recommend


More recommend