Upload
francis-lindsey
View
216
Download
0
Embed Size (px)
Citation preview
Assignment of Games to Servers in the OnLive Cloud Game System
David Finkel, Mark Claypool, Sam Jaffe, Thinh Nguyen, Brendan Stephen
Computer Science and Interactive Media & Game Development
Worcester Polytechnic Institute Worcester, MA 01609, USA
Overview• Worked with OnLive
– thin-client, cloud-based, video game streaming service
• Multiple server farms• User connects to nearest farm• Client connects to Game Selection Portal,
selects a game • Connects to free server that has that game
installed (a miss if game not available)
2
Problem Statement
• Server serves only one client at a time
• Each server has only a subset of games
• Question: How to assign games to servers
• Current method– Proportion of servers determined by expected
popularity (weights)– Worst-fit algorithm to assign games to
servers, respecting weights and hardware requirements
3
Approach
• Collected data from OnLive logs– Represents 1.6 million player session
• Fit probability distributions to data (EasyFit)
• Built discrete event simulation– Validated to match current operation– Re-ran with increased arrival rates
• Hill-climbing algorithm to minimize number of misses
4
Validation
• Ran small-scale version, matched hand results
• Ran under current simulation, close to current operational results
• Consulted with OnLive engineers
• Concluded the work OnLive originally proposed
9
Optimization
• Used simulation to improve assignment of games to servers
• Increased arrival rate up to 7x current
• Used hill-climbing algorithm to improve weights (proportion of servers with a particular game)
• Obtained reduced disk space requirements
10
Hill-Climbing Algorithm
11
step size 5%
while (not all game weights are locked)
for (each game)
if (game does not have misses)
decrease weight by one step
elseif (game has been decreased already)
increase weight by one step
lock game weight
else
increase weight by one step
Re-run simulation with new weights