180 likes | 505 Views
PVM. Parallel Virtual Machine. VM- Virtual Machine. V irtual machine ( VM ) is a software based, fictive computer. Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer.
E N D
PVM Parallel Virtual Machine
VM-Virtual Machine • Virtual machine (VM) is a software based, fictive computer. • Virtual machines may be based on specifications of a hypothetical computer or emulate the computer architecture and functions of a real world computer.
Virtual Machine advantages: • Multiple OS environments can co-exist on the same computer, in strong isolation from each other. • The virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machine. • Application maintenance, high availability and disaster recovery.
The main disadvantages of VMs • A virtual machine is less efficient than a real machine when it accesses the hardware indirectly. • When multiple VMs are concurrently running on the same physical host, each VM may exhibit a varying and unstable performance (speed of execution, and not results).
Parallel Virtual Machine • PVM is a software tool for parallel networking of computers. • The design allows a network of heterogeneous Unix and/or Windows machines to be used as a single distributed parallel processor.
Parallel Virtual Machine • It was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. • The first version was written at ORNL in 1989.
Parallel Virtual Machine • large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. • The software is very portable; it has been compiled on everything from laptops to super-computers .
Parallel Virtual Machine • PVM has been used as an educational tool to teach parallel programming but has also been used to solve important practical problems. • PVM consists of a run-time environment and library for message-passing, task and resource management, and fault notification.
Parallel Virtual Machine • PVM provides a powerful set of functions for manually parallelizing an existing source program, or for writing new parallel programs. • User programs written in C, C++, or Fortran can access PVM through provided library routines.
Parallel Virtual Machine • PVM supports broadcasting (PVM_bcast) which sends to all processes in a group and multicasting (PVM_mcast) which sends to a specific list of processes.
The PVM System • The PVM system is composed of two parts. • The first part is a daemon, called pvmd3, that resides on all the computers making up the virtual machine. • Pvmd3 is designed so any user with a valid login can install this daemon on a machine.
The PVM System • When a user wishes to run a PVM application, he first creates a virtual machine. • The PVM application can then be started from a Unix prompt on any of the hosts. • Multiple users can configure overlapping virtual machines, and each user can execute several PVM applications simultaneously.
The PVM System • The second part of the system is a library of PVM interface routines. • This library contains user-callable routines for message passing, spawning processes, coordinating tasks, and modifying the virtual machine
Advantages • Ability to establish a parallel machine using ordinary and low cost workstations. • Heterogeneity-PVM supports heterogeneous computers to be connected over a network. It can connect computers having different underlying operating system for eg- linux, unix, windows. • Simple language- PVM uses simple languages like C and C++ to implement parallel computing.
Disadvantages • Explicit implementation- Programmers have to explicitly implement all parallelization details. • Difficult debugging- Debugging is difficult when parallel virtual machine is used for parallel computing.
References • Geist, Al, ed. PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing. MIT press, 1994. • en.wikipedia.org/wiki/Parallel_Virtual_Machine • Prakash, Ajay. "PARALLEL VIRTUAL MACHINE." (2011).