Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Qcon London 2015: Building the Halo 4 Services ...
Search
Caitie McCaffrey
March 05, 2015
450
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Qcon London 2015: Building the Halo 4 Services with Orleans
Caitie McCaffrey
March 05, 2015
More Decks by Caitie McCaffrey
See All by Caitie McCaffrey
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Path Towards Simplifying Consistency in Distributed Systems
caitiem20
1
440
Argus Papers We Love
caitiem20
14
1.3k
The Verification of a Distributed System
caitiem20
22
2.4k
We Hear You Like Papers: Eventual Consistency
caitiem20
14
910
The Verification of a Distributed System
caitiem20
12
890
The Verification of a Distributed System
caitiem20
6
870
A Brief History of Distributed Programming: RPC
caitiem20
31
6.9k
Building Scalable Stateful Services
caitiem20
12
1.9k
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
Designing for Timeless Needs
cassininazir
1
480
The untapped power of vector embeddings
frankvandijk
2
1.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Site-Speed That Sticks
csswizardry
13
1.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Curious Case for Waylosing
cassininazir
1
510
Design in an AI World
tapps
1
320
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
690
Transcript
Building the Halo 4 Services with Orleans Qcon London 2015
Caitie McCaffrey! Distributed Systems Engineer @Caitie CaitieM.com
None
None
Presence Statistics Title Files Cheat Detection User Generated Content
None
None
None
None
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
$220 million in sales ! 1 million players online Day
One
$300 million in sales ! 4 million players online !
31.4 million hours Week One
11.6 million players ! 1.5 billion games ! 270 million
hours Overall
Architectural Challenges
Load Patterns Load Patterns
Azure Worker Roles Azure Table Azure Blob Azure Service Bus
Always Available
Low Latency & High Concurrency
Stateless 3 Tier ! Architecture
Latency Issues
Add A Cache
Concurrency Issues
Data Locality
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)
Send A Message Create a New Actor Change Internal State
State-full Services
Philip A. Bernstein, Sergey Bykov, Alan Geller, Gabriel Kliot, Jorgen
Thelin Orleans: Distributed Virtual Actors for Programmability and Scalability eXtreme Computing Group MSR
“Orleans is a runtime and programming model for building distributed
systems, based on the actor model”
Virtual Actors “An Orleans actor always exists, virtually. It cannot
be explicitly created or destroyed”
Virtual Actors • Perpetual Existence • Automatic Instantiation • Location
Transparency • Automatic Scale out
Runtime • Messaging • Hosting • Execution
Messaging Guarantees
Let’s Talk About CAP
Orleans is AP
Programming Model • .NET Framework! • Actor Interfaces! • Promises!
• Actor References • Turns • Persistence
None
Programming Model • .NET Framework • Actor Interfaces • Promises
• Actor References! • Turns • Persistence
None
Programming Model • .NET Framework • Actor Interfaces • Promises
• Actor References • Turns! • Persistence
None
Reliability “Orleans manages all aspects of reliability automatically”
TOO!
None
TOO!
TOO!
Orleans & Halo
None
Halo 4: Statistics Service
Player Grain
Game Grain
None
Performance & Scalability
“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”
None
Programmer Productivity & Performance
Get Orleans https://github.com/dotnet/orleans!
Questions @Caitie