Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Nov 1997 18:38:41 -0700 (MST)
From:      Charles Mott <cmott@srv.net>
To:        hackers@freebsd.org
Subject:   Adaptive scheduling
Message-ID:  <Pine.BSF.3.96.971126182039.27657A-100000@darkstar.home>

next in thread | raw e-mail | index | archive | help
I've been thinking about writing an engine which would adaptively shcedule
packets over a crowded link.  The idea would be to schedule packets based
on bandwidth consumption, with both stream and source IP address taken
into account.  The idea is to give the light users good response, but slow
down large transfers a little.  There might be other scheduling algorithms
also. 

I see this as a type of state based routing in which all data streams are
monitored.  The idea would be to have a drop-in module similar to what is
already done for natd and ppp -alias.

It is not that difficult to schedule outgoing packets, but incoming
traffic is difficult to control.  In the case of tcp streams, one
suggestion has been to rewrite the window value on the tcp packets so that
holding back ACKs will slow down the incoming stream after about two
packets or so. Additionally, it is possible to send icmp source quench
packets to try to slow down external sources.  I don't know that these
mechanisms will work very well, though.

I would be interested to hear other ideas on the subject.

Charles Mott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.971126182039.27657A-100000>