Subject: Re: perhaps time to check our TCP against spec?
To: Kevin M. Lahey <kml@nas.nasa.gov>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 04/06/1998 18:15:42
>We're there, we're listening, and we're fixing the bugs that
>get discusssed there.  Sadly, lots of assumptions underlying the
>TCP implementation are either undocumented, or documented only
>in papers scattered across dozens of different journals and proceedings.

Yup, fair comment.  As a PhD student working in networking,
part of what I have to do is become familiar with that literature.
(And then contribute to it myselfk, but that's another story.)

And it's a lot of work.  See below for what I've reread the past
couple of weeks;)


>Suggestions are welcome.

But it seems they most clearly are *not* welcome.

I mention that certain of problems exist, and have existed for a long
time.  I back that up with hard data. But some people insinuate that
the problems simply do not exist, because they, personally, have not
seen them in their own, personal, experience.  That doesn't sound
like suggestions are ``welcome'' to me.

It's a trusim that testing can only reveal the presence of bugs, not
their absence.  Once bugs have been shown to exist, then they really
do exist, even if other tests fail to show them.  That much is
trivial, surely?

I've shown data which indisputably confirms the existence of both
problems I mentioned.  And I've answered, politely, polite requests
which ask how to duplicate it.

But Jason Thorpe acts as if if *he* hasn't personally seen the bug,
it just doesn't exist. He flames people even when they *have*
shown hard evidence.  It's as if Jason takes the mere mentioning of
problems with NetBSD as a personal attack, and he attacks in turn.

That's just silly.  Everybody's TCP has performance bugs at some
point. The best thing to do is to recognize the bugs and fix them.
Not to lose objectivity and to insinuate that the bugs don't exist.


>I'm discussing this stuff with you in private e-mail, but I 
>think it is pretty unfair to single me out -- the change logs
>are a good indication of the effort folks are putting into this.
>Both Jason and I are working hard to make our stack correct
>and performant.

I think we *ALL* want like NetBSD's stack to be correct and to perform
well. Speaking only for myself, I'd like NetBSD's TCP to be not just
good, but _really_ good.  That's where I'm coming from.

I am sorry if you feel singled out, and sorry that I mentioned that
you were fixing some of these bugs.  But I am suprrised to still be
tripping over them. And now some people are insinuating that these
problems just don't exist, even when shown data which _proves_ that
the problems exist in at least _some_ circumstances.

What i think it comes down to is, every time I mention a problem with
NetBSD, even if I present data which confirm the problem, even if the
data are rock-solid and unambiguous (as they are in this case), I am
told the problem deosnt' really exist.  That boils down to telling me
I'm a liar or that I'am faking the data.

That kind of denial about performance problems is not just exceedingly
unprofessional, it's not even in the best interests of NetBSD.



--------


@InProceedings{tcp.vegas,
  author = 	 {L.S. Bramko and S.W. O'Malley and L. L. Peterson},
  title = 	 {TCP Vegas: New techniques for congestion detection
		and avoidance}
  booktitle = 	 {Proc. SIGCOMM '94},
  pages = 	 {24-35},
  year = 	 {1994},
  address = 	 {UCL, London},
  month = 	 {August},
  note = 	 {ftp://ftp.cs.arizona.edu/xkernel/Papers/vegas.ps},
}


@InProceedings{vegas.repeat.evaluation,
  author = 	 {J.S. Ahn and P.B. Danzig and Z. Lui and L. Yan},
  title = 	 {Evaluation of TCP-Vegas: Emulation and Experiment},
  booktitle = 	 {Proc. SIGCOMM '95},
  pages = 	 {185-195},
  year = 	 {1995},
  month = 	 {August},
  organization = {ACM},
}

@InProceedings{hue.tcp.startup,
  author = 	 {Janey C. Hoe},
  title = 	 {Improving the Startup Behaviour Of A Congestion Control 
			Scheme for TCP},
  booktitle = 	 {Proc. SIGCOMM '96},
  pages = 	 {270-280},
  year = 	 {1996},
  volume = 	 {26(4)},
  series = 	 {Comp. Comm. Review},
  address = 	 {Stanford, California},
  month = 	 {August},
  organization = {ACM},
}



@InProceedings{mathis.sack-fwd-ack,
  author = 	 {Matthew Mathis and Jamshid Mahdavi},
  title = 	 {Foward Acknowledgemnt: Refining TCP Congestion Control},
  booktitle = 	 {Proc. SIGCOMM '96},

  pages = 	 {281-291},
  year = 	 {1996},
  year = 	 {1996},
  volume = 	 {26(4)},
  series = 	 {Comp. Comm. Review},
  address = 	 {Stanford, California},
  month = 	 {August},
  organization = {ACM},
}

@TechReport{bsd44.problems,
  author = 	 {L.S. Bramko and S.W. O'Malley and L. L. Peterson},
  title = 	 {Performance Problems in 4.4BSD},
  institution =  {University of Arizona},
  note = 	 {ftp://ftp.cs.arizona.edu/xkernel/Papers/bsd44.ps},

}


@Article{sacks,
  author = 	 {Kevin Fall and Sally Floyd},
  title = 	 {Simulation-Based Comparison of Tahoe, Reno, and SACK TCP},
  journal = 	 {Computer Communications Review},
  year = 	 {1996},
  note = 	 {ftp://ftp.ee.lbl.gov/papers/sack.ps.Z},
  annote = 	 {submitted to CCR, July, 1996}
}