M-PVM: An Implementation of PVM for Multithreaded and Shared-Memory Environments

  • Cláudio M. P. Santos UFRJ
  • Júlio S. Aude UFRJ

Resumo


O M-PVM é uma implementação do PVM projetada para trabalhar eficientemente em arquiteturas paralelas que aceitam o conceito de multithreading e o modelo de memória compartilhada. Em particular, a implementação atual do M-PVM executa no MULPLIX, um sistema operacional Unix-like, desenvolvido para executar de modo eficiente aplicativos paralelos no MULTIPLUS, um multiprocessador paralelo de memória compartilhada distribuída em desenvolvimento na Universidade Federal do Rio de Janeiro. O M-PVM é uma biblioteca de programação paralela construída sobre as primitivas de programação paralela do MULPLIX. No M-PVM, as tasks PVM são mapeadas em threads do MULPLIX. Duas abordagens foram adotadas para a implementação das primitivas de troca de mensagens. Na primeira abordagem, uma única cópia da mensagem é compartilhada por todas as tasks destinos. A segunda abordagem replica a mensagem para cada task destino, mas exige menos sincronização. O M-PVM não é totalmente compatível com o PVM padrão, mas oferece um ambiente que simplifica o transporte dos aplicativos PVM para as plataformas de memória compartilhada multithreaded, na maioria dos casos, com melhorias de desempenho. São apresentados alguns resultados experimentais comparando o desempenho dos aplicativos M-PVM e PVM, sendo executados em uma Sun Sparcstation 20 de 4 processadores sob Solaris 2.5. Estes resultados mostram que o M-PVM pode produzir ganhos de velocidade na faixa de 5% a 10% em relação ao PVM.

Referências

Aude, J. S., et. al., The MULTIPLUS/MULPLIX Parallel Processing Environment", Proceedings of the lnternational Symposium on Parallel Architectures, Algorithms and Networks - I.SPAN 96, pp. 50-56, Beijing, China, May 1996

Azevedo, R.P., Azevedo, G.P., Silveira, J.T.C, Aude, J.S., "Parallel Programming Primitives within MULTIPLUS (in Portuguese)", Proceedings of the V Brazilian Symposium on Computer Architecture, Florianópolis, pp. 761-775, September 1993

Barros, M. O., Aude, J. S., "Implementation of Multithread Libraries in the Mulplix Operating System (in Portuguese)", Proceedings of the VIII SBAC-PAD-Recife, PE-August 1996

Chuang, W., "PVM Light Weight Process Package", Laboratory of Computer Science, Massachussets lnstitute of Technology, Computation Structures Group Memo 372, December, 1994

Faller, N., Salenbauch, P., "Piurix: A multiprocessing Unix-like operating system", Proceedings of the 2nd Workshop on Workstation Operating Systems, IEEE Computer Society Press, Washington, DC, USA, pp. 29-36, September 1989

Ferrari, A., Sunderam, V.S., "TPVM: A Threads-Based Interface and Subsystem for PVM", Computer Science Technical Report CSTR-940802, Ermory University, August, 1994

Geist AI, Beguelin A., Dongarra J., Jiang W., Mancheck R., Sunderarn V., "PVM - A users guide and tutorial for Network Parallel Computing", 1994, The MIT Press, Cambridge, Massachusetts.

lnstitute of Electrical and Electronics Enginners, POSIX PI003.4a, "Threads Extension for Portable Operating Systems", 1994

Knopman, J., Aude, J.S., "Parallelization of Genetic Algorithms Applied to the Placement Problema in Workastation Cluster", (in Portuguese) - Proceedings of the VIII SBAC-PAD, Recife, PE, August 1996

"High Performance Software Coherence for Current and Future Architectures" , L.l. Kontothanassis, M.L. Scott, Journal of Parallel and Distributed Computing, Vol. 29, No. 2, September 1995, pp. 179-195

Shckhar, S., Chubb, D., Turner, G., "Parallelizing GIS on a Shared Address Space Architecture", IEEE Computer, Dec. 1996, pp.42-48

Sun Microsystems Inc., " Multithreaded Programming Guide-Solaris 2.5", 1995

Vahalia, U. , "Unix Internais - The New Frontiers", Prentice Hall, 1996

Zhou, H., Geist, AI. "LPVM: A Step Towards Multithread PVM", Technical Report, Oak Ridge National Laboratory, June 1995
Publicado
07/10/1997
SANTOS, Cláudio M. P.; AUDE, Júlio S.. M-PVM: An Implementation of PVM for Multithreaded and Shared-Memory Environments. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 9. , 1997, Campos do Jordão/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1997 . p. 123-138. DOI: https://doi.org/10.5753/sbac-pad.1997.22646.