> On 20 Jul, 2018, at 5:47 pm, Luca Muscariello <luca.muscarie...@gmail.com> 
> wrote:
> 
> and C) you can implement any packet scheduler using a timing wheel using 
> virtual times.

To do this perfectly, you have to assume that no packets will arrive within 
your scheduling horizon which should be scheduled within that horizon.

An example of such a situation would be sparse flows in DRR++, which is a key 
part of fq_codel and Cake.  So to implement DRR++ using timing wheels, you have 
to choose your scheduling horizon carefully so as to minimise the delay to 
sparse packets.

Given that task scheduling latency in Linux is on the order of 1ms, a horizon 
of this magnitude could be acceptable.  But dedicated hardware could do better 
still.

 - Jonathan Morton

_______________________________________________
Bloat mailing list
Bloat@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to