Newsgroups: comp.parallel.pvm
From: gme@sys.uea.ac.uk (G. Evans)
Subject: Re: Shared memory comm. on HP machines, possible?
Organization: University of East Anglia
Date: Fri, 24 Jun 1994 11:16:24 GMT
Message-ID: <CrwFBD.4w@sys.uea.ac.uk>

In article <2uc4n3INN31l@duncan.cs.utk.edu>, hzhou@cs.utk.edu (Honbo Zhou) writes:
|> In article <sphruksa.23.00129ACF@galaxy.csc.calpoly.edu> sphruksa@galaxy.csc.calpoly.edu (Suwat Phruksawan) writes:
|> >Hi,
|> >       Is there any way to make the local (same host) communications between 
|> >tasks use shared memory on the HP machines (or any machines that support 
|> >shared memory)?
|> >
|> >	stuff deleted..

|> I have implemented a shared memory bewteen pvmd and local tasks (over uniprocessor
|> shared memory) based on PVM3.3b.
|> 
|> Unfortunately, I measured no performance gain. So it is never releasd. Many
|> people suggested the reason being expensive context switch even you don't
|> use the even more expensive semaphore...
|> 
|> I would like to know the reason you want to run two PVM tasks on uniproceesor.
|> 
|> If there are enough intersts, we may consider to do it.
|> 


In my PVM application I use two processes on each machine. One is a communication handler, the other the actual worker.

This decision was based on the application's fairly infrequent and undeterministic communication patterns. A combined communication handler and worker must repeatedly check for incoming messages and if any arrive, deal with them appropriately. The undesirable situation occurs when no messages have arrived. In this case computation is needlessly interrupted while a check on message queues is made.

It would be possible to provide a time delay on checking for incoming messages. This has the advantage of allowing the worker to complete more computation but the risk of not dealing immediately with possibly important messages.

Of course, active messages should eliminate this need for a split.

In my application I need to pass large messages between the processes on the same machine. I had intended to achieve this via shared memory. Would no performance gain even be available for larger messages?

Gareth.

