Monkey See, Monkey Do A Tool for TCP Tracing and Replaying

Slides:



Advertisements
Similar presentations
The Effects of Wide-Area Conditions on WWW Server Performance Erich Nahum, Marcel Rosu, Srini Seshan, Jussara Almeida IBM T.J. Watson Research Center,
Advertisements

Web Server Benchmarking Using the Internet Protocol Traffic and Network Emulator Carey Williamson, Rob Simmonds, Martin Arlitt et al. University of Calgary.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
Experimental evaluation of TCP-L June 5, 2003 Stefan Alfredsson Karlstad University.
PERSISTENT DROPPING: An Efficient Control of Traffic Aggregates Hani JamjoomKang G. Shin Electrical Engineering & Computer Science UNIVERSITY OF MICHIGAN,
Performance Interactions Between P-HTTP and TCP Implementations J. Heidemann ACM Computer Communication Review April 1997 김호중 CA Lab., KAIST.
1 Web Server Performance in a WAN Environment Vincent W. Freeh Computer Science North Carolina State Vsevolod V. Panteleenko Computer Science & Engineering.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
A Novel Approach for Transparent Bandwidth Conservation David Salyers, Aaron Striegel University of Notre Dame Department of Computer Science and Engineering.
Internet and Intranet Protocols and Applications Section V: Network Application Performance Lecture 11: Why the World Wide Wait? 4/11/2000 Arthur P. Goldberg.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
CIS 725 Wireless networks. Low bandwidth High error rates.
Providing Controlled Quality Assurance in Video Streaming across the Internet Yingfei Dong, Zhi-Li Zhang and Rohit Rakesh Computer Networking and Multimedia.
Advanced Network Architecture Research Group 2001/11/149 th International Conference on Network Protocols Scalable Socket Buffer Tuning for High-Performance.
HTTP-Tester- A web appliance testing tool Kiran Komaravolu Dept of Computer Science and Engg Lehigh University.
Politecnico di Torino Dipartimento di Automatica ed Informatica TORSEC Group Performance of Xen’s Secured Virtual Networks Emanuele Cesena Paolo Carlo.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Performance of HTTP Application in Mobile Ad Hoc Networks Asifuddin Mohammad.
Advanced Network Architecture Research Group 2001/11/74 th Asia-Pacific Symposium on Information and Telecommunication Technologies Design and Implementation.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Network Emulation for the Study and Validation of Traffic Models, Congestion and Flow Control in TCP/IP Networks Cheryl Pope Lecturer Department of Computer.
1. Introduction REU 2006-Packet Loss Distributions of TCP using Web100 Zoriel M. Salado, Mentors: Dr. Miguel A. Labrador and Cesar D. Guerrero 2. Methodology.
TCP Behavior Inference Tool Jitendra Padhye, Sally Floyd Presented by Songjie Wei.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
CS470 Computer Networking Protocols
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Emir Halepovic, Jeffrey Pang, Oliver Spatscheck AT&T Labs - Research
Performance Interactions Between P-HTTP and TCP Implementation John Heidemann USC/Information Sciences Institute May 19, 1997 Presentation Baekcheol Jang.
Development of a QoE Model Himadeepa Karlapudi 03/07/03.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Network Protocols: Design and Analysis Polly Huang EE NTU
CSEN 404 Introduction to Networks Amr El Mougy Lamia AlBadrawy.
The Transport Layer Dr. ir. S.S. Msanjila RIS 251.
Distributed Systems 11. Transport Layer
Real World Case Studies
Accelerating Peer-to-Peer Networks for Video Streaming
UDP TCP.
Group 5 ECE 4605 Neha Jain Shashwat Yadav
Neha Jain Shashwat Yadav
Quick UDP Internet Connections
Process-to-Process Delivery, TCP and UDP protocols
Google’s BBR Congestion control algorithm
Chapter 6 The Transport Layer.
Experimental Networking (ECSE 4963)
Multipath QUIC: Design and Evaluation
Magda El Zarki Professor, ICS UC, Irvine
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Understanding Throughput & TCP Windows
ECF: an MPTCP Scheduler to Manage Heterogeneous Paths
Process-to-Process Delivery:
Pong: Diagnosing Spatio-Temporal Internet Congestion Properties
Providing QoS through Active Domain Management
TCP/IP Networking An Example
TCP Throughput Modeling
Performance Evaluation of Computer Networks
World Wide Web Uniform Resource Locator hostname [:port]/path
Performance Evaluation of Computer Networks
The Transport Layer Chapter 6.
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Internet Research Group at Clemson University
Review of Internet Protocols Transport Layer
Chapter 8 – Data switching and routing
Presentation transcript:

Monkey See, Monkey Do A Tool for TCP Tracing and Replaying Yu-Chung Cheng Stefan Savage Geoffrey M. Voelker Dept. of Computer Science & Engineering University of California, San Diego Urs Hölzle Neal Cardwell 11/16/2018 USENIX '04

