[Click] CPU scheduling -> make elements interruptable.

Egi, Norbert n.egi at lancaster.ac.uk
Thu Jun 28 13:22:11 EDT 2007


Hi,
 
We are using Click for desinging a shared forwarding engine with separate forwarding paths (chain of elements) per customer. The customers share all the NICs, so after the packets are polled out from the NIC's queue a Classifier demultiplexes them by emitting them to the proper forwarding path. Our intention is to provide a fair CPU scheduling for each of the forwarding paths. The stride scheduling algorithm, implemented in Click, would be a perfect solution for our problem, but after checking the source code and the available documents I found out that the algorithm hasn't been implemented completely as it was proposed. If I understand it correctly from the source and its comments, there is no such thing like "quantums" (i.e. a discrete time slice when the scheduled task is entitled to use the CPU) and I guess that's the main reason while the operation of the elements can not be interrupted.
 
In the first comment of lib/task.cc it's mentioned that this may be addressed in the future, so I was wondering whether anyone is working on it and I may jump in and help or just could someone provide information on how to make elements interruptable the fastest way extending the current version of the code.
 
Regards,
Norbert



More information about the click mailing list