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]

Reply via email to