On Thu, Nov 13, 2003 at 11:46:29PM -0600, Brandon Low wrote: > 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.
Actually it's not userspace. It's done in the kernel, but as per POSIX, it schedules the threads within the parent process's timeslice, and only uses one PID. But I'm a pedant. > > 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 -- Matthew J Toseland - [EMAIL PROTECTED] Freenet Project Official Codemonkey - http://freenetproject.org/ ICTHUS - Nothing is impossible. Our Boss says so.
signature.asc
Description: Digital signature
_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl