Parallel Virtual Machine

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 diretivas 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, gerenciamento de tarefas, etc...).

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

A implementação do PVM é baseada em processos do Unix. Na verdade, cada tarefa PVM é um processo Unix. Isto explica parcialmente a alta portabilidade do sistema para computadores de arquiteturas tão diferentes. Tarefas são as unidades básicas de execução do PVM. É verdade que, em algumas implementações, as tarefas 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 tarefas 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 tarefas 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 a todos os usuários. Além disso, a instalação não requer privilégios especiais e pode ser efetuada por qualquer usuário.

Ligações externas editar

Ver também editar

Message Passing Interface