[MUD-Dev] Re: OT: Java multithreading test source

Jon A. Lambert jlsysinc at ix.netcom.com
Sun May 24 17:25:24 New Zealand Standard Time 1998

On 22 May 98, Jon A. Lambert wrote:
> Here are my results in graphic format running Vadim's Java thread 
> test program. 
> The machine was running Win95 on a Pentium II at 300mhz with 64mb of 
> memory.
> The MS test was run using the latest VM supplied with IE 4.01 with 
> the JIT enabled.  It was run from JView supplied with Visual J++ 1.1.
> The Sun test was run using the 1.1.6 JDK with the Symantec JIT 
> enabled.

Here are some more results courtesy of Vadim.  I've thrown out more
results on the Y-axis to make a readible and pretty picture without 
resorting to providing a variable scale on the Y axis.  (I always 
disliked reading those.)

--forward from Vadim Tkachenko --
  Operating conditions:


  P233, 64M RAM, 128M swap, all the processes I run usually, among
  others are X-Window, 6 open Netscape windows, Apache web server, 
  Squid cache, sendmail, 4 open Xterms, so, as a bottomline, no 
  special priviledged testing conditions.

  The test has stopped to respond after the last log message for 
  about 10 minutes, so I killed it. Once again, no significant impact 
  on the average response time for every other application.


  I have no clue about the hardware configuration at all. As in the
  first case, this is a full-fledged server doing something 
  completely independent of the test (DNS, sendmail, dozen of web 
  servers, Samba, etc.). But, there may be some good in just 
  gathering the dynamics stats - like, it's clear that on the higher 
  number of threads MS JVM is worse than Sun's.
--end forward--
> My thoughts:
> Vadim ran out of processor before running out of memory at 128mb.
> I ran out of memory before I ran out of processor at 64mb.

Some further thoughts: 

I reran the test on Win95 doing some very bad things like 
pre-allocating a 1 Gig swap partition.  Oddly enough, both VMs failed
around the same number of threads 1500+ because of out of memory 
conditions.  This is probably an implementation limitation.  Thread 
related data and stacks may in fact be allocated from global heap and 
marked as non-swappable instead of from local heap.  Threads on Linux 
are done quite differently and may not be distinguished from other 
application memory.  

I would like to see some data from a 300mhz 64mb Linux machine.  I'm 
trying to install such a beast on a spare drive.  I'm encountering 
some difficulties in hardware detection of my cards.  

After doing some tests with a web server, two muds and several copies 
of Netscape and IE running, I've determined that 800 threads is the 
"usable" maximum on the Win95 machine, before stuff starts hitting 
the fan.  500 threads seems to be a more reasonable point where the 
lag is still within 10 ms and there's ample CPU left over for other
important tasks.

This is probably way off topic.
--/*\ Jon A. Lambert - TychoMUD     Internet:jlsysinc at ix.netcom.com /*\--
--/*\ Mud Server Developer's Page <http://www.netcom.com/~jlsysinc> /*\--
--/*\   "Everything that deceives may be said to enchant" - Plato   /*\--

More information about the MUD-Dev mailing list