PM-PVM: A portable multithreaded PVM

PM-PVM is a portable implementation of PVM designed to work on SMP architectures supporting multithreading. PM-PVM portability is achieved through the implementation of the PVM functionality on top of a reduced set of parallel programming primitives. Within PM-PVM, PVM tasks are mapped onto threads and the message passing functions are implemented using shared memory. Three implementation approaches of the PVM message passing functions have been adopted. In the first one, a single message copy in memory is shared by all destination tasks. The second one replicates the message for every destination task but requires less synchronization. Finally, the third approach uses a combination of features from the two previous ones. Experimental results comparing the performance of PM-PVM and PVM applications running on a 4-processor Sparcstation 20 under Solaris 2.5 show that PM-PVM can produce execution times up to 54% smaller than PVM.

[1]  J PritchardD Concurrency: Practice and Experience , 1991 .

[2]  Adam J. Ferrari,et al.  Multiparadigm distributed computing with TPVM , 1998 .

[3]  Júlio S. Aude,et al.  The MULTIPLUS/MULPLIX parallel processing environment , 1996, Proceedings Second International Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN'96).

[4]  Al Geist,et al.  LPVM: a step towards multithread PVM , 1998, Concurr. Pract. Exp..

[5]  Jack Dongarra,et al.  Pvm: A Users' Guide and Tutorial for Network Parallel Computing , 1994 .