* Matthew Toseland <[EMAIL PROTECTED]> [2008-02-08 23:34:52]:

> On Linux, during CPU intensive node activities - resuming requests, decoding 
> or encoding a large splitfile etc - the threads that do the core of Freenet's 
> work (the packet sender and packet receiver threads, request senders etc), 
> get starved of CPU by the CPU-intensive threads doing the FEC decoding (etc). 
> The result is the node is dramatically slowed down and stops accepting 
> requests because of this (we use the average round trip time for a message as 
> effectively a measure of system load). It takes a while to recover afterwards 
> because we use an averager to smooth it out.
> 
> In theory this shouldn't happen, because we set thread priorities: 
> MAX_PRIORITY for important stuff, MIN_PRIORITY for FEC decodes etc.
> 
> Unfortunately, while thread priorities are used on Windows, they are *not* 
> used on Linux. Linux only supports thread priorities for realtime threads. 
> Practically if you run two java threads on a single core system one with MAX 
> and one with MIN priority, both will get the same amount of cpu time on 
> average. We have tested this.
> 
> Further, the fairness features in the scheduler in 2.6.23 don't seem to help 
> matters very much.
> 

For the records a workaround has been implemented around r17909 (build
1112, -ext #19)

NextGen$

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Devl mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to