[comp.os.vms] Interprocess communication.

SUTTON@BRANDEIS.BITNET (03/14/88)

I don't guarantee that this will work because I haven't tried it.  This is
just a suggestion.  If you're running a command procedure in the child
process, you might be able to use the DCL commands, SET PROCESS/SUSPEND and
SET PROCESS/RESUME, on the parent process.  If you're trying to this from a
an image, you might want to look at section 8.5 of the system services manual,
which is about process hibernation and waking etc...

SUTTON@BRANDEIS.BITNET

rang%cps45x@CPSWH.CPS.MSU.EDU (Anton Rang) (03/16/88)

  *WARNING WARNING WARNING*

  VMS 4.x has some serious problems with suspend/resume.  In 99% of
the cases, you will have no problem.  In the other 1%, your entire
system may be effectively locked up.  Basically, if a process is doing
anything with a shared file (especially a system shared file like
SYSUAF or RIGHTSLIST) it is unsafe to suspend it.  Anything that
translates a user-id to a username will open RIGHTSLIST, for example.
  Depending on how much I/O you need to do, it might be possible to
use a prompting $QIO to handle it--the prompt can be almost
indefinitely long, I think.

					Anton Rang
					Graduate Student
					Michigan State University

Disclaimer: nobody else thinks the way I do

SJKAPUR@CCMAIL.SUNYSB.EDU (Sanjay Kapur) (06/25/88)

Yogesh Gupta asks :---

>From: voder!cullsj!gupta@ucbvax.Berkeley.edu
>Subject: Communication costs - cpu time and elapsed time.
>
>Hi VMS Gurus:
>    I have some questions regarding the performance of inter-process
>    communications under VMS:
>
>    1.  Does anyone have any numbers as to the cost (CPU and elapsed time)
>        of sending a message from one process to another on the SAME
>        machine?
>
-----------------------------
>
>-- 
>Yogesh Gupta			| If you think my company will let me
>Cullinet Software, Inc.		| speak for them, you must be joking.


The cost of sending a message from one process to another in VMS on the
same machine depends on the technique used.

Interprocess communication in VMS can be accomplished by many methods.
Some of these methods are described below.  CPU and elapsed time vary widely.

1. Global sections.  No communications delay. Requires cooperation of the
two programs.  Requires privileges if a permanent global section 
is needed.  Not very difficult to implement but works best in conjunction
with locks or flags.

2. Locks.  Requires cooperation of the two programs and may require privileges.
Works over a VAXCluster

3. Mailboxes.  Requires less cooperation among processes.  Requires 
the TMPMBX or PRMMBX privilege depending on needs.  

4. Event Flags.  Does not require privilege to set a temporary event flag 
cluster.  Permanent cluster require PRMCEB privilege.

5. Logical Names.  Requires privileges to set up group or system wide logicals.
Can be controlled by ACLs.

6. Files.  Easy to use. VERY slow.  

7. DECNET task to task communications.  Easy to use, works over DECNET, 
requires NETMBX privilege.  

Other networking protocols, e.g. TCP/IP can also be used in place of DECNET.

For more information, read pages 8-9 and 8-10 of the VAX/VMS System Services 
Reference Manual. (order no AA-Z501C-TE)


Sanjay Kapur

Computing Center,
State University Of New York at Stony Brook, NY 11794.

skapur@ccmail.sunysb.edu
skapur@sbccmail.bitnet


Disclaimer:-- My employer does not always agree with my views.