From: David Leong <dleong@its-gipps1.cc.monash.edu.au>
Newsgroups: comp.parallel
Subject: PVM Performance on SGI Power Challenge
Date: 14 Dec 1998 20:04:39 GMT
Organization: Monash Uni
Approved: bigrigg@cs.cmu.edu
Message-Id: <753r0n$smi$1@encore.ece.cmu.edu>
Originator: bigrigg@ece.cmu.edu


Dear all,

Hi, Good day. I like to consult you on the performance of PVM running on
SGI Power Challenge, and also request your expert advice and comments on
the outcome I'm getting.

I have written a simple matrix multiplication program to run on SGI
Power Challenge using PVM. It is a master-slave model in which the
master would read [A] and [B] matrices from the input file and broadcast
it to all slaves. The slaves would in turn perform portion of the matrix
multiplication (depending on the number of slaves, each slave perform
(nrow / nproc) of calculation). After each multiplication is done, the
slave would send the calculated element back to master. Finally, the
master program would store the [C] matrix on an output file.

The reason I choose PVM for parallel programming is to shorten my
processing time for very large calculations, hopefully about two to
three times faster than job done by single processor. In this case, it
takes about 3 minutes to complete the matrix multiplication of 500 x 500
matrices without PVM. However when using PVM, it require 30 - 40 minutes
to get the job done. The speed-up (single processing time / parallel
processing time) is 0.38, which is about 3 times slower than job done on
single processor.

The following questions I like to ask you are:
1. What could the possible reasons that causes the slows down of PVM
performance?

2. Is there any possible remedy?

3. I have tried to spawn 2 slaves on a single architect (multiprocessors
machine) using the routine,
 pvm_spawn(slavename, (char**)0, 2, "SGI64", nproc, tids);
Is it true that 2 slaves are created, each would be able to run on
individual CPUs on a multiprocessor environment?

4. When more slaves are spawns in PVM, say...4 slaves, the speed-up
should get better because more CPUs are used and less calculations are
done by each slave. But the processing time I'm getting is even slower
than that of two slaves. I'm wondering why is it so?

5. Finally, When a large job (1000 X 1000 matrix size) is calculate. The
PVM daemon (pvmd) would kill itself after one hour of computing without
getting results. Is there a limitation on PVM for large size
computation?

Your help will be fully appreciated. Thank you very much.

David Leong

--
Articles to bigrigg+parallel@cs.cmu.edu (Admin: bigrigg@cs.cmu.edu)
Archive: http://www.hensa.ac.uk/parallel/internet/usenet/comp.parallel

