Pavel Cimbál, Sven Ubik CESNET TNC2005, Poznan, 9 June 2005 Tools for TCP performance debugging.

Slides:



Advertisements
Similar presentations
Helping TCP Work at Gbps Cheng Jin the FAST project at Caltech
Advertisements

Tuning and Evaluating TCP End-to-End Performance in LFN Networks P. Cimbál* Measurement was supported by Sven Ubik**
CSCI-1680 Transport Layer II Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
TCP Variants.
TCP transfers over high latency/bandwidth network & Grid TCP Sylvain Ravot
FAST TCP Anwis Das Ajay Gulati Slides adapted from : IETF presentation slides Link:
August 10, Circuit TCP (CTCP) Helali Bhuiyan
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
TRANSPORT LAYER  Session multiplexing  Segmentation  Flow control (TCP)  Connection-oriented (TCP)  Reliability (TCP)
TCP loss sensitivity analysis ADAM KRAJEWSKI, IT-CS-CE.
Identifying Performance Bottlenecks in CDNs through TCP-Level Monitoring Peng Sun Minlan Yu, Michael J. Freedman, Jennifer Rexford Princeton University.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
A Two-Phase TCP Congestion Control for Reducing Bias over Heterogeneous Networks Jongmin Lee, Hojung Cha, Rhan Ha Yonsei University, Korea Information.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
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.
All rights reserved © 2006, Alcatel Accelerating TCP Traffic on Broadband Access Networks  Ing-Jyh Tsang 
Sven Ubik, CESNET TNC2004, Rhodos, 9 June 2004 Performance monitoring of high-speed networks from NREN perspective.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Development of network-aware operating systems Tom Dunigan
ISO Layer Model Lecture 9 October 16, The Need for Protocols Multiple hardware platforms need to have the ability to communicate. Writing communications.
TCP Throughput Collapse in Cluster-based Storage Systems
Optimizing UDP-based Protocol Implementations Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala National Center for Data Mining.
UDT: UDP based Data Transfer Protocol, Results, and Implementation Experiences Yunhong Gu & Robert Grossman Laboratory for Advanced Computing / Univ. of.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Presented by Rajan Includes slides presented by Andrew Sprouse, Northeastern University CISC 856 TCP/IP and Upper Layer Protocols Date:May 03, 2011.
High TCP performance over wide area networks Arlington, VA May 8, 2002 Sylvain Ravot CalTech HENP Working Group.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
1 BWdetail: A bandwidth tester with detailed reporting Masters of Engineering Project Presentation Mark McGinley April 19, 2007 Advisor: Malathi Veeraraghavan.
TCP performance Sven Ubik FTP throughput capacity load ftp.uninett.no 12.3 Mb/s 1.2 Gb/s 80 Mb/s (6.6%) ftp.stanford.edu 1.3 Mb/s 600.
Udt.sourceforge.net 1 :: 23 Supporting Configurable Congestion Control in Data Transport Services Yunhong Gu and Robert L. Grossman Laboratory for Advanced.
Iperf Quick Mode Ajay Tirumala & Les Cottrell. Sep 12, 2002 Iperf Quick Mode at LBL – Les Cottrell & Ajay Tirumala Iperf QUICK Mode Problem – Current.
NET100 Development of network-aware operating systems Tom Dunigan
An Introduction to UDT Internet2 Spring Meeting Yunhong Gu Robert L. Grossman (Advisor) National Center for Data Mining University.
Wide Area Network Performance Analysis Methodology Wenji Wu, Phil DeMar, Mark Bowden Fermilab ESCC/Internet2 Joint Techs Workshop 2007
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Debugging end-to-end performance in commodity operating system Pavel Cimbál, CTU, Sven Ubik, CESNET,
Marcelo R.N. Mendes. What is FINCoS? A set of tools for data generation, load submission, and performance measurement of CEP systems; Main Characteristics:
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 13 TCP Implementation.
Development of a QoE Model Himadeepa Karlapudi 03/07/03.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
UDP File Transfer Nathan Kiel CSE434. Goal Explore difficulties of UDP transport in a file transfer application Direct experience by writing an FTP style.
Midterm Review Chapter 1: Introduction Chapter 2: Application Layer
UT-BATTELLE U.S. Department of Energy Oak Ridge National Laboratory Net100: developing network-aware operating systems New (9/01) DOE-funded (Office of.
Final EU Review - 24/03/2004 DataTAG is a project funded by the European Commission under contract IST Richard Hughes-Jones The University of.
Increasing TCP's CWND based on Throughput draft-you-iccrg-throughput-based-cwnd-increasing-00 Jianjie You IETF92 Dallas.
Studies of LHCb Trigger Readout Network Design Karol Hennessy University College Dublin Karol Hennessy University College Dublin.
Window Control Adjust transmission rate by changing Window Size
Wide Area Network Performance Analysis Methodology
TCP EE122 Discussion 10/18/13.
Introduction to Congestion Control
Speaker : Che-Wei Chang
Achieving reliable high performance in LFNs (long-fat networks)
Transport Protocols over Circuits/VCs
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
Understanding Throughput & TCP Windows
Implementing a Network Protocol using Sockets: A Modular Approach
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
File Transfer Issues with TCP Acceleration with FileCatalyst
TCP over SoNIC Abhishek Kumar Maurya
TCP Cubic CS577 Brett Levasseur 10/1/2013.
Sven Ubik TCP performance Sven Ubik
Beyond FTP & hard drives: Accelerating LAN file transfers
TCP flow and congestion control
Review of Internet Protocols Transport Layer
Achieving reliable high performance in LFNs (long-fat networks)
Presentation transcript:

Pavel Cimbál, Sven Ubik CESNET TNC2005, Poznan, 9 June 2005 Tools for TCP performance debugging

Monitoring Looking for performance limitations in different places requires different monitoring approaches communication segmentmonitoring type available bandwidth in networkactive & passive faulty network componentactive transport protocol behaviour*passive & end-host PC hardware performanceend-host application & OS overheadend-host * subject of this talk

TCP monitoring TCP performance debugging tools: tcpdump + tcptrace + xplot requires root access, follow-up analysis loads CPU, can miss packets bulk AIMD patch

Bulk tool bulk: achievable throughput measurement (iperf-like) + synchronous monitoring of TCP runtime variables Reads kernel variables after each write() or read() call Does not require any kernel patch or root access Real-time analysis Low CPU overhead Can work together with AIMD patch to get more information and to configure AIMD

Using bulk tool Server side: bulk Client side: bulk –c Set any socket option at any level: -s, [, [, …]] Get any socket option at any level: -g, [, [, …]]

Option names for SOL_TCP level: "TCP_NODELAY","TCP_MAXSEG","TCP_CORK","TCP_KEEPIDLE", "TCP_KEEPINTVL","TCP_KEEPCNT","TCP_SYNCNT","TCP_LINGER2", "TCP_DEFER_ACCEPT","TCP_WINDOW_CLAMP","TCP_INFO","TCP_QUICKACK" Option members for TCP_INFO option: "state","ca_state","retransmits","probes","backoff","options", "wscales","rto","ato","snd_mss","rcv_mss","unacked","sacked", "lost","retrans","fackets","last_data_sent","last_ack_sent", "last_data_recv","last_ack_recv","pmtu","rcv_ssthresh","rtt", "rttvar","snd_ssthresh","snd_cwnd","advmss","reordering" Selected options to query

cwnd, ssthresh monitoring bulk –gTCP_INFO,snd_cwnd,snd_ssthresh

Checking window scaling > : S : > (0) win > : S : > (0) ack win ,nop, wscale 7> bulk –gTCP_INFO,wscales 71 = 0x47, client wscale: 4, server wscale: 7

Bulk selected switches -rreverse transfer, server to client -b block size for write(), read(), adjusts result granularity!! -c number of connections in sequence and/or in parallel -mparallel mode

Added CPU load % time seconds usecs/call calls syscall write getsockopt gettimeofday poll strace –c bulk –gTCP_INFO,... sending data monitoring (+some user space load) with bigger block size (-b) monitoring is less frequent

Configuration of AIMD(x,y) parameters cwnd=cwnd+x*MSSper ACK cwnd=cwnd*yper packet loss Congestion Window Validation (CWV) and Congestion Window Reduction (CWR) on / off / monitoring Works on a per-socket or per-system basis Available for Linux 2.4 and 2.6 AIMD patch

Example of per-system configuration: sysctl –w net/ipv4/tcp_aimd % additive increase, 50% multiplicative decrease, CWV on, CWR on AIMD patch, cont.

Example of per-socket configuration: struct tcp_aimd aimd; aimd.slope=100; aimd.ratio=50; aimd.cwven=1; aimd.cvwren=1; setsockopt(sockfd, SOCK_TCP, TCP_AIMD, &aimd, sizeof(aimd)); AIMD patch, cont.

AIMD tuning cesnet.cz → switch.ch, RTT=40 ms, win=4MB aggressiveness vs. responsiveness vs. fairness

Download bulk + AIMD patch at: Future directions: Add hardware end-host monitoring (using PAPI and other tools) Downloadable PC monitoring agent Download and future work

Pavel Cimbal Sven Ubik Thank you for your attention

Backup slides

Per-socket monitoring: struct tcp_counters counters; wsize=sizeof(counters); getsockopt(sockfd, SOCK_TCP, TCP_COUNTER, &counters, &wsize); AIMD patch, cont.