Sebastian Zander, Grenville Armitage. Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology

Similar documents
TEACUP v0.9 A System for Automated TCP Testbed Experiments

Using Dummynet AQM - FreeBSD s CoDel, PIE, FQ-CoDel and FQ-PIE with TEACUP v1.0 testbed

TEACUP v0.6 A System for Automated TCP Testbed Experiments

TEACUP v1.0 - Command Reference

Implementing Active Queue Management at the home to reduce NBN speed demands

Dummynet AQM v0.1 CoDel and FQ-CoDel for FreeBSD s ipfw/dummynet framework

Baseline two-flow and three-flow TCP results over PIE and fq_codel for TEACUP v0.4 testbed

Transport Protocols for Data Center Communication. Evisa Tsolakou Supervisor: Prof. Jörg Ott Advisor: Lect. Pasi Sarolahti

Multimedia-unfriendly TCP Congestion Control and Home Gateway Queue Management

Experimental Experiences with Emulating Multihop Path using Dummynet

Brief Overview and Background

Experimental Evaluation of Latency Induced in Real-Time Traffic by TCP Congestion Control Algorithms

Investigating the Use of Synchronized Clocks in TCP Congestion Control

Studying Fairness of TCP Variants and UDP Traffic

The Controlled Delay (CoDel) AQM Approach to fighting bufferbloat

BSDCan 2015 June 13 th Extensions to FreeBSD Datacenter TCP for Incremental Deployment Support. Midori Kato

Tuning RED for Web Traffic

XCo: Explicit Coordination for Preventing Congestion in Data Center Ethernet

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

The Network Layer and Routers

Appendix B. Standards-Track TCP Evaluation

Making TCP more Robust against Packet Reordering

STUDY OF SOCKET PROGRAMMING AND CLIENT SERVER MODEL

IIP Wireless. Presentation Outline

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Network Layer (1) Networked Systems 3 Lecture 8

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

TCP Westwood and Easy Red to Improve Fairness in High-speed Networks. PfHsn 2002 Berlin, 22 April 2002

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

QoS Services with Dynamic Packet State

Evaluation of FAST TCP in Low-Speed DOCSIS-based Access Networks

Insights into the performance and configuration of TCP in Automotive Ethernet Networks

Master s Thesis. Congestion Control Mechanisms for Alleviating TCP Unfairness in Wireless LAN Environment

Investigating the Use of Synchronized Clocks in TCP Congestion Control

A Network-centric TCP for Interactive Video Delivery Networks (VDN)

Setting-up WAN Emulation using WAN-Bridge Live-CD v1.10

Communication Networks

Time-Step Network Simulation

Description Approach Packet Loss Effect Traffic Control Experimentation Conclusions. Mice and Elephants. Ioannis Giannoualtos

The State of the Art in Bufferbloat Testing and Reduction on Linux

A Ns2 model for the Xbox System Link game Halo

Lecture 14: Congestion Control"

Grandstream Networks, Inc. GWN7000 QoS - VoIP Traffic Management

521262S Computer Networks 2 (fall 2007) Laboratory exercise #4: Multimedia, QoS and testing

Quality of Service Mechanism for MANET using Linux Semra Gulder, Mathieu Déziel

A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks. Motivation

Quality of Service Setup Guide (NB14 Series)

Short answer (35 points)

Network Management & Monitoring

Streaming Video and TCP-Friendly Congestion Control

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Congestion and its control: Broadband access networks. David Clark MIT CFP October 2008

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

One More Bit Is Enough

ARTICLE IN PRESS. Delay-based early congestion detection and adaptation in TCP: impact on web performance

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Latency in DOCSIS Networks

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

The Measurement Manager Modular End-to-End Measurement Services

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

First Exam for ECE671 Spring /22/18

Multi-class Applications for Parallel Usage of a Guaranteed Rate and a Scavenger Service

Implementation Experiments on HighSpeed and Parallel TCP

Observing Bufferbloat using mininet

Impact of bandwidth-delay product and non-responsive flows on the performance of queue management schemes

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Chapter 4 Network Layer: The Data Plane

