optimization for scyld environment

Vann H. Walke walkev at presearch.com
Wed Oct 30 05:26:34 PST 2002


Sashi,

I'd really suggest reading through some of the available documentation. 
At http://www.beowulf.org you can find some good (if getting a bit
dated) information.   Robert Brown's web page for the Duke University
"Brahma" cluster has quite a bit of information and links to other
sources:  http://www.phy.duke.edu/brahma/ .  And there are a number of
books available on building Beowulf / Linux clusters.  

Any of these sources will do a much better job discussing the design and
function of a Beowulf than I will here.  But, I'll do my best to provide
some quick answers...

On Wed, 2002-10-30 at 00:37, sashidhar wrote:
> Hi,
> I am new to linux cluster environments. Recently we have ported some C programs to a
> linux cluster of 3 nodes running the Red Hat Scyld OS. Currently, our programs do
> not employ any special parallel libraries like PVM or MPI. 
> 
> Does Scyld parallelize the programs by default, atleast upto some extent without
> using the specialized libraries? 

Scyld does not parallelize by default.  Scyld provides an integrated
distribution that has all the libraries and kernel modifications to
allow the writing and running of parallel programs easily.  It does not
parallelize for you.  I don't know of any system, Scyld or otherwise,
that will do an effective job of automatic parallelization.

To use the parallel capabilities of a Beowulf cluster you have two main
options:
a) start a normal serial job on multiple nodes with different arguments
/ inputs.  
b) design your program to take advantage of the parallel environment
(most commonly done with MPI or PVM).

An alternative system for running lots of serial jobs is Mosix.  Mosix
does what is sometimes called "fork and forget."  New processes are
automatically migrated onto slave nodes to run.  Note that this isn't
parallelization of an individual program.  It just provides an easier
method of doing (a).

> 
> Can I still use GCC -O / -O1 / -O2 .. flags to compile these files. Does this still
> increase the performance or does this have any side effects?

Sure.  Optimization flags will optimize, just don't expect to get any 
parallelization out of them.  The gcc used in Scyld is the same gcc used
in other environments.  Generally they flags "should" provide better
performance without side effects, but if you have some strange code
optimization can cause problems.  But, this is more of a compiler issue
which you should be able to find plenty of information on the web.

Good luck,
Vann 

Presearch, Inc.






More information about the Beowulf mailing list