Presentation is loading. Please wait.

Presentation is loading. Please wait.

O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group,

Similar presentations


Presentation on theme: "O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group,"— Presentation transcript:

1 O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group, Microsoft Research DIMACS Workshop on Systems and Networking Advances in Cloud Computing 12/8/2011

2 C LOUD P ROGRAMMING M UST B ECOME S IMPLER Complex Software OOP GUI MVC Server Applications Java.NET Web JSP ASP.NET Ruby on Rails Cloud Orleans 2

3 O RLEANS = P ROGRAMMING M ODEL + D ISTRIBUTED R UNTIME 3 Simplified programming model Transparent scalability Adaptive performance management Orleans Applications.NET + Azure

4 Name“Sony TC412” SKUX0322D12 Quantity315 Price$500 NumAvailable() Buy(…) AddReview(…) Name“Canon EOS T3i” SKUB004J3V90Y Quantity12345 Price$800 NumAvailable() Buy(…) AddReview(…) Total Price$1300 Products Customer Buy(…) Checkout(…) G RAINS Buy(…) Shopping Cart Grain Product Grain State Behavior StateBehavior StateBehavior Customer Grain BehaviorState 4

5 Buy(…) Schedule closure A SYNCHRONOUS C OMMUNICATION AND P ROMISES Promise Reply Closure can execute 5

6 S IMPLIFIED E RROR H ANDLING BehaviorStateBehaviorState Grain AGrain B Behavior State Grain C Success closure Error closure 6

7 S INGLE T HREADED E XECUTION M ODEL BehaviorState Grain A Message Queue Execution Queue 7

8 Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) A CTIVATIONS Branch A1 Branch A2 Store A0 Merge State Reconciliation Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) Quantity1231 Name“Canon EOS T3i” SKUB004J3V90Y NumAvailable() Buy(…) 8

9 W HAT COULD GO WRONG ? A B C D’ D Inconsistency E Interleaving Failure 9

10 L IGHTWEIGHT T RANSACTIONS A B’ D’ B E C B” A’’ A’ D’ D 10

11 A DAPTIVE R UNTIME Silo 11

12 A PPLICATIONS AND G RAIN S IZE Messaging intensive Compute intensive Data intensive Chirper Simplified Twitter-like system User, Address book, Chirp PageRank Large sparse matrices (billions x billions) Processor Horton Distributed graph database Graph partition 12

13 E VALUATION Total Chirper Throughput 13  200 lines of code  Near linear scalability Heavy Subscriber

14 R ELATED W ORK Actor models Erlang E Thorn Distributed objects Emerald EJB CORBA 14 Transactions Futures/Promises [Liskov et al] Conflict resolution CRDTs [Marc Shapiro] Concurrent revisions [Burckhardt & Leijen]

15 C ONCLUSION Orleans = programming model + distributed runtime Simplified programming model Transparent scalability Adaptive performance tuning 15 Make cloud programming accessible to everyone!


Download ppt "O RLEANS : C LOUD P ROGRAMMING FOR E VERYONE Sergey Bykov, Alan Geller, Gabriel Kliot, James Larus, Ravi Pandya, Jorgen Thelin eXtreme Computing Group,"

Similar presentations


Ads by Google