Beowulf And jvm

Donald Becker becker at
Fri Sep 12 06:55:43 EDT 2003

On Thu, 11 Sep 2003, Joseph Landman wrote:

>   Java uses shared memory threads.

...and it doesn't structure the sharing of information between

> It is unlikely that the beowulf architecture would be suitable for
> this.

There are Network Virtual Memory (*) systems that will emulate shared
memory using virtual memory page protections.  But they are very slow
unless you restructure your application to avoid page bounces, and when
you do that you end up with a system that is equivalent to doing message

(*) AKA DSM -- Distributed Shared Memory, but that name is also used for
hardware-based, per-word memory coherency) 

> However, if you spawn multiple
> processes and create some sort of IPC mechanism (MPI is but one known
> functional instance of this), you might be able to get some benefit out
> of running on multiple CPUs across multiple nodes.  If your threads are
> not latency sensitive, you could use a variety of IPC mechanisms.  

There are several Java-specific systems, such as JavaSpaces, that provide
communication libraries.  In general
   - You must still restructure the code
   - Support for low latency interconnects does not exist
   + They usually have a clean Java interface (vs. a MPI wrapper)

My impression from others (disclaimer: not being a Java programmer
myself), is that cluster Java applications are written with explicit
distributed layout.  Independent address spaces, which may be
multithreaded, are run on the nodes and communicate without using a
cluster-specific library. 

Donald Becker				becker at
Scyld Computing Corporation
914 Bay Ridge Road, Suite 220		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993

Beowulf mailing list, Beowulf at
To change your subscription (digest mode or unsubscribe) visit

More information about the Beowulf mailing list