New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
dryadOrleans
1. CLOUD PROGRAMMING
MODELS
The Microsoft software stack for coding the cloud
Dryad and Orleans
Perdacher Martin
A1142622
2. DRYAD
• Dryad ≠ Azure
• programming model for writing parallel
and distributed programs
• scale from small cluster to large data-center
• several sequential programs connected in a
DAG (Directed Acyclic Graph)
• build on top of COSMOS (distributed append-only file system)
5. DRYAD VERTICES
DRYAD BASE CLASS
• building blocks (C++, API-wrapper for other languages)
• unique textual name
• static factory to create its own
• invoked from JM with closure containing name and parameter
• inherit
from predefined base class
(map, reduce, distribute)
7. Dryad
code smell
creates
Figures taken from [2]
8. ON TOP OF DRYAD
• SCOPE • DryadLinq
Structured Computations Language Integrated Query
Optimized for Parallel Execution
• SQL-like scripting for massive
data analysis with no explicit
parallelism
not further covered in this presentation
• ideal
for massive log- or text files
and web content
12. ORLEANS
PAGERANK ALGORITHM
left: single Server, varying number of cores,
right: varying number of servers, 16 cores each
scalable: no changes to the application
to scale from 16 to 512 cores
Figures taken from [5]
13. ORLEANS
• very similar to the actor model in Scala (Akka)
• Orleans2-fold faster than Dryad
Comparison based on PageRank Algorithm (Sec. 5.3.1 in [5])
no data to disk in Orleans
• static
data partitioning (Dryad) vs dynamic load balancing
(Orleans)
• Orleans have increased code complexity vs Dryad
14. REFERENCES
[1] Dryad Introduction at Microsoft-research
http://research.microsoft.com/en-us/projects/dryad/
[2] Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly. 2007.
Dryad: distributed data-parallel programs from sequential building blocks. SIGOPS Oper. Syst. Rev. 41
[3] Blog-post to Orleans
http://www.zdnet.com/blog/microsoft/orleans-microsofts-next-generation-programming-model-for-the-
cloud/7152
[4] Ronnie Chaiken, Bob Jenkins, Per-Åke Larson, Bill Ramsey, Darren Shakib, Simon Weaver, and
Jingren Zhou. 2008. SCOPE: easy and efficient parallel processing of massive data sets. Proc. VLDB
Endow. 1, 2 (August 2008), 1265-1276.
[5] Sergey Bykov, Alan Geller, Gabriel Kliot, James R. Larus, Ravi Pandya, and Jorgen Thelin. 2011.
Orleans: cloud computing for everyone. In Proceedings of the 2nd ACM Symposium on Cloud
Computing (SOCC '11)