Web100 Basil Irwin [email protected] National Center for Atmospheric Research Matt Mathis...

33
Web100 Web100 Basil Irwin Basil Irwin [email protected] [email protected] National Center for Atmospheric Research National Center for Atmospheric Research Matt Mathis Matt Mathis [email protected] [email protected] Pittsburgh Supercomputing Center Pittsburgh Supercomputing Center Halloween, 2000 Halloween, 2000

Transcript of Web100 Basil Irwin [email protected] National Center for Atmospheric Research Matt Mathis...

Page 1: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

Web100Web100

Basil IrwinBasil Irwin

[email protected]@ucar.edu

National Center for Atmospheric ResearchNational Center for Atmospheric Research

Matt MathisMatt Mathis

[email protected]@psc.edu

Pittsburgh Supercomputing CenterPittsburgh Supercomputing Center

Halloween, 2000Halloween, 2000

Page 2: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 22NCARNCAR

The ProblemThe Problem

Page 3: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 33NCARNCAR

Problem ExplanationProblem Explanation

•A major TCP design feature is to compensate for packet/ack latency by sending and buffering multiple consecutive unacknowledged packets

•Packets are buffered for possible retransmission until acknowledgement is received, so the maximum size of the TCP transmit buffer determines the maximum amount of data that can be retransmitted prior to acknowledgement

Page 4: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 44NCARNCAR

Problem Explanation (cont.)Problem Explanation (cont.)

•Transmission will stop if the TCP transmit buffer fills up because none of the transmitted packets have been acknowledged

•To utilized the full bandwidth of a given connection, packets need to be transmitted continuously, i.e., packet transmission must never stop

•Therefore, the TCP transmit buffer must be large enough to avoid completely filling up with unacknowledged packets

Page 5: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 55NCARNCAR

Problem Explanation (cont.)Problem Explanation (cont.)

•To avoid “premature” filling, the TCP transmit buffer must be at least the number of bytes equal to the product of the round trip latency and the bandwidth of the connection

•The problem is that the TCP transmit buffer size is usually defaulted by the application to the kernel default value, and the kernel default is usually sized for low bandwidth LAN connections with very small latency

Page 6: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 66NCARNCAR

Problem Explanation (cont.)Problem Explanation (cont.)

•Also, most apps don’t provide a user-parameter to override the default value

•And even if they did, how does one “know” what the bandwidth of the connection is?

•So the problem is that most TCP apps repeatedly halt data transmission due to mini-sized TCP transmit buffers, and they don’t provide a way for the user to increase the buffer size, and even if they did, the user doesn’t know what size to use

Page 7: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 77NCARNCAR

A SolutionA Solution

Page 8: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 88NCARNCAR

Solution ExplanationSolution Explanation

•Have the OS/kernel transparently, automatically, and optimally set the TCP transmit buffer size (“autotuning”) for the bandwidth and latency conditions detected at all times during every TCP connection based on congestion feedback information available from the TCP stack

•This is easier said than done, and it is what Web100 is all about

Page 9: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 99NCARNCAR

What Web100 IsWhat Web100 Is•Do “autotuning” via the following method:

• Implement per-connection TCP MIB in kernel

•Similar to UNIX netstat information, but per-TCP-connection and more useful information

•Write-variables will allow user-level TCP-connection performance tuning based on real-time congestion feedback from TCP connection

•Also allows multitude of user-level display and diagnostic tools regarding TCP behavior during real-time

Page 10: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1010NCARNCAR

The PrototypeThe Prototype

Page 11: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1111NCARNCAR

Implementation InformationImplementation Information

•~1,200 diff lines against Linux 2.2.14

•API is through /proc pseudo-file system

•About 80 defined variables right now

•All counters are cumulative (soon to include statistical measures as well)

•Counters updated continuously in kernel; /proc updates each time accessed

•One instance of data structure for each TCP session in /proc

Page 12: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1212NCARNCAR

The Coding TeamThe Coding Team

•Matt Mathis at PSC is principal designer

•John Heffner at PSC is currently the main coder

•Andy Adams at PSC is working on prototype autotuning daemon

•John Estabrook at NCSA is working on prototype GUI applications

• (Jeff Semke formerly at PSC was lead software engineer and programmer)

Page 13: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1313NCARNCAR

