On Sun, 20 Mar 2011, Jonathan Morton wrote:
I think we can come up with some simple empirical rules for choosing queue
sizes. I may be half-remembering something VJ wrote, but here's a starting
point:
0) Buffering more than 1 second of data is always unacceptable.
what about satellite links? my understanding is that the four round trips
to geosync orbit (request up, down, reply up down) result in approximatly
1 sec round trip.
David Lang
1) Measure (or estimate) the RTT of a full-sized packet over the exit link and
back, then add 100ms for typical Internet latency, calling this total T1. If
T1 is more than 500ms, clamp it to 500ms. Calculate T2 to be twice T1; this
will be at most 1000ms.
2) Measure (or estimate) the throughput BW of the exit link, in bytes per
second.
3) Calculate ideal queue length (in bytes) Q1 as T1 * BW, and the maximal queue
length Q2 as T2 * BW. These may optionally be rounded to the nearest multiple
of a whole packet size, if that is convenient for the hardware.
4) If the link quality is strongly time-varying, eg. mobile wireless,
recalculate Q1 and Q2 as above regularly.
5) If the link speed depends on the type of equipment at the other end, the
quality of cabling, or other similar factors, use the actual negotiated link
speed when calculating BW. When these factors change, recalculate as above.
I would take the "hysteresis limit" to be an empty queue for the above
algorithm.
- Jonathan
_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat
_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat