An Empirical Evaluation of TCP Performance in Online Games

Similar documents
Transport Layer Protocols

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Final for ECE374 05/06/13 Solution!!

TCP Flow Control. TCP Receiver Window. Sliding Window. Computer Networks. Lecture 30: Flow Control, Reliable Delivery

TCP Adaptation for MPI on Long-and-Fat Networks

TCP in Wireless Mobile Networks

Per-Flow Queuing Allot's Approach to Bandwidth Management

Computer Networks. Chapter 5 Transport Protocols

Visualizations and Correlations in Troubleshooting

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

Mobile Computing/ Mobile Networks

Giving life to today s media distribution services

B-2 Analyzing TCP/IP Networks with Wireshark. Ray Tompkins Founder of Gearbit

Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Supporting VoIP in IEEE Distributed WLANs

Advanced Computer Networks Project 2: File Transfer Application

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Data Networks Summer 2007 Homework #3

Frequently Asked Questions

15-441: Computer Networks Homework 2 Solution

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

Question: 3 When using Application Intelligence, Server Time may be defined as.

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

Low-rate TCP-targeted Denial of Service Attack Defense

PSM-throttling: Minimizing Energy Consumption for Bulk Data Communications in WLANs

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

A Transport Protocol for Multimedia Wireless Sensor Networks

Chapter 6 Congestion Control and Resource Allocation

Measuring IP Performance. Geoff Huston Telstra

Mobile Communications Chapter 9: Mobile Transport Layer

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

The Problem with TCP. Overcoming TCP s Drawbacks

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

CS268 Exam Solutions. 1) End-to-End (20 pts)

First Midterm for ECE374 03/09/12 Solution!!

Improving Effective WAN Throughput for Large Data Flows By Peter Sevcik and Rebecca Wetzel November 2008

2 TCP-like Design. Answer

QoS Issues for Multiplayer Gaming

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

Performance measurements of STANAG 5066 and Applications Running over STANAG 5066

Ethernet-based Storage Configuration

Traffic Analysis and Modeling for World of Warcraft

T2-6: Trace File Analysis - The Elephant Coming From Behind: Full Window, Window Update and TCP Keep-Alive s

Computer Networks. Data Link Layer

Digital Audio and Video Data

17: Queue Management. Queuing. Mark Handley

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Hints and Implications of Player Interaction

Network Protocols for Applications of Shared Virtual Reality

1/5/2014. Objectives. Performance Evaluation of Computer Networks. Contents WHY? NETWORK MEASUREMENT. Why Network Measurement. Why Network Measurement

Performance Evaluation of Computer Networks

La couche transport dans l'internet (la suite TCP/IP)

Denial-of-Service Shrew Attacks

Distributed Systems 3. Network Quality of Service (QoS)

TCP over Wireless Networks

A Resilient Transport Layer for Messaging Systems

La couche transport dans l'internet (la suite TCP/IP)

Multipath TCP in Practice (Work in Progress) Mark Handley Damon Wischik Costin Raiciu Alan Ford

Classes of multimedia Applications

[Prof. Rupesh G Vaishnav] Page 1

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

Ethernet. Ethernet. Network Devices

CS551 End-to-End Internet Packet Dynamics [Paxson99b]

TCP/IP Support Enhancements

RFC 6349 Testing with TrueSpeed from JDSU Experience Your Network as Your Customers Do

TCP for Wireless Networks

On the Efficiency and Fairness of TCP over Wired/Wireless Networks. Dimitrios Vardalis. Master of Science in Computer Science

THE IMPORTANCE OF TESTING TCP PERFORMANCE IN CARRIER ETHERNET NETWORKS

point to point and point to multi point calls over IP

Passive Queue Management

TFTP TRIVIAL FILE TRANSFER PROTOCOL OVERVIEW OF TFTP, A VERY SIMPLE FILE TRANSFER PROTOCOL FOR SIMPLE AND CONSTRAINED DEVICES

ICOM : Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM

1. Software Version. 2. iphone User Manual. 2.1 Sign in/sign out. This manual is for iphone and Android software version

