Pangolin: Speeding up Concurrent Messaging for Cloud-Based Social Gaming - Zhang, Chao; Huang, Cheng; Chou, Philip A.; Li, Jin; Mehrotra, Sanjeev; Ross, Keith W.; Chen, Hao; Livni, Felix; Thaler, Jay (CoNEXT '11 Proceedings of the Seventh COnference on emerging Networking EXperiments and Technologies, 2011)
The convergence of games and online social platforms is an exploding phenomena. The continued success of social games hinges critically on the ability to deliver smooth and highly-interactive experiences to end-users. However, it is extremely challenging to satisfy the stringent performance requirements of online social games. Motivated by an Xbox Live online social gaming application, we address the problem of concurrent messaging, where the maximum latency of game messages has to be tightly bounded. Learning from a large-scale measurement experiment, we conclude that the generic transport protocol TCP, currently being used in the game, cannot ensure concurrent messaging. We develop a new UDP-based transport protocol, named Pangolin. The core of Pangolin is an adaptive decision making engine derived from the Markov Decision Process theory. The engine optimally controls the transmission of redundant Forward Error Correction packets to combat data loss. Trace-driven emulation demonstrates that Pangolin reduces the 99.9-percentile latency from more than 4 seconds to about 1 second with negligible overhead. Pangolin pre-computes all optimal actions and requires only simple table look-up during online operation. Pangolin has been incorporated into the latest Xbox SDK - released in November, 2010 - and is now powering concurrent messaging for hundreds of thousands of Xbox clients.