Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pvm_notify(3pvm) [debian man page]

NOTIFY(3PVM)							  PVM Version 3.4						      NOTIFY(3PVM)

NAME
pvm_notify - Request notification of PVM event such as host failure. SYNOPSIS
C int info = pvm_notify( int what, int msgtag, int cnt, int *tids ) Fortran call pvmfnotify( what, msgtag, cnt, tids, info ) PARAMETERS
what Type of event to trigger the notification. Presently one of: Value Meaning PvmTaskExit Task exits or is killed PvmHostDelete Host is deleted or crashes PvmHostAdd New host is added msgtag Message tag to be used in notification. cnt For PvmTaskExit and PvmHostDelete, specifies the length of the tids array. For PvmHostAdd, specifies the number of times to notify. tids For PvmTaskExit and PvmHostDelete, an array of length cnt of task or pvmd TIDs to be notified about. The array is not used with the PvmHostAdd option. info Integer status code returned by the routine. Values less than zero indicate an error. DESCRIPTION
The routine pvm_notify requests PVM to notify the caller on detecting certain events. One or more notify messages (see below) are sent by PVM back to the calling task. The messages have tag msgtag supplied to notify. The notification messages have the following format: PvmTaskExit One notify message for each TID requested. The message body contains a single TID of exited task. PvmHostDelete One notify message for each TID requested. The message body contains a single pvmd-TID of exited pvmd. PvmHostAdd cnt notify messages are sent, one each time the local pvmd's host table is updated. The message body contains an integer length followed by a list of pvmd-TIDs of new pvmds. The counter of PvmHostAdd messages yet to be sent is replaced by successive calls to pvm_notify. Specifying a cnt of -1 turns on PvmHostAdd messages until a future notify; a count of zero disables them. TIDs in the notify messages are packed as integers. The calling task is responsible for receiving messages with the specified tag and taking appropriate action. Future versions of PVM may expand the list of available notification events. EXAMPLES
C: info = pvm_notify( PvmTaskExit, 9999, ntask, tids ); Fortran: CALL PVMFNOTIFY( PVMHOSTDELETE, 1111, NUMHOSTS, DTIDS, INFO ) To "cancel" a notify request in PVM, the pvm_notify routine can be re-invoked with an additional PvmNotifyCancel flag in the what argument. The remaining arguments to this cancelling invocation must match the original invocation exactly, aside from the additional PvmNotifyCancel which can be added(+) or OR-ed(|) to the what argument: pvm_notify( PvmTaskExit, 9999, ntask, tids ); . . . pvm_notify( PvmTaskExit | PvmNotifyCancel, 9999, ntask, tids ); Note that when a notify is cancelled, the notify message is delivered, as if the given event (i.e. task exit, host add or delete) had occurred. ERRORS
PvmSysErr pvmd not responding. PvmBadParam giving an invalid argument value. SEE ALSO
pvm_tasks(3PVM), pvm_config(3PVM) 31 January, 1994 NOTIFY(3PVM)

Check Out this Related Man Page

MCAST(3PVM)							  PVM Version 3.4						       MCAST(3PVM)

NAME
pvm_mcast - Multicasts the data in the active message buffer to a set of tasks. SYNOPSIS
C int info = pvm_mcast( int *tids, int ntask, int msgtag ) Fortran call pvmfmcast( ntask, tids, msgtag, info ) PARAMETERS
ntask Integer specifying the number of tasks to be sent to. tids Integer array of length ntask containing the task IDs of the tasks to be sent to. msgtag Integer message tag supplied by the user. msgtag should be >= 0. It allows the user's program to distinguish between different kinds of messages . info Integer status code returned by the routine. Values less than zero indicate an error. DESCRIPTION
The routine pvm_mcast multicasts a message stored in the active send buffer to ntask tasks specified in the tids array. The message is not sent to the caller even if listed in the array of tids. The content of the message can be distinguished by msgtag. If pvm_mcast is suc- cessful, info will be 0. If some error occurs then info will be < 0. The receiving processes can call either pvm_recv or pvm_nrecv to receive their copy of the multicast. pvm_mcast is asynchronous and based on a minimum spanning tree algorithm between the pvmds. Computation on the sending processor resumes as soon as the message is safely on its way to the receiving processors. This is in contrast to synchronous communication, during which computation on the sending processor halts until the matching receive is executed by the receiving processor. pvm_mcast first determines which other pvmds contain the specified tasks. Then passes the message to these pvmds which in turn distribute the message to their local tasks without further network traffic. Multicasting is not supported by most multiprocessor vendors. Typically their native calls only support broadcasting to {m all the user's processes on a multiprocessor. Because of this omission, pvm_mcast may not be an efficient communication method on some multiprocessors except in the special case of broadcasting to all PVM processes. EXAMPLES
C: info = pvm_initsend( PvmDataRaw ); info = pvm_pkint( array, 10, 1 ); msgtag = 5 ; info = pvm_mcast( tids, ntask, msgtag ); Fortran: CALL PVMFINITSEND(PVMDEFAULT) CALL PVMFPACK( REAL4, DATA, 100, 1, INFO ) CALL PVMFMCAST( NPROC, TIDS, 5, INFO ) ERRORS
These error conditions can be returned by pvm_mcast PvmBadParam giving a msgtag < 0. PvmSysErr pvmd not responding. PvmNoBuf no send buffer. SEE ALSO
pvm_psend(3PVM), pvm_recv(3PVM), pvm_send(3PVM) 30 August, 1993 MCAST(3PVM)
Man Page