O: C P E

subduedjourneySoftware and s/w Development

Oct 28, 2013 (3 years and 11 months ago)

77 views

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

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

O
RLEANS


= P
ROGRAMMING

M
ODEL

+ D
ISTRIBUTED

R
UNTIME

3


Simplified programming
m
odel


Transparent scalability


Adaptive performance
m
anagement


Orleans

Applications

.NET + Azure

Name

“Sony

TC412”

SKU

X0322D12

Quantity

315

Price

$500

NumAvailable
()

Buy(…)

AddReview
(…)

Name

“Canon

EOS T3i”

SKU

B004J3V90Y

Quantity

12345

Price

$800

NumAvailable
()

Buy(…)

Addo敶i敷
(…)

Total

Price

$1300

Products

Customer

Buy(…)

Checkout(…)

G
RAINS

Buy(…)

Shopping Cart Grain

Product
Grain

Product
Grain

State

Behavior

State

Behavior

State

Behavior

Customer Grain

Behavior

State

4

Buy(…)

Schedule
c
losure

A
SYNCHRONOUS

C
OMMUNICATION

AND

P
ROMISES

Promise

Reply

Closure can execute

5

S
IMPLIFIED

E
RROR

H
ANDLING

Behavior

State

Behavior

State

Grain A

Grain B

Behavior

State

Grain C

Success closure

Error closure

6

S
INGLE

T
HREADED

E
XECUTION

M
ODEL

Behavior

State

Grain A

Message Queue

Execution Queue

7

Quantity

1231

Name

“Canon EOS T3i”

SKU

B004J3V90Y

NumAvailable
()

Buy(…)

A
CTIVATIONS

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(…)

8

W
HAT

COULD

GO

WRONG
?

A

B

C

D’

D

Inconsistency

E

Interleaving

Failure

9

L
IGHTWEIGHT

T
RANSACTIONS

A

B’

D’

B

E

C

B”

A’’

A’

D’

D

10

A
DAPTIVE

R
UNTIME

Silo

Silo

11

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

E
VALUATION


Total Chirper Throughput

13


200 lines of code


Near linear
scalability

Heavy Subscriber

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
]

C
ONCLUSION


Orleans = programming
m
odel + distributed
r
untime


Simplified programming
m
odel


Transparent scalability


Adaptive performance
t
uning


15


Make cloud programming



accessible to everyone!