On Fri, Feb 14, 2003 at 04:22:31PM -0800, John Neffenger wrote: > Further note to readers: I got past this 16,000 native thread limit by > specifying the "-green" user-level thread option to the Blackdown > virtual machine. So my 20,000 threads were all mapped onto one Linux > process (one Linux native thread).
That's nuts. :) > I'm eager to find out what kind of socket and thread limits we'll hit > when we test the Java 1.4 new I/O implementations on Windows, Solaris, > Linux, and FreeBSD. My guess is that it'll probably be limited by the OS itself. FreeBSD doesn't have KSEs just yet, which will limit their SMP scalability severely. They have kqueue which is heavier than Linux's epoll, but should give it a solid scalability advantage over most Unixes that only have select()/poll() even without strong SMP and threading. FreeBSD's libc_r pthread layer is pretty much a kind of green threading in that everything, context switching and conditional variable handling, is done in userspace. It's not going to scale well since it converts blocking IO calls into async wrapper that poll() manages. Nobody has done the work for converting that into a kqueue call. Read: http://www.aims.com.au/chris/kse/docbook Linux has new stuff in the works, in the form of their new threading model and epoll, that has yet to be integrated into HotSpot and I'd imagine that have likely impact on performance, context switching, etc... That needs to be taken into mind when writing the article. Safepointing performance might be problematic in a system like that. Don't know yet until it gets integrated. Don't know about Windows, they have an async IO facility and 1:1 threading. > Our next Volano Report will have results up to 10,000 connections using > the "old I/O" -- a place where, so far in our tests, only Blackdown and > BEA JRockit can go. There may be some options, that I just recently > discovered, which we can use to get Sun's HotSpot Server VM on Solaris > there, too: > > http://java.sun.com/docs/hotspot/PerformanceFAQ.html#5 > > Java and Solaris Threading > http://java.sun.com/docs/hotspot/threads/threads.html I'd imagine the limits of those two runtimes are limited by how well they take advantage of native OS facilities. If they're using legacy stuff like select(), then it'll hurt badly. If they take advantage of scalable OS facilities, well... :) bill ---------------------------------------------------------------------- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]