First Midterm for ECE374 03/24/11 Solution!!

High-Performance Automated Trading Network Architectures

High Speed Internet Access Using Satellite-Based DVB Networks

Requirements of Voice in an IP Internetwork

Multiple Choice Questions

Challenges of Sending Large Files Over Public Internet

D. SamKnows Methodology 20 Each deployed Whitebox performs the following tests: Primary measure(s)

CSE331: Introduction to Networks and Security. Lecture 9 Fall 2006

Sample Network Analysis Report

Large-Scale TCP Packet Flow Analysis for Common Protocols Using Apache Hadoop

Chapter 5. Transport layer protocols

TCP Performance Management for Dummies

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

TCP in Wireless Networks

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

Lecture 2: Protocols and Layering. CSE 123: Computer Networks Stefan Savage

Adopting SCTP and MPLS-TE Mechanism in VoIP Architecture for Fault Recovery and Resource Allocation

Internet Control Protocols Reading: Chapter 3

Per-Flow Queuing Allot s Approach to Bandwidth Management

Network Management Quality of Service I

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

TCP/IP In Cellular Networks

Transcription:

An Empirical Evaluation of TCP Performance in Online Games Kuan-Ta Chen National Taiwan University Collaborators: Chun-Ying Huang Polly Huang Chin-Laung Lei ACE 2006

Talk Outline Motivation Trace collection Game traffic characteristics Analysis of TCP performance Design Implications Conclusion 2

Motivation TCP is generally considered not suitable for real-time transmission All first-person shooting games use UDP No consensus has been reached for MMORPGs Heated debate occurs at game developers forums Each protocol has quite a few proponents Protocol TCP UDP TCP+UDP MMORPGs World of Warcraft, Lineage I/II, Guild Wars, Ragnarok Online, Anarchy Online, Mabinogi EverQuest, Star Wars Galaxies, City of Heroes, Ultima Online, Asherons Call, Final Fantasy XI Dark Age of Camelot 3

Motivation (cont.) Q1: Is TCP appropriate for MMORPGs? Q2: If not, how to design a suitable protocol? We try to answer these problems by empirical evidence. 4

Key Contributions / Findings TCP is unwieldy and inappropriate for MMORPGs Estimate how long users will stay if a more suitable protocol is used (100 minutes 135 minutes) Proposed a number of design guidelines which exploit the unique characteristics of game traffic 5

神州 Online ShenZhou Online It s me A commercial MMORPG in Taiwan Thousands of players online at anytime TCP-based client-server architecture 6

Trace Collection Trace Time # TCP Conn # Packets # Bytes 20 hours 112,369 1,356 million 58.5 TB 7

Game Traffic Characteristics Small packet size Most of client payload < 32 bytes Average pkt size 84 bytes Low packet rate Client packet rate is 8 pkt/sec (avg.) Most of server packet rate < 5 pkt /sec 8

TCP Performance Analysis Protocol overhead In-order delivery Congestion control Loss recovery 9

Protocol Overhead 38% packets are TCP ACK packets 46% bandwidth are used by TCP/IP headers 10

In-Order Delivery TCP enforces byte-level in-order delivery Cons: a dropped packet causes a stall in subsequent network data until that packet is delivered Game client Game application Internet TCP Data Buffer 1 2 3 4 5 6 7 Game server Missing data Cannot be processed until missing data are supplied (thus additional delay will be incurred) 11

In-Order Delivery is Not Always Required Server to client: state updates, dialogue messages, responses to users queries Client to server: many commands are accumulative, e.g., position updates Packet 1 (X=10, Y=10) Packet X2 (X=20, Y=12) Packet 3 (X=40, Y=5) Processing packet 3 without waiting for packet 2 is OK and leads to more smooth game play 12

Overhead of In-Order Delivery Assuming an ideal case that all packets can be processed in any order The overhead of in-order delivery is measured by The increase of round-trip times (RTT) The increase of RTT jitters (std. dev.) 13

