Sistemas Distribuidos
Pode ser instalado por qualquer usuário.
Pode ser partilhado entre usuários.
Fácil de configurar através do seu próprio arquivo host.
Configurações de usuários podem se sobrepor sem conflitos.
Fácil de escrever programas através de uma interface de troca de mensagens padrão.
Suporta C, FORTRAN e Java.
Múltiplas aplicações podem rodar em um único PVM.
Pacote pequeno, requer apenas alguns Mbytes.
A biblioteca de funções do PVM oferece facilidades para:
1. Criar e terminar tarefas (processos Unix) a serem executadas em paralelo.
2. Configurar a máquina virtual, adicionando ou eliminando hosts (elementos de processamento).
3. Envio e recepção de mensagens entre tarefas em diversos formatos.
A comunicação através de mensagens utiliza buffers e operações de codificação e decodificação (packing/unpacking) torna possível o uso de sistemas heterogêneos.
Tolerância a falhas
Escalabilidade
Heterogeneidade
Portabilidade
Características do MPI
Eficiência: Foi cuidadosamente projetado para executar eficientemente em máquinas diferentes.
Especifica somente o funcionamento lógico das operações. Deixa em aberto a implementação. Os desenvolvedores otimizam o código usando características específicas de cada máquina.
Facilidade: Define uma interface não muito diferente dos padrões PVM, NX, Express, P4, etc. e acrescenta algumas extensões que permitem maior flexibilidade.
Portabilidade: É compatível para sistemas de memória distribuída, NOWs (network of workstations) e uma combinação deles.
Transparência: Permite que um programa seja executado em sistemas heterogêneos sem mudanças significativas.
Segurança: Provê uma interface de comunicação confiável. O usuário não precisa preocupar-se com falhas na comunicação.
Escalabilidade: O MPI suporta escalabilidade sob diversas formas, por exemplo: uma aplicação pode criar subgrupos de processos que permitem operações de comunicação coletiva para melhorar o alcance dos