Subject: TR on Congestion Manager implementation, with perf #s

From: "David G. Andersen" <[email-masked]>
Date: Fri, 2 Jun 2000 19:23:45 -0400 (EDT)

We just published a tech report describing our current implementation of
the Congestion Manager (CM) architecture, with a collection of performance
numbers both promising, and worthy of future discussion.  The TR can be
found at:

  http://wind.lcs.mit.edu/publications/MIT-LCS-TR-808.ps.gz  (gzipped)
or
  http://wind.lcs.mit.edu/publications/MIT-LCS-TR-808.ps   (uncompressed)

Some of the interesting points from the paper:

  - Implementing TCP with the CM results in virtually _no_ overhead
    with the currently proposed API from the internet-draft.

    As suggested by earlier TCP control block sharing work, the
    resulting sharing of congestion control information can result
    in measurable benefits for clients which exhibit web browser-like
    behavior of fetching multiple files sequentially.

  - User-level programs get various overheads due to extra system calls
    depending on the type of interaction they want with the CM;
    we've proposed a few ways to mitigate this overhead for busy,
    demanding applications by batching calls, but even without this,
    a moderate machine can still saturate an ethernet.

  - It works.  :-)

At this point, we've implemented several clients and servers atop the CM:

  - TCP
  - The vat audio tool
  - Several "toy" applications designed to test and show the behavior
    of the CM.

We'll have a (hopefully final) draft of the I-D out to the list early next
week with a few minor corrections resulting from our implementation
experience.

Note that the performance numbers shown in the TR are in reality an easy
upper bound on the overhead imposed by the CM, and in no way a lower bound
- the implementation methods we chose were not designed to grind
excruiciatingly fine bits of performance from our system, but instead to
be implementable and verifiable in a reasonable context.  More
completely API-transparent optimizations are certainly possible, but
even without them, the performance and functionality is quite pleasing.

Stay tuned, and send comments!

  -Dave

--
work: [email-masked]                          me:  [email-masked]
      MIT Laboratory for Computer Science           http://www.angio.net/