128.182.61.238.22 <-> 128.182.61.156.1022 ESTABLISHED--------------------------+-------------------------+---------------------------PktsIn 1974 | PktsOut 1951 | Enabled:DataPktsIn 972 | DataPktsOut 1002 | SACK NAckPktsIn 1975 | AckPktsOut 949 | ECN NDataBytesIn 19823 | DataBytesOut 74651 | Timestamps NDupAcksIn 0 | PktsRetran 0 | | BytesRetran 0 |--------------------------+-------------------------+---------------------------loss episodes 0 | cwnd 1453792 | winscale rcvd 0timeouts 0 | max cwnd 1453792 | rwin rcvd 986816TO after FR 0 | ssthresh 0 | max rwin rcvd 986880 | min ssthresh 0 | winscale sent 0 | max ssthresh 0 | rwin sent 32120 | | max rwin sent 32120---------------------+----+-----------------+-------+-------+-------------------rto (ms) 20 | rtt (ms) 1 | mss 1448 | Ratemin rto (ms) 20 | min rtt (ms) 0 | min mss 1448 | Out (kbps) 0.1max rto (ms) 20 | max rtt (ms) 1 | max mss 1448 | In (kbps) 0.0---------------------+----------------------+---------------+-------------------Overall rate-controlling effects (only valid if we are the sender): aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Receiver:(S)topped,(A)pp,(B)ufsize / Path:(C)ongestion / Sender:(b)ufsize,(a)pp

Sample Demo OutputSample Demo Output

Page 14: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1414NCARNCAR

Demo Code ReleaseDemo Code Release

Page 15: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1515NCARNCAR

TimetableTimetable•Alpha release to made today (Halloween)!*Very limited set of handpicked testers

* To test install procedures

* To test API and API documentation

* To provide bug and feature feedback

•Additional alpha testers are possible, but must provide a test plan

•Beta release date unknown*Code is in an extremely early state

* Project just received funding from NSF on 9/15

Page 16: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1616NCARNCAR

Web100 Project ElementsWeb100 Project Elements

Page 17: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1717NCARNCAR

SupportSupport

Page 18: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1818NCARNCAR

Develop Support ProceduresDevelop Support Procedures

•Distribution of source, binary, etc.

•Feedback from users to developers

•Website development

•Answer questions, etc,

•Much of this is being done by NCSA

Page 19: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 1919NCARNCAR

Continued DevelopmentContinued Development

Page 20: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2020NCARNCAR

Code ImprovementsCode Improvements

•Continuous kernel, MIB, and feature improvements based on user feedback

•What we have now is a concept demonstration just to start the feedback process

•Expect several iterations

•Projected work includes OS-independent library-based API, autotuning the receive buffer, 64-bit counters, statistical variables

Page 21: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2121NCARNCAR

AutotuningAutotuning

•Use the writeable variables to develop user-level dynamic optimal maximum TCP buffer-size algorithms based on TCP congestion-feedback variables

Page 22: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2222NCARNCAR

Tool DevelopmentTool Development

•Assist tool developers, collect, package, and distribute tools

Page 23: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2323NCARNCAR

TCP-MIB DevelopmentTCP-MIB Development

Page 24: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2424NCARNCAR

TCP-MIBTCP-MIB

•Define, publish, and shepherd new TCP-MIB through the MIB standards process

Page 25: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2525NCARNCAR

Vendor AcceptanceVendor Acceptance

Page 26: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2626NCARNCAR

Work with VendorsWork with Vendors

•Extremely important commercial OS vendors pick this code up as quickly as possible

• Integral part of Web100 proposal

•Will work closely with vendors to achieve this

• Includes working with Linux community to have Web100 code included in standard Linux kernel releases

Page 27: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2727NCARNCAR

Linux DistributionLinux Distribution

•Work with Linux distributors to pick up Web100 tool suite

•Perhaps publish Web100/NSF Linux release based on one or more common commercial releases, perhaps including other work from other NLANR/I2 development projects

Page 28: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2828NCARNCAR

URLsURLs

Page 29: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 2929NCARNCAR

URLsURLs

•www.web100.org

Page 30: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 3030NCARNCAR

Project StatusProject Status

Page 31: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 3131NCARNCAR

Pending NSF FundingPending NSF Funding

•Major funding for Web100 has been provided from NSF/CISE/ANIR

•Web100 also has received $100,000 grant from Cisco Systems.

Page 32: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 3232NCARNCAR

PartnersPartners

•National Center for Atmospheric Research

•Pittsburgh Supercomputer Center

•National Center for Supercomputing Applications

Page 33: Web100 Basil Irwin irwin@ucar.edu National Center for Atmospheric Research Matt Mathis mathis@psc.edu Pittsburgh Supercomputing Center Halloween, 2000.

National Center for Atmospheric ResearchNational Center for Atmospheric Research 3333NCARNCAR

DiscussionDiscussionandand

Feedback!Feedback!