This is relevent only to Linux users, and probably only to fairly advanced ones at that.
So Zab and I have been trying to find a way to run Freenet with NPTL for some time now, because there are big performance and ease of use benefits in doing this. Unfortunately Sun's JVMs have proven completely unreliable (ok well they reliably crash) when used intensively with NPTL. Today the discussion turned to IBM's JDK, Zab thought it was only at version 1.4.0, which would be insufficient for Freenet's needs, but upon investigation, it turned out to be on 1.4.1. Zab and I both promptly downloaded it, and switched over to NPTL mode with the IBM JDK, and to our surprise, it works! The performance isn't as stunning as Sun's JVM with NPTL off the bat, but once IBM's Just In Time compiler has a chance to do it's work, performance is _great_ and it doesn't crash even after extended periods running with NPTL. Other things to note about the IBM JDK: As the JIT compiler does it's work, debugging symbols are stripped from the code, this means that call traces after long uptimes will no longer contain line numbers of references. This means that the IBM JDK should only be used on 'stable' nodes, not those from which bug reports will regularly be submitted. Also, there seems to be a noticible performance 'glitch' when the IBM JDK does it's garbage collection routine (for me, this consists of 2 seconds out of every 10 pegging the CPU and reducing BW usage to nil). Despite this, my extremely loaded node is performing very well, and serviced 45k requests (out of 76k) during it's first full hour on IBM + NPTL. For those who are not familiar, NPTL is Native Posix Threading Library, and is designed to use the new Futex support in linux-2.6 and a patched glibc to impliment _fast_ userspace threading. Using NPTL, the JVM will only appear as one process in top or ps output which can be quite convenient. To try out NPTL with the IBM JDK for yourself, first obviously install the IBM JDK which can be downloaded from https://www6.software.ibm.com/dl/lxdk/lxdk-p then (get|install|check if you have a) NPTL enabled kernel, these include any 2.6.0 kernel, or RedHat's latest kernels. Then install the NPTL libraries (generally part of your glibc package), and finally remove the "LD_ASSUME_KERNEL" line from your start-freenet.sh script (or whatever script you use to start freenet). Happy NPTLing! --Brandon _______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl
