Newsgroups: comp.parallel.pvm
From: Peter Schaefer <schaefer>
Subject: Re: Messages get lost
Organization: Leibniz-Rechenzentrum, Muenchen (Germany)
Date: 15 Apr 1996 14:47:03 GMT
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <4ktnh7$bl4@sparcserver.lrz-muenchen.de>

Chet Vora <chet@brc.uconn.edu> wrote:
>Hi everyone,
>
>I have a MD simulation application where a slave task exchanges info
>with its 8 neighbours (in 2 Dimensions). I am using PVM3.3.10 over a
>Solaris2.4 cluster of SparcLXs. In the program, I have a setup of  this
>kind:
>[CONFIG 1]:
>--------------------------------------------------
>for (i=1 to no_neighbours)
>	{
>	pvm_initsend(PvmDataDefault);
>	pvm_pkint(&data,size,1);/*size is some fixed no. for all sends*/
>	pvm_send(neighbour_taskid[i],MSG);
>	}
>for (i=1 to no_neighbours)
>	{
>	pvm_recv(neighbour_taskid[i], MSG);
>	pvm_upkint(recvbuf,size,1);
>	print...
>	}
>---------------------------------------------------
>...which works.But if I change this setup to 
>
>[CONFIG 2]:
>for (i=1 to no_neighbours)
>	{
>	pvm_initsend(PvmDataDefault);
>	pvm_pkint(&data,size,1);
>	pvm_send(neighbour_taskid[i],MSG);
>	pvm_recv(neighbour_taskid[i], MSG);
>	pvm_upkint(recvbuf,size,1);
>	print...
>	}
>---------------------------------------------------
>... all of a sudden, messages seem to get lost and all tasks hang
>( it seems as if they are waiting for the recv which is never going to 
>occur).
>
>Is this normal ??
>

Yes, I think. Normal deadlock.
try:
for (i=0 to 8)
 if( i!=4 )	
       {
	pvm_initsend(PvmDataDefault);
	pvm_pkint(&data,size,1);
	pvm_send(neighbour_taskid[i],MSG);
	pvm_recv(neighbour_taskid[8-i], MSG);
	pvm_upkint(recvbuf,size,1);
	print...
       }



-- 
Peter Schaefer

"office":
schaefer@malaga.math.uni-augsburg.de
http://wwwhoppe.math.uni-augsburg.de/schaefer

"leisure":
schaefer@mathpool.uni-augsburg.de     
http://www.mathpool.uni-augsburg.de/~schaefer

Chant this Mantra 1024 times a day 
to become a happy usenet user:

 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee
 Deedledee Deedledee Deedledee



