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

cloud computing for everyone
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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 27th, 2011

slide-2
SLIDE 2

2

Cloud Programming Must Get Simpler!

Cloud SW Design GUI Server Applications Web OOP MVC Java .NET JSP ASP .NET Ruby on Rails Orleans

slide-3
SLIDE 3

Orleans

Programming Model Distributed Runtime

Orleans = Programming Model + Distributed Runtime

3

Applications .NET + Azure

  • Simplified Programming Model
  • Transparent Scalability
  • Adaptive Performance Management
slide-4
SLIDE 4

Name “Sony TC412” SKU X0322D12 Quantity 315 Price $500

NumAvailable() Buy(…) AddReview(…)

Name “Canon EOS T3i” SKU B004J3V90Y Quantity 12345 Price $800

NumAvailable() Buy(…) AddReview(…)

Total Price $1300 Products Customer

Buy(…) Checkout(…)

Grains

4

Buy(…)

Shopping Cart Grain Product X Grain Product Y Grain State Behavior State Behavior State Behavior Customer Grain

Behavior State

slide-5
SLIDE 5

Buy(…) Schedule a Closure

Asynchronous Communication and Promises

5

Promise Reply Closure can Execute

slide-6
SLIDE 6

Simplified Error Handling

6

Behavior State Behavior State

Grain A Grain B

Behavior State

Grain C Success Closure Error Closure

slide-7
SLIDE 7

Single Threaded Execution Model

7

Behavior State

Grain A Message Queue Execution Queue

slide-8
SLIDE 8

Quantity 1231 Name “Canon EOS T3i” SKU B004J3V90Y NumAvailable() Buy(…)

Activations

8

Branch A1 Branch A2 Store A0 Merge

State Reconciliation

Quantity 1231 Name “Canon EOS T3i” SKU B004J3V90Y NumAvailable() Buy(…) Quantity 1231 Name “Canon EOS T3i” SKU B004J3V90Y NumAvailable() Buy(…)

slide-9
SLIDE 9

What could go wrong?

9

A B C D’ D

Inconsistency

E

Interleaving Failure

slide-10
SLIDE 10

Lightweight Transactions

10

A B’ D’ B E C B” A’’ A’ D’ D

slide-11
SLIDE 11

Adaptive Runtime

11

Silo Silo

slide-12
SLIDE 12

Applications and Grain Size

Messaging intensive Compute intensive Data intensive

12

Chirper

Simplified Twitter-like system User

PageRank

Large sparse matrices (Billions x Billions) Compute Worker

Horton

Distributed graph database Graph Partition

slide-13
SLIDE 13

Evaluation

13

Total Chirper Throughput

  • 200 lines of code
  • Near linear scalability

Throughput of a Heavy Subscriber

slide-14
SLIDE 14

Related Work

  • Actor models
  • Erlang
  • E
  • Thorn
  • Distributed Objects
  • EJB
  • CORBA

14

  • Transactions
  • Futures/Promises
  • [Liskov et al]
  • Conflict resolution
  • CRDTs [Marc Shapiro]
  • Concurrent Revisions

[Burckhardt & Leijen]

slide-15
SLIDE 15

Conclusion Orleans = Programming Model + Distributed Runtime

  • Simplified Programming Model
  • Transparent Scalability
  • Adaptive Performance Tuning

15

Make cloud programming accessible to everyone!