orleans: cloud computing for everyone
TRANSCRIPT
![Page 1: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/1.jpg)
ORLEANS:
CLOUD PROGRAMMING FOR EVERYONE James Larus
Microsoft Research
ASPLOS Mini-Symposium
10/20/2011
![Page 2: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/2.jpg)
CLOUD COMPUTING = CLIENTS + CLOUD
2
Next computing platform
Functionality split between
client and cloud
Multiplicity of devices
“Unlimited” compute and
storage on demand in cloud
Augmentation not substitution
Smartphone + tablet + PC
Many devices, some specialized
Buy services, not bits
![Page 3: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/3.jpg)
CHALLENGES OF CLOUD COMPUTING
Inherently parallel and distributed
Many servers, possibly in multiple data centers
Diverse clients with disparate capabilities
Unreliable, failure-prone platform
Commodity computers and communication links
Non-negligible failure rates with complex failure modes
Services, not stand-alone applications
Varying and unpredictable loads
High availability and reliability
And, historic challenges of constructing secure, reliable, scalable,
elastic, and efficient software 3
![Page 4: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/4.jpg)
ORLEANS
4
Software framework and runtime to make cloud programming easier and more productive
Experimental system from Microsoft Research
Shift burden of correctness and performance from developer to Orleans system
Radically simplified, prescriptive programming model
Application
Orleans
.NET
Azure
Servers
![Page 5: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/5.jpg)
ORLEANS IS ACTOR BASED
5
Field Value
Name “John Doe”
Email “[email protected]
”
Address “123 Main St.,
Anywhere UR 01234”
Products
Grain
ID1 Grain
ID2
Checkout
AddProduct
RemoveProduct
Grain (actor)
Customer Grain Messages
State
Methods
Message Queue
![Page 6: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/6.jpg)
GRAIN ACTIVATIONS
6
NumAvailable
Buy
AddReview
Field Value
Name “Canon
EOS T3i”
Num
ber
B004J3V90
Y
Quan
tity
12345
Price $800.0
Revie
ws Grain
ID1 Grain
ID2
NumAvailable
Buy
AddReview
Field Value
Name “Canon EOS
T3i”
Numbe
r
B004J3V90Y
Quantit
y
12345
Price $800.0
Review
s Grain
ID1 Grain
ID2
![Page 7: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/7.jpg)
IN-GRAIN PROGRAMMING MODEL
7
Field Value
Name “John Doe”
Email “[email protected]
”
Address “123 Main St.,
Anywhere UR 01234”
Products
Grain
ID1 Grain
ID2
Checkout
AddProduct
RemoveProduct
![Page 8: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/8.jpg)
SYSTEM IS COMPOSED OF GRAINS
8
Silo (process)
![Page 9: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/9.jpg)
TRANSACTIONS
9
Isolation
Consistency
Atomicity
![Page 10: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/10.jpg)
ADAPTIVE PERFORMANCE MANAGEMENT
10
Grain Placement
Grain Migration
![Page 11: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/11.jpg)
PERSISTENCE
11
![Page 12: Orleans: Cloud Computing for Everyone](https://reader031.vdocuments.site/reader031/viewer/2022022621/62193b03f993ef31881a2164/html5/thumbnails/12.jpg)
CONCLUSION
Orleans provides explicit support for key aspects of cloud software
Communications
Concurrency
Data partitioning
Computation replication
Error handling
Performance monitoring and control
Shifts burden from developer to Orleans
Make the cloud accessible to everyone
12