Newsgroups: comp.parallel.pvm
From: subraman@cs.iastate.edu (Krishnan Subramaniam)
Subject: Re: Is PVM Thread Safe?
Organization: Iowa State University, Ames, Iowa
Date: 18 Jun 95 05:09:53 GMT
Message-ID: <subraman.803452193@shazam.cs.iastate.edu>

zhou@isis.epm.ornl.gov (Honbo Zhou) writes:

>: You're correct - PVM 3.3.7 is (most likely) not thread-safe.  However, there

>Yes, PVM is NOT thread safe. There are lots of "extern" (global) variables
>in the PVM source which makes PVM thread-unsafe. Another (important) point 
>is that PVM can not spawn a thread (based task). When a thread is spawned,
>it shares the same address space with the spawning process (or thread in 
>that process). In PVM, a task is normally spawned by PVMD which is a 
>DIFFERENT process from the USER process, so a thread based PVM task can
>not be spawned by the current version of PVM... 
> 
>I have written a PVM based on SMP threads (Solaris or AIX 4.1 threads, 
>etc.). In this new PVM package (called TSPVM, Thread based PVM for SMP),
>a PVM task is a thread instead of a process. Since TSPVM is based on
>SMP threads, PVM has been modified to be mt-safe. If you are interested,
>please let me know.

>Honbo 

I've also modified PVM to "become" thread safe but it is very inefficient
as there are a lot of "critical" regions specially in the buffer alloc
area and in the message buffer handling so I'm interested to see how
you've modified PVM. 
	With my version you do occasionally get out of memory in
fr_new when you have more than 7 task - task connections but havent had
time to delve into that yet.
	So if you do have the code in a shar package please do mail
it direct if possible or let me know of the ftp site etc.

Thanks,
Krishnan.
--
Krishnan R Subramaniam
Voice Mail : 515 - 296 4209.
Email	   : subraman@cs.iastate.edu   
HTML  	   : http://www.public.iastate.edu/~rsk/

