Orleans: Distributed Virtual
Actors for Programmability
and Scalability
Papers We Love #12!
San Francisco!
February 19th 2015!
Slide 2
Slide 2 text
Caitie McCaffrey!
Distributed Systems Engineer
@Caitie
CaitieM.com
Slide 3
Slide 3 text
Philip A. Bernstein, Sergey Bykov, Alan Geller, Gabriel
Kliot, Jorgen Thelin
Orleans: Distributed Virtual
Actors for Programmability
and Scalability
eXtreme Computing Group MSR
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
Orleans: a Framework for Cloud Computing
Orleans: Cloud Computing for Everyone
Orleans: Distributed Virtual Actors for
Programmability & Scalability
November 30th 2010
October 2011
March 2014
Slide 6
Slide 6 text
The Actor Model
A framework & basis for reasoning about concurrency
A Universal Modular Actor Formalism for Artificial Intelligence !
Carl Hewitt, Peter Bishop, Richard Steiger (1973)
Slide 7
Slide 7 text
Actor Actions
• Send a Message
• Create New Actors
• Designate the Behavior to be used on
the next Message
Slide 8
Slide 8 text
Orleans
“Orleans is a runtime and
programming model for
building distributed systems,
based on the actor model”
Slide 9
Slide 9 text
Virtual Actors
“An Orleans actor always exists, virtually. It
cannot be explicitly created or destroyed”
Slide 10
Slide 10 text
Virtual Actors
• Perpetual Existence
• Automatic Instantiation
• Location Transparency
• Automatic Scale out
Slide 11
Slide 11 text
Runtime
• Messaging
• Hosting
• Execution
Slide 12
Slide 12 text
Programming Model
• .NET Framework!
• Actor Interfaces!
• Promises!
• Actor References
• Turns
• Persistence
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
Programming Model
• .NET Framework
• Actor Interfaces
• Promises
• Actor References!
• Turns
• Persistence
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
Programming Model
• .NET Framework
• Actor Interfaces
• Promises
• Actor References
• Turns!
• Persistence
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
Reliability
“Orleans manages all aspects of reliability automatically”
Slide 19
Slide 19 text
TOO!
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
TOO!
Slide 22
Slide 22 text
TOO!
Slide 23
Slide 23 text
Isolation
Slide 24
Slide 24 text
Messaging
Guarantees
Slide 25
Slide 25 text
Let’s Talk About CAP
Slide 26
Slide 26 text
Orleans is AP
Slide 27
Slide 27 text
Halo 4: Statistics
Service
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
Halo 4: Presence
Service
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
Performance &
Scalability
Slide 32
Slide 32 text
“Orleans applications run at very high CPU
Utilization. We have run load tests with full
saturation of 25 servers for many days at 90%+
CPU utilization without any instability”
Slide 33
Slide 33 text
No content
Slide 34
Slide 34 text
No content
Slide 35
Slide 35 text
Conclusion
• Virtual Actors
• AP Actor Activation
• Developer Productivity