[freenet-dev] Major problem with linux/java: We need an external daemon?
Florent Daignière
nextgens at freenetproject.org
Wed Feb 20 10:54:33 UTC 2008
* 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: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://emu.freenetproject.org/pipermail/devl/attachments/20080220/2d1e5335/attachment.pgp
More information about the Devl
mailing list