[Click] CPU scheduling -> make elements interruptable.

Eddie Kohler kohler at cs.ucla.edu
Wed Aug 29 14:02:12 EDT 2007


> I don't think this would be easy 
> to do, as I don't think the executing threads (RouterThread) are 
> designed to be interrupted.

Exactly right, thanks Roman.
E

> 
> Hopefully Eddie will shine more light on this.
> 
> Roman
> 
> Egi, Norbert wrote:
>> 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
>>
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list