[Beowulf] Newbie Question

Mark Westwood mark.westwood at ohmsurveys.com
Mon Feb 7 06:39:42 PST 2005

Hi Monang

Here's my contribution to your decision about which language you program 
in for your cluster:

Suppose that you know Java well, but not C.  Suppose that it will take 
you 6 months to learn C well enough to be able to write your programs in 
it.  In those 6 months you can do an awful lot of computing in Java.  If 
your project is intended to last, say, 9 months, then you might decide 
that you will program in Java because you will get more computing done 
that way than by learning a new language.

If your project will last much longer then you might decide that 
learning C will be of benefit, because each program will be faster in C 
than in Java.  If you're doing some calculations then I'd suggest that 
you allow C to be 5 times faster than Java on average for cluster-type 
computing.  Some will tell you that it is more than 10 times as fast 
(and it is for some types of computation), others that it is no faster 
(which is true for some types of computation).

Another issue (or problem if you look at things that way ) with Java is 
that the implementations of MPI for Java are non-standard and not as 
widely used as the implementations for C.  You might find it difficult, 
therefore, to get good support from groups such as this one, for a Java 
/ MPI program.

To sum up:

If you can write good Java programs to solve your problems on your 
cluster then you should prefer that to writing bad C (or Fortran) 
programs.  If you find that your Java program is not fast enough then 
you might think about rewriting parts of it in C (or another compiled 
language) to achieve specific performance improvements.

Hope this helps


Monang Setyawan wrote:
> Hi. I'm a newbie in this parallel computing thing. 
> (sorry for my bad english, I'm Indonesian)
> My current project is a software that analyze DNA/Protein sequence
> data that needs high performance aspect on it. I plan to deploy this
> software on network of workstations (mm, may be just about 10 PCs on
> the network). Am I in wrong place now?
> I am going to use message passing paradigm (MPI) to write the
> software. I've read that there are several choice of MPI
> implementation. The problem is, I'm bad in both C or Fortran (I
> usually use Java as my favorite language). Some source said that Java
> (or it's MPI wrapper or pure MPI implementation) isn't good enough to
> implement a parallel computing solution. Is that right?
> My third question is, is there any pdf/ps/one file version of
> "Engineering a Beowulf-style Compute Cluster''?
> Thanks in advance.

Mark Westwood
Parallel Programmer
The Technology Centre
Offshore Technology Park
Claymore Drive
AB23 8GD
United Kingdom

+44 (0)870 429 6586

More information about the Beowulf mailing list