Implementation and Analysis of Large Receive Offload in a Virtualized System

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

ECE 697J Advanced Topics in Computer Networks

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Benefits of FlowQueue-based Active Queue Management for Interactive Online Games

Network Research and Linux at the Hamilton Institute, NUIM.

CCNA Exam File with Answers. Note: Underlines options are correct answers.

Configuring Cisco IOS IP SLAs Operations

TCP in Asymmetric Environments

Enemy Territory Traffic Analysis

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

UNIT IV -- TRANSPORT LAYER

Experimental Evaluation of FAST TCP Performance and Fairness in DOCSIS Cable Modem Networks

Differential Congestion Notification: Taming the Elephants

Transport Layer (Congestion Control)

UNIVERSITY OF CALIFORNIA

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Appendix A. Methodology

Linux 2.4 Implementation of Westwood+ TCP with Rate Halving : A Performance Evaluation over the Internet

CSE 123A Computer Networks

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Multipath TCP for FreeBSD

EE122 MIDTERM EXAM: Scott Shenker, Ion Stoica

On Network Dimensioning Approach for the Internet

Supporting Service Differentiation for Real-Time and Best-Effort Traffic in Stateless Wireless Ad-Hoc Networks (SWAN)

Bandwidth Allocation & TCP

International Journal of Scientific Research and Modern Education (IJSRME) ISSN (Online): ( Volume I, Issue I,

A Report on Some Developments in TCP Congestion Control Mechanisms

CS 638 Lab 6: Transport Control Protocol (TCP)

Transcription:

TCP Experiment Automation Controlled Using Python (TEACUP) Sebastian Zander, Grenville Armitage Centre for Advanced Internet Architectures (CAIA) Swinburne University of Technology Overview TCP Experiments CAIA TCP Testbed TEACUP Experiment Setup TEACUP Data Analysis Future Work & Summary http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 2 1

Why TCP Experiments? TCP is more than three decades old Still lots of ongoing work to improve its performance Short flows Congestion control Loss recovery Incast problem AQM mechanisms Who will write last PhD thesis on optimising TCP? http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 3 TCP Experiments Environment Simulator (ns-2, ns-3, ) Easy to use, nice repeatable results Large complex networks No real TCP stacks or applications Can get close to real stacks, e.g. TCP-Linux for ns-2 http://heim.ifi.uio.no/michawe/research/tools/ns/index.html Real networks (e.g. Internet) The real thing Uncontrollable and unpredictable http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 4 2

TCP Experiments Environment Testbed Real TCP stacks of different OS Real or emulated applications Controllable environment Delay Loss Bandwidth Limited in scale TEACUP is for controlling testbed experiments http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 5 CAIA TCP Testbed Traffic sources/sinks 21 PCs (Linux, FreeBSD, Windows) 2 Mac Minis 2 WD Media Players 3 PC Routers (Linux, FreeBSD) Network 2 Dell Managed Gig Ethernet Switches 1 Pica Gig Ethernet SDN Switch Management 3 IP KVMs 5 Power controllers 2 Control PCs Experiment control Data storage & analysis http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 6 3

CAIA TCP Testbed Logical Topology TEACUP can automatically move hosts between subnets Overall topology can be changed through VLAN reconfiguration http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 7 CAIA TCP Testbed Picture http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 8 4

TEACUP Architecture Implemented in Python + shell script + R Based on Python Fabric Fabric is module for remotely controlling many hosts Small tasks than can be Executed from command line Combined into larger tasks Central config file (Python file) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 9 TEACUP Architecture Running Experiments Host Management Data Analysis http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 10 5

TEACUP Host Setup Operating System (OS) Connected subnet Disable various hardware offloading, e.g. TSO Set socket buffer sizes Set TCP congestion control Enable/disable Explicit Congestion Notification (ECN) Execute user custom commands http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 11 TEACUP Router Setup (Linux) Based on netfilter and advanced routing (tc) Use HTB for shaping Separate bottleneck queue (AQM) and bandwidth shaping from delay, loss, etc. emulation (netem) with pseudo interfaces (ifb) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 12 6

TEACUP Data Logging Various host information (e.g. uname, ifconfig, sysctl) Router queue information (after experiment) TEACUP configuration and per-experiment settings tcpdump TCP stack information SIFTR (FreeBSD) Web10G (Linux) CAIA-developed tools for Windows and Mac OS X http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 13 TEACUP Traffic Generators TCP bulk transfer (iperf) UDP fixed rate (iperf) HTTP (httperf) TCP streaming-like (httperf) Incast scenario (httperf) VoIP-like (nttcp) FPS game-like (BITSS) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 14 7

TEACUP Variable Parameters TCP parameters exposed including congestion control ECN on/off Network delay Packet loss Bandwidth (upstream/downstream) AQM technique AQM buffer size Traffic generator parameters User defined parameters http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 15 TEACUP Config File Define testbed settings (hosts, router) Define network traffic Define parameters to vary in experiments # Path to teacup scripts TPCONF_script_path = '/home/teacup/teacup-0.9' # Host lists TPCONF_router = [ 'newtcprt3', ] TPCONF_hosts = [ 'newtcp20', 'newtcp27' ] # Map external IPs to internal IPs TPCONF_host_internal_ip = { 'newtcprt3': ['172.16.10.1', '172.16.11.1'], 'newtcp20': ['172.16.10.60'], 'newtcp27': ['172.16.11.67'] } http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 16 8

TEACUP Running Experiments Copy fabfile.py and run.sh Create config file Run single experiment > fab run_experiment_single Run series of experiments > fab run_experiment_multiple OR >./run.sh http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 17 TEACUP Host Control Reboot > fab H newtcp20,newtcp21 init_os:os_list="linux" Power cycle > fab H newtcp20,newtcp21 power_cycle http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 18 9

TEACUP Clock Offset Correction Clocks in testbed are synchronised with NTP Not very accurate (especially on Windows) TEACUP has own clock offset correction During experiment control host sends regular heartbeats on control network to multicast/broadcast destination All hosts receive each heartbeat broadcasted by switch Compute offsets between each host s clock and reference clock and use to correct timestamps for graphs Switch and receiving PCs add noise, but it is in order of 10s of microseconds whereas NTP s noise is up to 10s of milliseconds http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 19 TEACUP Data Analysis Basic analysis tasks (modular design) Analysis is separate from experiment setup Can write your own analysis scripts or modify existing functions http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 20 10

TEACUP Analysis Functions SPP RTT or TCP RTT over time CWND over time Throughput over time Selected TCP statistic over time Incast response time over time Acknowledged bytes, dupacks over time (incast) Comparison of one metric for different parameter combos (boxplot, mean, median) Plot of two metrics for different parameter combos (2d density or ellipse plot) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 21 TEACUP Experiment Bandwidth: 20mbps down, 1mpbs up Intrinsic RTT: 40ms Traffic: game traffic (4 clients) + TCP bulk transfer AQMs: FIFO, PIE, Codel, FQ-Codel (200 packet queue limit) Linux Newreno, no ECN TCP Source Upstream TCP Sink Game clients Game server http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 22 11

Upstream Throughput FIFO http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 23 Upstream Throughput FQ-Codel http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 24 12

Round Trip Time (RTT) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 25 TCP CWND http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 26 13

AQM Comparison Game client-to-server TCP upload Throughput (kbps) http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 27 Future Work More traffic generators More analysis functions Improve TEACUP Better architecture Better user-friendliness http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 28 14

TEACUP Summary Greatly simplifies TCP experiments in testbed Basic analysis/plotting functions Can use in a VM testbed Not limited to just TCP Could be used for teaching, after we make it more user-friendly Code and tech reports http://caia.swin.edu.au/tools/teacup/ TEACUP v0.9 (April 2015) was developed as part of a project funded by Cisco Systems and titled "Study in TCP Congestion Control Performance In A Data Centre". This is a collaborative effort between CAIA and Fred Baker of Cisco Systems. http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 29 Questions? http://caia.swin.edu.au szander@swin.edu.au 7 May 2015 30 15