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.

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to