Newsgroups: comp.parallel.pvm
From: menchiar@di.unipi.it (Nicola Menchiari)
Subject: Questions on communication times
Organization: Dipartimento di Informatica, Universita' di Pisa
Date: 6 Jun 1994 08:42:52 GMT
Message-ID: <2sunic$h6f@serra.unipi.it>


We implemented a program in C-code which simulates a pharmacokinetic model.
The mathematical problem consist in the solution of a system composed of 38
differential equations with a 5th order predictor-corrector method with
variable step size.

We divided the program into two tasks which communicate through PVM. At every
step of the method, the two tasks exchange two messages: one for
predicted and the other for correct values.

We tested the program for the first 13865 steps of the method reaching a total
of 27741 message exchanged (the initialization included).

The system that we used is composed of two SUN 4 workstations interconnected
by way of an ethernet network (10 Mbit/s).

The lenght of the exchanged messages is 92 bytes from task 0 to task 1 and
12 bytes from task 1 to task 0. The average times of running which resulted
from the tests are 58 seconds with an unloaded or lightly loaded network.
The sequential version of the program to resolve the same problem gave running
times of approximately 10 seconds. The sequential program therefore is about
six times quicker than the parallel one.

Because of the fine granularity of the program (of about hundreds floating 
points operations between two subsequent message exchanges), we did not expect
a rich profit from the execution of the parallel version, but the result is
far worst than what we expected.

Considering that the cost of a communication can be given by 

  t = l + 2*o      
 
with l = latency or delay incurred in communicating a message on the network, 
     o = overhead, defined as the length of time that a processor is engaged 
         in the trasmission or reception of each message,

we estimated, considering the characteristics of the network and the running 
times of the program,  
			
  l ~= 0.5 ms
  o ~= 0.6 ms .

We would like to know if from other tests similar communication times result,
in particular concerning the overhead o.

Moreover, we will be grateful to everyone who could suggest us a method to
reduce the cost of the communications. Notice that in our program we used the
pvm_advise() to establish direct task-to-task links.
					
					Yours thankfully,
 	
					   Nicola Menchiari	
					   Luciano Di Beo .	

----------------

e-mail: menchiar@di.unipi.it





