Subject: Re: I/O priorities
To: None <tech-kern@netbsd.org>
From: Jed Davis <jldavis+netbsdlist@cs.oberlin.edu>
List: tech-kern
Date: 06/22/2002 02:50:52
Aidan Cully <aidan@kublai.com> writes:
> I've been thinking about this, and I don't think I agree with your
> reasoning. TCP congestion avoidance works decently, but it's a
> different problem domain: a fundamental characteristic of IP is
> the heterogenous network, and there's no telling at the source
> how much throughput is available for traffic. That's not the case
> with device I/O, except for network-mounted devices. I also think
> that TCP congestion avoidance still doesn't deal very well with
> interactive sessions. Try connecting to the Internet using a 56K
> modem, connecting to a remote host using telnet or ssh, and starting
> a large download at the same time. See what happens to your telnet
> session, and you're approaching a problem closer to what we'd be
> trying to solve with an I/O scheduler.
One can also use ping(8) to demonstrate quantitatively how much things
deteriorate in this case. (I got numbers in the 5s-6s range, trying
this a few weeks ago.)
I suppose that, in the case of IP, that this is what the TOS field was
meant for: moving interactive traffic ahead of bulk traffic in the
relevant queue(s). The problem is that it requires explicit marking
(which I have actually observed OpenSSH doing) and various devices'
actually reading off and honoring the TOS marking (which I'm not
especially optimistic about).
--Jed
--
#!/usr/bin/perl -- ## "But life wasn't yes-no, on-off. Life was shades of gray,
sub f{(($n,$d,@_)=@_)?(substr(## and rainbows not in the order of the spectrum."
" ExhortJavelinBus",$n&&$d/$n,1),$n?f($d## -- L. E. Modesitt, Jr., _Adiamante_
%$n,$n,@_):&f):("\n")}print f 1461,10324,55001,444162,1208,1341,5660480,79715997