The Effect of In-Order Delivery on RTT 7% connections incurred more than 20% additional average RTTs. 14

The Effect of In-Order Delivery on RTT Jitter (std. dev. of RTTs) 22% connections incurred more than 100% additional RTT jitters. 6% connections incurred more than 200% additional RTT jitters. 15

Unbounded Congestion Window TCP s congestion control is designed for network-limited application Relies on packet loss to adjust its congestion window Data generation in online games is often application-limited 36% connections never experienced a packet loss Congestion window may never be reduced unreasonably large window If the game may occasionally generate a large burst of packets unnecessary network congestion 16

Unnecessary Congestion Window Reset The restart after idle periods policy: TCP resets its window to 2 if a connection stops sending data for a short interval (usually < 1 second) The policy prevents inappropriate bursts of packets being sent due to an out-of-date window But, game packet rate is so low window is occasionally reset (18% of packets faced a window reset) In this case, a series of three commands following a thinking time will be penalized (the 3 rd packet will be delayed until the first two have been delivered) 17

Loss Recovery -- Retransmission TimeOut Originally, TCP only relies on a timer to detect packet loss and resend packets Retransmission Timeout (RTO) Sender Data X Receiver Data Re-transmit Time 18

Loss Recovery -- Fast Retransmit TCP Tahoe/Reno improves loss detection with duplicate acknowledgement packets Retransmission Timeout (RTO) Sender ACK Data DUP ACKs X Receiver Fast-retransmit Time 19

The Failure of Fast Retransmit Insufficient duplicate acks The game packet rate is too low Required: more than 4 packets in (RTO RTT) (mostly less than More 400 than ms) 99% dropped packets were not detected by fast retransmit Actual: < 5 packets per second Average latency for non-dropped packets was 180 ms; Average latency for dropped packets was 700 ms Game traffic is bi-directional This is why in-order delivery incurred so much overhead in Both game clients and servers send out data packets transmission latency and delay jitters The definition of duplication acks requires each ack packet not contain data The fast retransmit may not be triggered even sufficient dup acks are generated 20

Performance Impact on User Experience Based on the model describing the relationship between player departure rate and RTT, RTT jitter, and packet loss rate [INFOCOM 2006] log(departure rate) 19.2 rtt + 4.54 rtt.jitter + 0.7 log(closs)+0.45 log(sloss) RTT jitter is raised from 77ms to 124ms due to in-order delivery exp((0.124 0.077) 4.54) 1.24 Assuming the additional RTT jitters due to TCP in-order delivery can be avoided, the player departure rate is expected to decrease by 20% (1/1.24 0.8) This corresponds to an increase of average game playing time from 100 minutes to 135 minutes 21

Protocol Design Guidelines (1) Supporting both reliable and unreliable delivery Some packets can be safely discarded without affecting gaming experience E.g., A gesture of a character faraway from the notified character may need not to be reliably transmitted Supporting both in-order and out-of-order delivery Only ordering packets whenever absolutely necessary E.g., Ordering is irrelevant for repeated attack actions (fight the same enemy with the same weapon) 22

Protocol Design Guidelines (2) Accumulative delivery A new messages can override all the previous ones Missing some packets in a series of accumulative commands does not matter (unless the last one in series is also dropped) E.g., position updates Multiple streams Make messages as independent as possible Messages need to be ordered only when they are in the same stream E.g., chat messages are independent of game play commands 23

Protocol Design Guidelines (3) Coordinated congestion control Tens of thousands of flows are not unusual Difficult for all the flows to achieve an efficient bandwidth sharing by competition Make congestion control in a coordinated, rather than competitive, manner E.g., avoid dispatching game message synchronously for all game clients alleviate traffic burstiness reduce overall packet loss rate 24

Summary TCP is designed for uni-directional bulk transfer, but game traffic has many unique features: Tiny packets Low packet rate Application-limited traffic generation Bi-directional traffic TCP is unwieldy and inappropriate for MMORPGs The degraded performance did impact users willingness to continue playing a game A number of design guidelines have been proposed 25

Thank You! Kuan-Ta Chen