NetPerL Seminar An Analysis of TCP Processing Overhead

Slides:



Advertisements
Similar presentations
Router Internals CS 4251: Computer Networking II Nick Feamster Spring 2008.
Advertisements

Router Internals CS 4251: Computer Networking II Nick Feamster Fall 2008.
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Categories of I/O Devices
The Transport Layer Chapter 6. Performance Issues Performance Problems in Computer Networks Network Performance Measurement System Design for Better Performance.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
ECE 526 – Network Processing Systems Design
Protocol Implementation An Engineering Approach to Computer Networking.
Router Architectures An overview of router architectures.
1.  Project Goals.  Project System Overview.  System Architecture.  Data Flow.  System Inputs.  System Outputs.  Rates.  Real Time Performance.
3/11/2002CSE Input/Output Input/Output Control Datapath Memory Processor Input Output Memory Input Output Network Control Datapath Processor.
LWIP TCP/IP Stack 김백규.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
LWIP TCP/IP Stack 김백규.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Data and Computer Communications Circuit Switching and Packet Switching.
Srihari Makineni & Ravi Iyer Communications Technology Lab
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Spring 2000CS 4611 Router Construction Outline Switched Fabrics IP Routers Extensible (Active) Routers.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
UDP : User Datagram Protocol 백 일 우
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Chapter 13: I/O Systems.
Kernel Design & Implementation
Module 12: I/O Systems I/O hardware Application I/O Interface
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Computer System Structures
LWIP TCP/IP Stack 김백규.
Improving Memory Access 1/3 The Cache and Virtual Memory
EE 107 Fall 2017 Lecture 7 Serial Buses – I2C Direct Memory Access
CS 286 Computer Organization and Architecture
Cache Memory Presentation I
TCP Transport layer Er. Vikram Dhiman LPU.
Final Review CS144 Review Session 9 June 4, 2008 Derrick Isaacson
Process-to-Process Delivery:
Transport Layer Unit 5.
High Performance Messaging on Workstations
Internetworking: Hardware/Software Interface
Network Core and QoS.
Bridges and Extended LANs
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 2: Data Manipulation
Router Construction Outline Switched Fabrics IP Routers
Basic Mechanisms How Bits Move.
Created by Vivi Sahfitri
Chapter 4 Network Layer Computer Networking: A Top Down Approach 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April Network Layer.
Chapter 2: Data Manipulation
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
NetPerL Seminar Hardware/Software Co-Design
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
The Transport Layer Chapter 6.
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Wireless Embedded Systems
Chapter 13: I/O Systems.
Performing Security Auditing In Hardware
Chapter 2: Data Manipulation
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
ECE 671 – Lecture 8 Network Adapters.
Transport Layer 9/22/2019.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Network Core and QoS.
Presentation transcript:

NetPerL Seminar An Analysis of TCP Processing Overhead David D. Clark, Van Jacobson, John Romkey, Howard Salwen IEEE Communications Magazine, June 1989 Presented By: Jim Harris July 23, 2002 6/27/2019 Cal Poly Network Performance Research Group

Cal Poly Network Performance Research Group Background “Classic paper” – notable authors, citations Issue: performance of TCP protocol Scientific approach to address issue Seminal conclusions on TCP/IP performance that have withstood the passage of time 6/27/2019 Cal Poly Network Performance Research Group

Cal Poly Network Performance Research Group The Analysis Started with TCP in BSD UNIX, and modified to remove dependencies on UNIX Determined common path for TCP, and implemented a “fast path” See figure 6/27/2019 Cal Poly Network Performance Research Group

Cal Poly Network Performance Research Group Analysis Terminology 6/27/2019 Cal Poly Network Performance Research Group

A First Case Study – Input Processing Common belief that receiving is more complex [paper refuted belief] Three stages of receive processing Search for TCB TCP checksum Packet header processed First, study packet header processing Counted instructions 6/27/2019 Cal Poly Network Performance Research Group

TCP Output Processing / IP Sending (output) side less detailed analysis Used instruction count again IP processing Instruction estimates for both receiving and sending: common path Header prediction example IP block copy of header template 6/27/2019 Cal Poly Network Performance Research Group

Support Functions / Checksums and TCBs The buffer layer Buffer layers for protocols have same goal Specifications of protocol suite intentionally broad in this area Timers and Schedulers Timer code can be cost demanding Checksums and TCBs Issue of CPU or outboard chip for checksum Temporal coherency for TCB blocks observed 6/27/2019 Cal Poly Network Performance Research Group

Some Speed Predictions Receiving a packet estimated at 300 instructions for TCP/IP Used factor of 4/3 for RISC to get 400 Used 100Mbp/s FDDI and 10 MIPS processor with one ack for every 2 packets yields a packet sized of 500 bytes before protocol is the limiting factor, i.e., bottleneck 6/27/2019 Cal Poly Network Performance Research Group

Cal Poly Network Performance Research Group Why Are Protocols Slow? Real sources of overhead Operating system: interrupt processing, buffer management, context switches (scheduling), timer operation Byte touching operations: moving data in memory, checksumming Data copy biggest factor: CPU and DMA 6/27/2019 Cal Poly Network Performance Research Group

A Direct Measure of Protocol Overhead Used Sun-3/60 to measure time with logic analyzer [our HP16700 has this capabilty] 6/27/2019 Cal Poly Network Performance Research Group

A Direct Measure of Protocol Overhead (cont) Times yield estimated instruction counts that are consistent with above analysis 70% of time in TCP, and 80% of that in output (send) side - counter to common belief Times support OS impact Per byte operations swamp protocol processing costs: 771 us versus 100 us Protocol processing small compared to OS processing: 240 us versus 100 us 6/27/2019 Cal Poly Network Performance Research Group

Some Dangerous Speculations If OS and memory overhead the real limits, then move the processing to a special outboard processor Problems identified with buffer layer between host and outboard processor Alternative: design of simple network interface hardware – minimize interrupts, minimize data copies, compute checksum with data copy 6/27/2019 Cal Poly Network Performance Research Group

Cal Poly Network Performance Research Group Protocols in Silicon Not necessary to abandon TCP/IP protocol to improve performance Recommend moving to: Efficient network interface card, or Simple network controller on cpu bus Desirable to have a programmable element using general protocols TCP has 15 years of improvements which will continue [as of 1989, now TCP/IP are at least 28 years old] Putting protocols in hardware is not required 6/27/2019 Cal Poly Network Performance Research Group