next up previous
Next: Grand Challenge Application Experiences Up: PVM Previous: Components of PVM


Application programs that use PVM are composed of subtasks at a moderately high level of granularity. The subtasks can be generic serial codes, or they can be specific to a particular machine. In PVM, resources may be accessed at three different levels: the transparent mode in which subtasks are automatically located at the most appropriate sites, the architecture-dependent mode in which the user may indicate specific architectures on which particular subtasks are to execute, and the machine-specific mode in which a particular machine may be specified. Such flexibility allows different subtasks of a heterogeneous application to exploit particular strengths of individual machines on the network.

Applications access PVM resources via a library of standard interface routines. These routines allow the initiation and termination of processes across the network, as well as communication and synchronization between processes. Communication constructs include those for the exchange of data structures as well as high-level primitives such as broadcast, barrier synchronization, and event synchronization.

Application programs under PVM may possess arbitrary control and dependency structures. In other words, at any point in the execution of a concurrent application, the processes in existence may have arbitrary relationships between each other; furthermore, any process may communicate and/or synchronize with any other.

Jack Dongarra
Fri Dec 13 15:35:04 EST 1996