1 Scaling Peer-to-Peer Games in Low Bandwidth Environments Jeff Pang Carnegie Mellon Frank Uyeda U.C. San Diego Jacob R. Lorch Microsoft Research.

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

Donnybrook: Enabling Large-Scale, High-Speed, Peer-to-Peer Games Ashwin Bharambe Jeffrey Pang Srinivasan Seshan Xinyu Zhuang John R. Douceur Jacob R. Lorch.
Colyseus: A Distributed Architecture for Online Multiplayer Games
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
A Robust and Efficient Reputation System for Active Peer-to-Peer Systems Dominik Grolimund, Luzius Meisser, Stefan Schmid, Roger Wattenhofer Computer Engineering.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Consensus Routing: The Internet as a Distributed System John P. John, Ethan Katz-Bassett, Arvind Krishnamurthy, and Thomas Anderson Presented.
Search and Replication in Unstructured Peer-to-Peer Networks Pei Cao, Christine Lv., Edith Cohen, Kai Li and Scott Shenker ICS 2002.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
1 “Multiplexing Live Video Streams & Voice with Data over a High Capacity Packet Switched Wireless Network” Spyros Psychis, Polychronis Koutsakis and Michael.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
Small-world Overlay P2P Network
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
Measurement and Estimation of Network QoS among Peer Xbox Game Players Youngki Lee, KAIST Sharad Agarwal, Microsoft Research Chris Butcher, Bungie Studio.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
ZIGZAG A Peer-to-Peer Architecture for Media Streaming By Duc A. Tran, Kien A. Hua and Tai T. Do Appear on “Journal On Selected Areas in Communications,
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
1 A Network Communication System for Large-Scale, High-Speed Games Ashwin Bharambe, Jeff Pang, Srini Seshan, Xinyu Zhang Carnegie Mellon John Douceur,
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
Memory Management and Paging CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
ICNP'061 Benefit-based Data Caching in Ad Hoc Networks Bin Tang, Himanshu Gupta and Samir Das Computer Science Department Stony Brook University.
Chapter 10: Stream-based Data Management Title: Design, Implementation, and Evaluation of the Linear Road Benchmark on the Stream Processing Core Authors:
Scaling Peer-to-Peer Multiplayer Games with Doppelgängers Jeffrey Pang Frank Uyeda Jacob R. Lorch John R. Douceur Donnybrook project goal: Dramatically.
Issues in Offering Live P2P Streaming Service to Residential Users Nazanin Magharei, *Yang Guo, and Reza Rejaie Dept. of Computer and Information Science.
PROMISE: Peer-to-Peer Media Streaming Using CollectCast M. Hefeeda, A. Habib, B. Botev, D. Xu, and B. Bhargava ACM Multimedia 2003, November 2003.
Memory Management Virtual Memory Page replacement algorithms
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
1 Scaling Peer-to-Peer Games with Jeffrey Pang (that’s me) Frank Uyeda U.C. San Diego John Douceur Microsoft Research Jay Lorch Microsoft Research * *
Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, Srini Seshan Carnegie Mellon University May 7,
A Local Facility Location Algorithm Supervisor: Assaf Schuster Denis Krivitski Technion – Israel Institute of Technology.
Scaling Melees in Peer-to-Peer Games with Donnybrook Jeffrey Pang, Frank Uyeda, John Douceur, Jay Lorch.
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
PMIT-6102 Advanced Database Systems
1 The Google File System Reporter: You-Wei Zhang.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
PIC: Practical Internet Coordinates for Distance Estimation Manuel Costa joint work with Miguel Castro, Ant Rowstron, Peter Key Microsoft Research Cambridge.
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
Peer-to-Peer Support for Massively Multiplayer Games Zone Federation of Game Servers : a Peer-to-Peer Approach to Scalable Multi-player Online Games [INFOCOM.
Network Aware Resource Allocation in Distributed Clouds.
Low-Overhead Byzantine Fault-Tolerant Storage James Hendricks, Gregory R. Ganger Carnegie Mellon University Michael K. Reiter University of North Carolina.
Ahmad Al-Shishtawy 1,2,Tareq Jamal Khan 1, and Vladimir Vlassov KTH Royal Institute of Technology, Stockholm, Sweden {ahmadas, tareqjk,
1 Towards Cinematic Internet Video-on-Demand Bin Cheng, Lex Stein, Hai Jin and Zheng Zhang HUST and MSRA Huazhong University of Science & Technology Microsoft.
INFOCOM A Receiver-Driven Bandwidth Sharing System (BWSS) for TCP Puneet Mehra, Avideh Zakhor UC Berkeley, USA Christophe De Vleeschouwer Université.
Distributing Layered Encoded Video through Caches Authors: Jussi Kangasharju Felix HartantoMartin Reisslein Keith W. Ross Proceedings of IEEE Infocom 2001,
Higashino Lab. Maximizing User Gain in Multi-flow Multicast Streaming on Overlay Networks Y.Nakamura, H.Yamaguchi and T.Higashino Graduate School of Information.
Armin Bahramshahry August  Background  Problem  Solution  Evaluation  Summary.
Autonomic SLA-driven Provisioning for Cloud Applications Nicolas Bonvin, Thanasis Papaioannou, Karl Aberer Presented by Ismail Alan.
TinyLFU: A Highly Efficient Cache Admission Policy
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
ECO-DNS: Expected Consistency Optimization for DNS Chen Stephanos Matsumoto Adrian Perrig © 2013 Stephanos Matsumoto1.
Presenters: Rezan Amiri Sahar Delroshan
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
On the Optimal Scheduling for Media Streaming in Data-driven Overlay Networks Meng ZHANG with Yongqiang XIONG, Qian ZHANG, Shiqiang YANG Globecom 2006.
Replicating Memory Behavior for Performance Skeletons Aditya Toomula PC-Doctor Inc. Reno, NV Jaspal Subhlok University of Houston Houston, TX By.
Scalable and Secure Architectures for Online Multiplayer Games Thesis Proposal Ashwin Bharambe May 15, 2006.
Network Computing Laboratory 1 Vivaldi: A Decentralized Network Coordinate System Authors: Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris MIT Published.
A simple model for analyzing P2P streaming protocols. Seminar on advanced Internet applications and systems Amit Farkash. 1.
CoopNet: Cooperative Networking
An Extensible RTCP Control Framework for Large Multimedia Distributions Paper by: Julian Chesterfield Eve M. Schooler Presented by: Phillip H. Jones.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
Access Link Capacity Monitoring with TFRC Probe Ling-Jyh Chen, Tony Sun, Dan Xu, M. Y. Sanadidi, Mario Gerla Computer Science Department, University of.
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
Fast Pseudo-Random Fingerprints Yoram Bachrach, Microsoft Research Cambridge Ely Porat – Bar Ilan-University.
Fast Precise Distributed Control for Energy Demand Management Jacob Beal, Jeff Berliner, Kevin Hunter IEEE SASO September, 2012.
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
Virtual World Architecture II
Presentation transcript:

1 Scaling Peer-to-Peer Games in Low Bandwidth Environments Jeff Pang Carnegie Mellon Frank Uyeda U.C. San Diego Jacob R. Lorch Microsoft Research

2 P2P Games Internet Primary object Local View Replica objects

3 P2P Games Internet Primary object Local View Replica objects

4 P2P Games Internet Primary object Local View Replica objects

5 P2P Games Internet 128 kbps Not enough bandwidth to send to all peers at required rate  choppy and unsatisfying game play

6 Not Enough Bandwidth P2P Quake on a LANP2P Quake on a Cable Modem

7 Our Solution: Donnybrook Contributions –Provide insights that enable scaling –Design techniques that codify these insights –A prototype implementing these techniques User study demonstrates effectiveness –Preserves fun in low bandwidth environments –Increases scalability by an order of magnitude

8 Design Principles Player attention is bounded by a constant Example: I focus on my current target  Total attention scales linearly with # players Realism should not be sacrificed for accuracy Example: “Teleporting” to correct locations is jarring  Don’t always minimize error in because of updates Interaction must be timely and consistent Example: If I shoot you, you should get hit immediately  Prioritize interaction (i.e., inter-object writes)

9 Design Principles Player attention is bounded by a constant –Technique: Focus Set Realism should not be sacrificed for accuracy –Technique: Guidable AI Interaction must be timely and consistent –Technique: Pairwise Rapid Agreement Player attention is bounded by a constant –Technique: Focus Set Realism should not be sacrificed for accuracy –Technique: Guidable AI Interaction must be timely and consistent –Technique: Pairwise Rapid Agreement

10 Focus Set Each player divides other peers into two classes: –Focus Set: players most focused on me Update every frame –Best Effort: everyone else Update when bandwidth is available  bandwidth allocated to Focus Set, (1-  ) to Best Effort Who goes in my Focus Set? –Attention(i,j) = how much a player i is focused on player j –Attention(i,j) sent from peer i to peer j periodically –Peers with the highest Attention(i,j) go in peer j’s Focus Set

11 Focus Set Who goes in my Focus Set? –Attention(i,j) = how much a player i is focused on player j –Attention(i,j) sent from peer i to peer j periodically –Peers with the highest Attention(i,j) go in peer j’s Focus Set d1d1 d2d2 θ1θ1 θ2θ2 Attention(i,j) = f proximity (d 1 )f aim (θ 1 )f interaction-recency (t 1 )++ ji

12 Guidable AI Problem: Best effort peers receive infrequent updates Solution: Smooth state changes with AI –Example: use existing path finding code to make replica move update

13 Donnybrook in Action P2P Quake on a Cable ModemP2P Quake on a Cable Modem with Donnybrook

14 Evaluation Questions –How much does Donnybrook improve playability in low bandwidth environments? –How close is Donnybrook in a low bandwidth environment to a LAN (“optimal”)? Methodology –Modified Quake III to run on Donnybrook –User study to evaluate user satisfaction –Simulation to evaluate fairness (See paper)

15 Setup … 108 kbps curr … 108 kbps donny Internet … curr donny curr LAN LoBWLoBW-DonnyHiBW 30 bots 2 humans 20 updates/sec~5 updates/secFocus set size = ~4 Best effort rate = ~1 update/sec

16 Setup B A –Before experiment, practice on HiBW –Tell players two Quake III “servers” exist: A and B –Start playing on A, can vote to switch to B This sucks Switch! –When both players vote, game continues on B Switch back OK –Can vote to switch back and forth –Analog to how players choose game servers (if good, stay, otherwise leave and try another) User Study Procedure 15 min –Play new game on least-used version so they can compare 5 min

17 Total Stay Time LoBW vs. LoBW-DonnyLoBW-Donny vs. HiBW How long does a pair play on each version? Three additional metrics in the paper support these conclusions.

18 Projected Scalability With Donnybrook Without Donnybrook

19 Summary Donnybrook enables large-scale P2P games in low bandwidth environments Three key design principles: –Player attention is bounded by a constant –Interaction must be timely and consistent –Realism should not be sacrificed for accuracy Future work: –Constant-size Focus Set doesn’t work if everyone is focused on one player (e.g., the flag carrier in CTF) –Use a multicast tree to deliver frequent updates in this scenario

20 Expansion Pack Donnybrook: The Missing Slides

21 Meta-Conclusions We should do more games research –Has the market-share and user base –Numerous large scale distributed systems problems Bounded player attention applicable to other systems –Prioritizing data collection in P2P sensor aggregation –Varying fidelity in P2P video conferencing “End-to-end” evaluation should consider user experience –Donnybrook’s replica consistency is not great –Users don’t notice or don’t care

22 Other P2P Games Challenges Cheating –Migration, Witnesses Bharambe [CMU thesis work] –Trusted Computing / Hardware Sensors Johnson et al. [Intel] Fault Tolerance –DHT self-healing / replica placement: Colyseus [NSDI 2006] SimMUD [INFOCOM 2004] Persistence –General P2P storage replacements for DB

23 Why P2P Games? Massively multiplayer games are popular –Recent research: Colyseus [NSDI ‘06] SimMUD [INFOCOM ’04] Centralized First Person Shooter (FPS) games scale poorly –Quadratic Bandwidth –CPU Limited Bandwidth Used (kbps) Colyseus [NSDI ’06] CPU Bottleneck

24 Game Execution Model Game State: –Collection of distinct objects (players, missiles, items, etc.) Game Execution: –Each object has a Think function: Think() { ReadPlayerInput(); DoActions();... } –Execute each object once per frame: Each 50ms do { foreach object do { object->Think(); } }

25 Area of Interest Filtering Object LocationReplica Management DHT server s2 P1 P2 R3R4 Object Store server s1 P3P4 Object Placement Colyseus [NSDI ’06]

26 Design Comparison Existing P2P game architectures –Replicas can be as stale as the update interval –Update rate per peer is fixed Donnybrook’s solution –QoS: Vary update rate per peer, some get priority –Guidable AI: Secondary replicas think for themselves

27 Pairwise Rapid Agreement Interaction: when player A modifies player B (i.e. A performs a write on B) Goal: modification is consistent and applied quickly Insight: # interactions scales slowly –Occur at human time scales  infrequent –Involve only 2 players  unicast Solution: prioritize all inter-object writes –Player A sends mod to Player B –Player B checks preconditions locally –Player B applies mod, sends result to A PRAs required in Quake III: –Damage, Death, Item Pickup, Door Opening

28 Prediction Motivation: state snapshots get stale fast –Example: players can traverse the entire diameter of a map in several seconds in Quake III –Goal: send prediction of state at time of next expected update –Example: predict where a player will be at the next update Predicted Properties: –Predict position: use in-game simulation to figure how where physics brings player in next second –Predict viewing angle: use view angles to estimate the target a player is aiming at –Predict Events: use number-of-shots-fired to estimate when a player is “shooty,” etc.

29 Guidable AI: Convergence Problem: Best Effort peers receive very infrequent updates Solution: Smooth state changes with AI –Position: use existing path finding code to make replica move smoothly –Angle: have AI turn smoothly toward predicted targets Convergence –Motivation: Players in focus should be represented more accurately, but should not “warp” to actual position –Solution: Converge to actual state when receiving frequent updates Focus on player B  In player B’s Focus Set, get frequent updates  Error(replica, actual) decreases with each update When Error() < , use player B’s update snapshots instead of AI Error(a,b) = distance(a.pos,b.pos)

30 Setup User Study Stats –LoBW-Donny vs. LoBW: 12 trials –LoBW-Donny vs. HiBW: 32 trials –98 total participants How often did you play FPS games in the past? Every Week 25% 62% Less Often 13% Every Day

31 Departure Time Time until first voteTime until second vote How long before a player wants to switch?

32 Fun Score LoBW-Donny vs. HiBW LoBW vs. LoBW-Donny Survey: How fun was server A? Server B?

33 Preference LoBW- Donny HiBW No Pref. 17% 31% 52% LoBW-Donny vs. HiBW LoBW- Donny LoBW 96% 4% LoBW-Donny vs. LoBW Survey: Was A or B more Fun?

34 Fairness Random botsAll bots level 5 HiBW LoBW- Donny LoBW

35 Beta Test Donnybrook: The Elder Slides

36 P2P Games Internet Bandwidth Used (kbps) Colyseus [NSDI ’06] 128 kbps Object Store Not enough bandwidth to send to all peers every frame  choppy and unsatisfying game play

37 Outbound Capacity Problem Residential broadband is asymmetric In many games, players can see many others Insufficient upload capacity to send updates at required frequency kbps up Cost per Peer in Quake III: Update rate = 20 updates/sec Update size = ~100 bytes  Bwidth per peer ≥ 16kbps  Supportable peers at 128kbps ≤ 8  Must send updates at lower frequency Replicas can be as stale as the update interval

38 Focus Set Who goes in my Focus Set? –Attention(i,j) = how much a player i is focused on player j –Attention(i,j) sent from peer i to peer j periodically –Peers with the highest Attention(i,j) go in peer j’s Focus Set d1d1 d2d2 θ1θ1 θ2θ2 t1t1 t2t2

39 Departure Time Time until first vote How long before a player wants to switch?