Anant Mudambi, U. Virginia

Slides:



Advertisements
Similar presentations
Click to edit Master title style Click to edit Master text styles –Second level Third level –Fourth level »Fifth level 1 List of Nominations Whats Good.
Advertisements

Appropriateness of Transport Mechanisms in Data Grid Middleware Rajkumar Kettimuthu 1,3, Sanjay Hegde 1,2, William Allcock 1, John Bresnahan 1 1 Mathematics.
Using NetLogger and Web100 for TCP analysis Data Intensive Distributed Computing Group Lawrence Berkeley National Laboratory Brian L. Tierney.
Transmission Control Protocol (TCP) Basics
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
NDT Tools Tutorial: How-To setup your own NDT server Rich Carlson Summer 04 Joint Tech July 19, 2004.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
The Transport Layer.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
KEK Network Qi Fazhi KEK SW L2/L3 Switch for outside connections Central L2/L3 Switch A Netscreen Firewall Super Sinet Router 10GbE 2 x GbE IDS.
Development of network-aware operating systems Tom Dunigan
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
ECEN “Internet Protocols and Modeling” Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Grading (Tentative):
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
1 Project Goals Project Elements Future Plans Scheduled Accomplishments Project Title: Net Developing Network-Aware Operating Systems PI: G. Huntoon,
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
NET100 Development of network-aware operating systems Tom Dunigan
UT-BATTELLE U.S. Department of Energy Oak Ridge National Laboratory Net100 PIs: Wendy Huntoon/PSC, Tom Dunigan/ORNL, Brian Tierney/LBNL Impact and Connections.
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.
NET100 Development of network-aware operating systems Tom Dunigan
National Center for Atmospheric Research Pittsburgh Supercomputing Center National Center for Supercomputing Applications Web100 Basil Irwin & George Brett.
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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.
The TCP-ESTATS-MIB Matt Mathis John Heffner Raghu Reddy Pittsburgh Supercomputing Center Rajiv Raghunarayan Cisco Systems J. Saperia JDS Consulting, Inc.
Web100/Net100 at Oak Ridge National Lab Tom Dunigan August 1, 2002.
Web100 Basil Irwin National Center for Atmospheric Research Matt Mathis Pittsburgh Supercomputing Center Halloween, 2000.
National Center for Atmospheric Research Pittsburgh Supercomputing Center National Center for Supercomputing Applications Web100 Roll Out I2 Members Meeting.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 13 TCP Implementation.
NET100 Development of network-aware operating systems Tom Dunigan
National Center for Atmospheric Research Pittsburgh Supercomputing Center National Center for Supercomputing Applications Web100 and Logistical Networking.
UT-BATTELLE U.S. Department of Energy Oak Ridge National Laboratory Net100: developing network-aware operating systems New (9/01) DOE-funded (Office of.
Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell.
Network-aware OS ESCC Miami February 5, 2003 Tom Dunigan Matt Mathis Brian Tierney
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Network-aware OS DOE/MICS ORNL site visit January 8, 2004 ORNL team: Tom Dunigan, Nagi Rao, Florence Fowler, Steven Carter Matt Mathis Brian.
Transmission Control Protocol A Reliable, Connection-Oriented, Byte-Stream Service Lab 9.
A TCP Tuning Daemon SC2002 November 19, 2002 Tom Dunigan Matt Mathis Brian Tierney
The Transport Layer Dr. ir. S.S. Msanjila RIS 251.
Distributed Systems 11. Transport Layer
Application – Transport – Network
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Transmission Control Protocol (TCP)
Transport Protocols over Circuits/VCs
Experimental Networking (ECSE 4963)
TCP.
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Routing.
Transport Layer Unit 5.
Process-to-Process Delivery:
Sven Ubik TCP performance Sven Ubik
A tool for locating QoS failures on an Internet path
The Transport Layer Chapter 6.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Process-to-Process Delivery: UDP, TCP
TCP flow and congestion control
Computer Networks Protocols
Routing.
Summer 2002 at SLAC Ajay Tirumala.
Using NetLogger and Web100 for TCP analysis
Presentation transcript:

Anant Mudambi, U. Virginia Web100 and Net100 5/19/2019 Anant Mudambi, U. Virginia

Outline The Problem The Web100 solution Web100 design Web100 components/ implementation Net100 Net100 design Net100 components 5/19/2019

THE PROBLEM TCP’s simple, uniform, reliable data delivery service is a good fit for most applications but … Applications unable to utilize full network bandwidth because … TCP hides details of lower layers/ implementation so difficult to “tweak” Overly cautious default parameter values Implementation bugs 5/19/2019

PURPOSE OF WEB100 Ordinary network users able to get performance that is orders of magnitude lower than experts : “Wizard Gap” Web100 aims to close this gap By making TCP’s internal parameter values accessible at user level By providing an interface to modify settable parameters Diagnosis and solution (to an extent) 5/19/2019

WEB100 DESIGN Kernel network stack modifications to collect per-connection statistics on significant protocol events : TCP instrumentation API to access instruments; implemented as a library Set of application tools to read/ visualize these instruments and set parameters 5/19/2019

WEB100 DESIGN 5/19/2019 Figure taken from [1]

WEB100 COMPONENTS Kernel Instrument Set (KIS) Implemented on Linux kernels Each connected TCP socket has a structure attached to collect state information (variables) and change parameters (controls) Variables, controls exposed using the /proc interface More than 130 variables; more than 10 controls 5/19/2019

KIS Examples Variables: Local address/ port, remote address/ port TCP state, SACK/ Timestamps enabled Packets out/ in, bytes out/ in Sequence numbers : oldest unACKed, initial, next to be sent, next expected Congestion signals, current cwnd/ ssthresh # Fast retx, # timeouts, packets/ bytes retxed Sample/ smoothed RTT, RTT variance, RTO Controls: Socket send/ receive buffer, Max. ssthresh, AI, MD 5/19/2019

WEB100 COMPONENTS API Library Each TCP connection assigned a Connection ID : CID Directory /proc/web100/<CID> for each connection Variables collected into ‘groups’; one file for each group in /proc/web100/<CID>/ API provides routines to read individual variables or the whole group atomically (snapshot) 5/19/2019

WEB100 COMPONENTS Application Tools Some tools developed to use the web100 API Command line tools to read/ write values; useful in scripts GUI tools to see how variables evolve over time GUI triage tool to estimate where performance bottleneck lies: sender, receiver or network 5/19/2019

NET100 Web100 – Allows user to see inside/ below the TCP layer But to use the full network capacity, user must know what to look for and what to tune Net100 goal = OS directly tunes network flows, so application/ user need not be network aware : Network Aware OS Accelerate TCP over high-speed, long delay networks by reducing packet loss and speeding recovery from loss 5/19/2019

NET100 DESIGN Instrumented kernel : Web100 Network probes & monitors : Network Tool Analysis Framework (NTAF) TCP modifications and a daemon to tune TCP flows : Work Around Daemon (WAD) 5/19/2019

INSTRUMENTED KERNEL Net100 leverages the KIS implemented in the Web100 kernel Web100 kernel extended to permit tuning of more than just send/ receive buffers Slow start and congestion avoidance/ recovery schemes made tunable 5/19/2019

NETWORK TOOL ANALYSIS FRAMEWORK The WAD, in order to work around specific network problems, requires external information not available to regular flows NTAF provides this tuning information for specific paths Framework for running network test tools (enhanced to collect Web100 data), storing results in a database Currently 5 NTAF servers deployed Tools : ping, pipechar, iperf, netest, GridFTP etc. 5/19/2019

WORK AROUND DAEMON A daemon to tune TCP flows as they come up Written in C (a python version also exists) Tuning controlled by a configuration file Static tuning : parameters specified in config. file are used Dynamic tuning : tuning uses information from the NTAF 5/19/2019

WAD IMPLEMENTATION To be able to tune TCP flows WAD needs to know when a flow starts; 2 ways: Kernel notifies WAD of connection tear down/ establishment using a netlink socket WAD periodically checks for new/ closed connections by walking /proc/web100 On noticing a new connection, WAD checks in the config. file if it is tunable If so use Web100 API to tune the flow 5/19/2019

WAD CONFIGURATION Src address/ port, Dst address/ port Send buffer, Rcv buffer size AI, MD factors Max. ssthresh : used in modified slow start Scalable TCP AI Floyd AIMD calculation 5/19/2019

REFERENCES [1] M. Mathis, J. Heffner, R. Reddy, Web100: Extended TCP Instrumentation, ACM Computer Communications Review, July 2003 [2] B. Tierney, T. Dunigan, M. Mathis, Net100: Developing Network-aware Operating Systems, MICS Final Report, Sept. 2004 [3] T. Dunigan, M. Mathis, B. Tierney, A TCP Tuning Daemon, SuperComputing 2002 [4] www.web100.org [5] www.csm.ornl.gov/~dunigan/net100/ 5/19/2019 Thank you!