pvm_shmd man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

PVM_SHMD(1PVM)			PVM Version 3.4			PVM_SHMD(1PVM)

NAME
       pvm_shmd - PVM shared memory (2) daemon

SYNOPSIS
       pvm_shmd [ -options ] [ hostfile ]

DESCRIPTION
       Pvm_shmd	 is  a daemon process which maintains and handles the usage of
       shared memory resources (memory segments, semaphores,  message  queues)
       on a particular PVM host.  One pvm_shmd must run on each host in a vir‐
       tual machine that wants to use the shmd shared memory  message  passing
       layer.  The shmd message passing layer allows local processes to a host
       to use shared memory for message passing on that	 host  ONLY.  See  the
       shmd directory README for further notes and restrictions.

       The  daemon  can	 be started manually as with any other PVM task.  Only
       one pvm_shmd can be active per host. If the  pvm_shmd  detects  another
       pvm_shmd it will shutdown.

       The pvm_shmd can be killed from the PVM console by using the reset com‐
       mand.  Local and remote pvm_shmds can also be started from the PVM con‐
       sole program pvm.

       The name of the daemon executable is pvm_shmd.

Shared Resource Usage
       The  pvm_shmd will attempt to create upto MAXSEG shared memory segments
       of upto MAXPAGES memory pages in size. The size of each memory page  is
       architecture  dependent(see  getpagesize(3C)).	The  segments are then
       numbered 0..N-1 where N is the number of segments created.   The	 first
       segement	 (0)  has  the	shared	memory control structure placed in its
       head. This structure allows alien processes to located the other shared
       memory segments and any required controlling information.

       The  message  passing layer, allocates memory from these segments asyn‐
       chronously without any interaction with the pvm_shmd  using  semaphores
       to  protect data during updates to any associated structures.  For each
       segment there is an associated page map of which	 processes  have  cur‐
       rently  locked a page. Each page map for a segment has a separate sema‐
       phore protecting it. The semaphores are accessed with the SEM_UNDO flag
       set  so	that  if  a  process  holding  a  semaphore should die, the OS
       (should) reset the semaphore automatically,  thus  allowing  any	 wait‐
       ing/blocked processes to continue.

       The  pvm_shmd  only  maintains  the  segments and their allocation page
       map(s).	Thus if a process allocated pages in a segment and then exits,
       it  is  the  pvm_shmd  that  detects  this and then frees the allocated
       pages.

       The pvm_shmd can have its status checked	 at  any  time	by  using  the
       pvm_shmd_stat  process  to  kick it into reporting onto either stdio or
       the pvm log file (pvml.uid) its internal state.

       The shared memory and all associated processes can be cleared by	 send‐
       ing the pvm_shmd a HUP signal.

       Sending	the  pvm_shmd  a  TERM	signal will just cause it to clear any
       shared resources and then exit.

       The pvm_shmd cannot catch the KILL signal.

       If the pvm_shmd is killed without clearing all of its shared  resources
       these  can  be cleared by calling ipcfree which resides in the pvm3/lib
       directory.

Message Passing using SHMD
       The pvm_shmd handles resources that are used  by	 special  versions  of
       pvm_psend() and pvm_precv() stored in the libpvmshmd.a library. Thus to
       use these facilities, applications have to link to this library instead
       of the usual libpvm3.a library.

OPTIONS
       The  following options may be specified on the command line when start‐
       ing the pvm_shmd:

       -debug=level
	       Sets the pvm_shmd debug level.  Used to debug the  pvm_shmd  or
	       libpvmshmd  (not	 intended to be used to debug application pro‐
	       grams).

       -maxsegs=maxsegs
	       Sets the maximum number of segments that the pvm_shmd can  cre‐
	       ate.  This  is  used  to	 over-ride  the compiled in value from
	       shmd.h. Note that the value cannot be above the MAXSEGS in  the
	       shmd.h file.

       -maxpages=maxpages
	       Sets the maximum segment size to maxpages pages of memory. This
	       value cannot be above the compiled value MAXPAGES in shmd.h  or
	       the actual OS defined limit.

NOTES
       Remember	 that  pvm_shmd	 allocated memory from the VM available on the
       machine. Allocating more segements improves  performance	 as  there  is
       less sharing of segments (semaphores for their page maps). Although you
       must remember to leave some memory available for normal program and  OS
       system  usage, as the pvm_shmd allocated memory is *ONLY* used for mes‐
       sage passing.

FILES
	 $PVM_ROOT/lib/$PVM_ARCH/pvm_shmd PVM shared memory daemon executable
	 $PVM_ROOT/shmd/shmd.h Shared Memory hard limits header file
	 /tmp/pvml.uid Pvmd runtime error log

SEE ALSO
       pvm(1PVM), pvmd(1PVM), getpagesize(3C), ipcs(1), msgctl(2),  semctl(2),
       shmctl(2), signal(5)

G.E.Fagg			11 March, 1999			PVM_SHMD(1PVM)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net