Pro Yearly is on sale from $80 to $50! »

Qcon London 2015: Building the Halo 4 Services with Orleans

9128d500301ae51524e887bb680f471d?s=47 Caitie McCaffrey
March 05, 2015
150

Qcon London 2015: Building the Halo 4 Services with Orleans

9128d500301ae51524e887bb680f471d?s=128

Caitie McCaffrey

March 05, 2015
Tweet

Transcript

  1. Building the Halo 4 Services with Orleans Qcon London 2015

  2. Caitie McCaffrey! Distributed Systems Engineer @Caitie CaitieM.com

  3. None
  4. None
  5. Presence Statistics Title Files Cheat Detection User Generated Content

  6. None
  7. None
  8. None
  9. None
  10. Halo:CE - 6.43 million Halo 2 - 8.49 million Halo

    3 - 11.87 million Halo 3: ODST - 6.22 million Halo Reach - 9.52 million
  11. $220 million in sales ! 1 million players online Day

    One
  12. $300 million in sales ! 4 million players online !

    31.4 million hours Week One
  13. 11.6 million players ! 1.5 billion games ! 270 million

    hours Overall
  14. Architectural Challenges

  15. Load Patterns Load Patterns

  16. Azure Worker Roles Azure Table Azure Blob Azure Service Bus

  17. Always Available

  18. Low Latency & High Concurrency

  19. Stateless 3 Tier ! Architecture

  20. Latency Issues

  21. Add A Cache

  22. Concurrency 
 Issues

  23. Data Locality

  24. 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)
  25. Send A Message Create a New Actor Change Internal State

  26. State-full Services

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

    Thelin Orleans: Distributed Virtual Actors for Programmability and Scalability eXtreme Computing Group MSR
  28. “Orleans is a runtime and programming model for building distributed

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

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

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

  32. Messaging Guarantees

  33. Let’s Talk About CAP

  34. Orleans is AP

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

    • Actor References • Turns • Persistence
  36. None
  37. Programming Model • .NET Framework • Actor Interfaces • Promises

    • Actor References! • Turns • Persistence
  38. None
  39. Programming Model • .NET Framework • Actor Interfaces • Promises

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

  42. TOO!

  43. None
  44. TOO!

  45. TOO!

  46. Orleans & Halo

  47. None
  48. Halo 4: Statistics Service

  49. Player Grain

  50. Game Grain

  51. None
  52. Performance & Scalability

  53. “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”
  54. None
  55. Programmer Productivity & Performance

  56. Get Orleans https://github.com/dotnet/orleans! 
 
 
 


  57. Questions @Caitie