* Matthew Toseland <toad at amphibian.dyndns.org> [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$ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20080220/2d1e5335/attachment.pgp>
