Download presentation
Presentation is loading. Please wait.
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.