On Thu, Nov 30, 2000 at 08:47:49AM -0600, Ray Bryant wrote:
> The IBM implementations of the Java language use native threads --
> the result is that every time you do a Java thread creation, you
> end up with a new cloned process.  Now this should be pretty fast,

Well, I think the problem is that it is *too* fast.  :-/  What I think
happens is that a lot of threads get created at the same time, and they
all run a bit of initialization code.  This way a lot of processes are in
the running state, so that the load average gets *very* high, which makes
the system very unresponsive.

Could this be correct ?  Also, I haven't seen this happen with NT.  Could
it be that Java on NT uses user-mode threading and creates threads much
more slowly, resulting in a lower load ?

> so I am surprised that it stalls like that.  It is possible this
> is a scheduler effect.  Do you have a program example you can
> share with us?

So I suppose it is a scheduler effect.  Can this be solved on the kernel
side (a /proc/sys setting perhaps ?), or should a check be built-in into
the software that no more than a certain number of threads are created per
time unit ?

> Also, it is a little old now (by Internet standards) but you 
> might take a look at this paper we did at the beginning of 
> the year: 
>  
> http://www-4.ibm.com/software/developer/library/java2/index.html

I've already read this one.  I'll have to re-read it to freshen up my
memory.

                                                        Arnaud

-- 
Arnaud Installe                                         <[EMAIL PROTECTED]>

Absence is to love what wind is to fire.  It extinguishes the small,
it enkindles the great.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to