Server Selection in Large Scale Interactive Online Games

Dynamic Server Selection for
Large Scale Interactive Online
Games
Bong-Jun Ko, Dan Rubenstein (Columbia U.)
Kang-Won Lee, Seraphin Calo (IBM T. J. Watson)
Talk Outline






Motivations
Synchronization Delay Model
Problem Statement
Server Selection Algorithms
Performance Evaluation
Conclusions
Motivation



Large-scale online games (e.g. MMOG) start to
incorporate real-time interactive features.
Game service providers must satisfy tight delay
requirements and large scale user group at the
same time.
To achieve scalability and efficient resource
sharing, it is important to reduce game server
resources used.
Our Goals


Develop a synchronization delay model for
interactive online applications in mirrored-server
architecture
Design a distributed server selection
algorithm to minimize resource consumption
while meeting the overall delay constraints.
Synchronization Delay in Online Games

Two different types of synchronization delay


Upstream (Action Delivery) delay
Downstream (State Update) delay
Action
State
Action
State
Mirrored-Server Architecture
Server


Clients
S (set of available servers) and C (set of clients)
A: C  S (server allocation that maps each client in C
to a server in S)
Sync-delay in Mirrored-Servers
•DUP(i, k) : Upstream Delay from client i to server k
•DDOWN(k, i) : Downstream Delay at server k to client i
•DSYNC(A) : Overall sync-delay under allocation A
DSYNC(A) = maxk{maxi DUP(i, k) + maxi DDOWN(k, i)}
Problem statement

Find an allocation Amin that minimizes the number
of allocated servers,|A(C)|, subject to



DSYNC(A)  ,
|A(C)|  1, and
C(si)  Ci (C(si) : the capacity of server si )
Sync-delay revisited: Example
C1
3
1
S1
5
1
S2
5
1
S3
3
1
C2
Sync-delay revisited: Example
C1
3
1
S1
5
1
S2
5
DSYNC = 3+3 = 6
1
S3
3
1
C2
Sync-delay revisited: Example
C1
3
1
S1
5
1
S2
5
DSYNC = 5+5 = 10
1
S3
3
1
C2
Sync-delay revisited: Example
C1
3
1
S1
5
1
S2
5
DSYNC = 3+1 = 4
1
S3
3
1
C2
Observations


Connecting clients to a server further than the
‘center’ doesn’t reduce the overall delay.
Allocating ‘edge’ servers generally decreases the
delay, but increases the number of servers.
Server Selection Algorithm:
Zoom-In-Zoom-Out (ZIZO)
1.
2.
3.
4.
Find the “core” server that minimizes the
maximum distance from the client.
Connect each client to the closest server.
For each client, probe a server “closer” to the
core serve. If sync-delay is still within bound,
migrate the client to that server. Repeat until
no client can move.
For each client, probe an allocated server
“further” from the core server, and migrate if
the sync-delay is within bound. Repeat until no
client can move.
Why Zoom-Out?
Why Zoom-Out?
Why Zoom-Out?
Why Zoom-Out?
Why Zoom-Out?
Variations

Selecting next server to probe :
By searching next closest server toward core server
(Sr)
 By moving up/down along a Core-Based Tree in the
server network (Tr)


Migrating clients
Client-based : move each client one at a time (C)
 Server-based : move all clients attached to a server
simultaneously (S)

Simulation setup




A transit-stub network of 5,000 nodes generated
by a topology generator (100 AS x 50 nodes/AS)
|S| servers selected at random and form a lowlatency network among them with average
degree 5. (|S|=100, 200)
|C| clients selected at random, each connected
to the closest server initially. (|C|=50, 100)
Sync-delay bound () : 20 ~ 50 msec.
Greedy Server Selection Algorithm



A centralized algorithm
Keep adding servers until the sync-delay
becomes within the bound.
When adding a server, add the one that
minimizes the overall sync-delay.
Result : Unbounded server capacity
ZIZO-Tr-C
ZIZO-Tr-S
ZIZO-Sr-C
ZIZO-Sr-S
Greedy
# servers allocated
25
20
15
10
5
0
20
25
30
35
40
sync-delay bound
|S| = 100, |C| = 50, C(s) = 
45
50
ZINS(Zoom-In-’N-Stop) vs ZIZO
#servers ZIZO/ # servers A(C) ZINS
1.1
1
Tr-C
0.9
Tr-S
Sr-S
0.8
Sr-C
0.7
0.6
20
25
30
35
40
45
sync-delay bound
|S| = 100, |C| = 50, C(s) = 
50
Result : Bounded server capacity
# servers allocated
30
25
ZIZO-Tr-C
ZIZO-Tr-S
ZIZO-Sr-C
ZIZO-Sr-S
20
15
10
5
0
20
25
30
35
40
sync-delay bound
|S| = 100, |C| = 50, C(s) = 10
45
50
Conclusions



We presented a novel synchronization delay
model for interactive online games.
We proposed a set of simple and effective
distributed heuristics that efficiently utilize
server resource.
Future Work
Complexity analysis of the problem
 Efficient core-selection method
 Play PlanetSide !