Motivation Server benchmarks: the “what if” question Current solutions Ex: how will changing the server in some way impact the client experience? Current solutions Synthetic workload testing: risk-free, convenient, not very realistic Real user testing: realistic, risky, more hassle Best of both worlds? Realistic, convenient and risk-free 11/16/2018 USENIX '04

Goal Develop a tool, Monkey, that provides the best of both worlds Monkey See: captures real traces, infers network and client parameters Monkey Do: replays traces via emulation Applied Monkey to Google workload Captured Google search requests Replayed and evaluated against Google servers Evaluation How realistic is Monkey’s replay? Can Monkey answer the “what if” questions? 11/16/2018 USENIX '04

Monkey Design Monkey See Monkey Do Google Web Server Trace Capturing TCP delay ACK policy, receiver buffer size HTTP GET /search?q=Monkey Client  server: delay 90 ms, 1% loss, 384 kbps, MTU 1500 Server  client: delay 90 ms, 0% loss, 128 kbps, MTU 1500 Extracting Trace Info Client 132.239.1.1 Monkey See Client Emulator Network Emulator Address Remapping 132.239.1.1  192.168.0.1 Monkey Do Server Emulator Google Server kernel LAN 11/16/2018 USENIX '04

Monkey See Goal: capturing Google search traces and infer client/network parameters Trace capture in front of server farm Random connection sampling Extracting info for each TCP connection Search query from HTTP header Path delays from RTT Bandwidth by counting ACK spacing Loss rate by counting retransmissions Path MTU from TCP MSS option Use of TCP delay ACKs by observing ACK sequences 11/16/2018 USENIX '04

Assumptions 3. Well-provisioned Google Web Server 1. Congestion/loss only happens on data path but not on ACK path client Google Web server Google DB 2. No congestion in Google intranet TCP data packet TCP ACK packet 11/16/2018 USENIX '04

Monkey Do Goal: replay traces by emulating the client and network environment Network emulator (dummynet) Setup virtual dummynet pipes as data and ACK paths Client emulator Establishes connections to the server and send out search queries Server emulator Emulates the effect of caching on DB search delay Runs on same kernel (Linux) as the real Google web daemon does 11/16/2018 USENIX '04

Replay in action: real Google search Client Web server DB server TCP Handshake connect() Static header HTTP GET write(HEADER) HTTP 200 OK DB Query delay write(RESULT) Search result Time 11/16/2018 USENIX '04

Replay in action: replay version Client Emulator Server Emulator TCP Handshake connect() Static header HTTP GET write(HEADER) HTTP 200 OK DB Query delay write(RESULT) Search result Time 11/16/2018 USENIX '04

Evaluation Replay Validation Predictive Replay How well does Monkey reproduce the workload? Predictive Replay How well does Monkey predict? Metric: Google search response time Time between the server receives the request and completes sending the result Trace taken a weekday of Nov 2003 11/16/2018 USENIX '04

Replay Validation Experiment How well does Monkey reproduce the workload? Replay the workload without any changes and compare the results Torig Monkey See Real Clients Google Server Kernel Web Daemon Treplay Monkey Do Monkey Client/ Network Emulator Google Server Kernel Monkey Server Emulator 11/16/2018 USENIX '04

Replay Validation Result % connections Relative error of search response time [ms] CDF of relative error in search response time per connection Monkey tends to underestimate for long RTT connections CDF of relative error in search response time per connection 86% of connections have response time within ±20% error 11/16/2018 USENIX '04

Monkey Client/ Network Emulator Predictive Replay Is Monkey’s replay predictive? Compare replay result with result from real server changes Experiment Search response time vs. TCP initial congestion window size (cwin) Tw3 Monkey See at time 13:30-14:15 Real Clients Google Server Kernel (cwin=3) Web daemon Tw1 Monkey See at time 14:16-15:06 Real Clients Google Server Kernel (cwin=1) Web daemon Treplay Monkey Client/ Network Emulator Monkey Do Google Server Kernel (cwin=3) Monkey Server Emulator 11/16/2018 USENIX '04

Predictive Replay Result % connections Search response time [ms] CDF of search response times for Tw3, Tw1, and Treplay 11/16/2018 USENIX '04

Discussion Monkey can replay Google search traces well, but … Can Monkey replay non-Google web or any TCP traffic? Possible, if the assumptions hold Caveats: dependencies in disk/network IO events, multiple TCP connections Is server emulator required? No, if the server performance distribution is “memory-less”. Otherwise, yes. 11/16/2018 USENIX '04

Conclusion Monkey is a new tool for server benchmarking (“what if” questions) Currently is domain-specific Accurate for short flows Best of both worlds Realism of real user testing Risk-free and convenience of synthetic tools Possible to build such tools for specific domain 11/16/2018 USENIX '04

Q & A Questions? http://ramp.ucsd.edu/projects/monkey/ 11/16/2018 USENIX '04