[Cake] [Make-wifi-fast] Van Jacobson's slides on timing wheels at netdevconf

Jonathan Morton chromatix99 at gmail.com
Sat Jul 21 10:38:22 EDT 2018

> On 20 Jul, 2018, at 5:47 pm, Luca Muscariello <luca.muscariello at 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

More information about the Cake mailing list