pvm was developed at the oak ridge national laboratory around 1989 before mpi was available. pvm must be directly installed on every cluster node and provides a set of software libraries that paint the node as a "parallel virtual machine". pvm provides a run-time environment for message-passing, task and resource management, and fault notification. pvm can be used by user programs written in c, c++, or fortran, etc.