Saltar para o conteúdo

Parallel Virtual Machine

Origem: Wikipédia, a enciclopédia livre.

PVM é a abreviação de Parallel Virtual Machine. Este é um pacote de software que permite que uma rede heterogênea de computadores de todos os tipos seja programada como se fosse apenas uma única "Máquina Paralela Virtual". A programação é baseada no paradigma de troca de mensagens. O PVM é composto, basicamente, de três partes: uma biblioteca de funções (em C e em FORTRAN77) que implementam para o usuário as dire-tivas de programação da Máquina Virtual (MV); um processo daemon que rodará em cada host participante da MV e um console de onde podem ser executadas algumas funções bá-sicas de controle (configuração da MV, disparo de tarefas, etc...).

O desenvolvimento do PVM começou no ano de 1989 no Oak Ridge National La-boratory (ORNL). Atualmente, o projeto envolve equipes de várias instituições.

A implementação do PVM é baseada em processos do Unix. Na verdade, cada task PVM é um processo Unix. Isto explica parcialmente a alta portabilidade do sistema para computadores de arquiteturas tão diferentes. Tasks são as unidades básicas de execução do PVM. É verdade que, em algumas im-plementações, as tasks podem não ser processos. Nestes casos, caberá ao implementador garantir a compatibilidade (tais exceções são mais comuns em sistemas de natureza mais complexa como computadores paralelos).

Os programas em PVM podem rodar espalhados por uma rede de natureza heterogênea. Mais particularmente, é possível disparar tasks em computadores em qualquer parte da Internet (desde que o usuário tenha acesso a esta máquina, obviamente). Esta independência em relação à rede de comunicações que liga os hosts que participam da MV é garantida pelo uso do protocolo TCP/IP para comunicação entre as tasks através da rede.

O pacote PVM é relativamente pequeno (cerca de 4.5 MB de código fonte em C), e necessita ser instalado apenas uma vez em cada máquina para ser acessível à todos os usuários. Além disso, a instalação não requer privilégios especiais e pode ser efetuada por qualquer usuário. Este trabalho pretende apresentar as características da biblioteca PVM (versão 3.4.3.20) instalada sobre uma distribuição Linux.