The Queen's University of Belfast

Parallel Computer Centre
[Next] [Previous] [Top]
PVM Components and Terminology
System components
- pvmd3 daemon
- Runs on each host
- Provides inter-host point of contact
- Provides authentication of tasks
- Executes processes on host
- Provides fault tolerance
- Message routing and source and sink for messages
- libpvm programming library
- Contains the message passing routines and is linked to each application component
- application components
- User's programs, containing message passing calls, which are executed as PVM tasks
PVM Terminology
- Host
- A physical machine such as a workstation
- Virtual Machine
- A combination of hosts running as a single concurrent resource
- Process
- A program, data, stack, etc such as a Unix process or node program
- Task
- A PVM process - the smallest unit of computation
- TID
- A unique identifier, within the virtual machine, which is associated with each task
- Message
- An ordered list of data to be sent between tasks
Message Passing
Send and receive
- Sending a message is a 3 step process
- Initialize a buffer using the pvmfinitsend function
- Pack the data into the buffer using pvmfpack
- Send the contents of the buffer to another process using pvmfsend or to a number of processes (multi-cast) using pvmfmcast
- Receiving a message is a 2 step process
- Call the blocking routine pvmfrecv or the non-blocking routine pvmfnrecv
- Unpack the message using pvmfunpack
Message Buffers
- PVM permits a user to manage multiple buffers but
- there is only one active send and one active receive buffer per process at any given moment
- the packing, sending, receiving and unpacking routines only affect active buffers
- the developer may switch between multiple buffers for message passing
Packing Data
- In C PVM supports a number of different routines for packing data this corresponds to the different types of data to be packed
- PVM only provides one FORTRAN routine (pvmfpack) for packing data. pvmfpack handles all data types
[Next] [Previous] [Top]
All documents are the responsibility of, and copyright, © their authors and do not represent the views of The Parallel Computer Centre, nor of The Queen's University of Belfast.
Maintained by Alan Rea, email A.Rea@qub.ac.uk
Generated with CERN WebMaker