Papers We Love SF - Orleans Distributed Virtual Actors for Programmability & Scalability

Papers We Love SF - Orleans Distributed Virtual Actors for Programmability & Scalability

Orleans is a runtime and programming model for building scalable distributed systems, based on the actor model. The Orleans programming model introduces the abstraction of Virtual Actors. Orleans allows applications to obtain high performance, reliability, and scalability. This technology was developed by the eXtreme Computing Group at Microsoft Research and was a core component of the Azure Services that supported that powered Halo 4, the award winning video game.

9128d500301ae51524e887bb680f471d?s=128

Caitie McCaffrey

February 19, 2015
Tweet

Transcript

  1. Orleans: Distributed Virtual Actors for Programmability and Scalability Papers We

    Love #12! San Francisco! February 19th 2015!
  2. Caitie McCaffrey! Distributed Systems Engineer @Caitie CaitieM.com

  3. Philip A. Bernstein, Sergey Bykov, Alan Geller, Gabriel Kliot, Jorgen

    Thelin Orleans: Distributed Virtual Actors for Programmability and Scalability eXtreme Computing Group MSR
  4. None
  5. 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
  6. 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)
  7. Actor Actions • Send a Message • Create New Actors

    • Designate the Behavior to be used on the next Message
  8. Orleans “Orleans is a runtime and programming model for building

    distributed systems, based on the actor model”
  9. Virtual Actors “An Orleans actor always exists, virtually. It cannot

    be explicitly created or destroyed”
  10. Virtual Actors • Perpetual Existence • Automatic Instantiation • Location

    Transparency • Automatic Scale out
  11. Runtime • Messaging • Hosting • Execution

  12. Programming Model • .NET Framework! • Actor Interfaces! • Promises!

    • Actor References • Turns • Persistence
  13. None
  14. Programming Model • .NET Framework • Actor Interfaces • Promises

    • Actor References! • Turns • Persistence
  15. None
  16. Programming Model • .NET Framework • Actor Interfaces • Promises

    • Actor References • Turns! • Persistence
  17. None
  18. Reliability “Orleans manages all aspects of reliability automatically”

  19. TOO!

  20. None
  21. TOO!

  22. TOO!

  23. Isolation

  24. Messaging Guarantees

  25. Let’s Talk About CAP

  26. Orleans is AP

  27. Halo 4: Statistics Service

  28. None
  29. Halo 4: Presence Service

  30. None
  31. Performance & Scalability

  32. “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”
  33. None
  34. None
  35. Conclusion • Virtual Actors • AP Actor Activation • Developer

    Productivity
  36. Get Orleans https://github.com/dotnet/orleans! 
 
 
 


  37. Discussion