MPI
padrão de troca de mensagens portátil
facilita o desenvolvimento de aplicações paralelas
ambientes de memória compartilhada ou distribuída
Vantagens
portabilidade
facilidade de uso
Objetivos
oferecer uma interface padrão para o desenvolvimento de programas baseados no paradigma de troca de mensagens
funções definidas
portáveis
flexíveis
permitam implementações eficientes
objetivos gerais
Permitir uma comunicação eficiente
evitando cópias de memória para memória
permitindo superposição de comunicação e computação
permitindo o uso de co-processadores de comunicação
Permitir o uso do padrão proposto em ambientes heterogêneos
Facilitar o uso da interface
C
Fortran
Assumir que a interface de comunicação é confiável
Tratamento de falhas
Definir uma interface que possa ser implementada em diversas plataformas
mudanças significativas no sistema
sistema de comunicação subjacente
soware de sistema
Tornar a semântica da interface independente de linguagem
Permitir o uso seguro de threads
influenciado por
IBM T. J. Watson Research Center
Intel’s NX2
Express
nCUBE’s Vertex e PARMACS
Evolução
padronização
Professores
fabricantes de computadores paralelos
Pesquisadores
abril de 1992
MPI-1
1994
seguido pelas versões
MPI-1.1 (Junho 1995)
MPI-1.2 (Julho 1997)
MPI-1.3 (Maio 2008)
MPI-2
1996
seguido pelas versões
MPI-2.1 (Setembro 2008)
extensões para operações de E/S em paralelo
MPI-2.2 (Setembro 2009)
MPI-3.0
2012
extensões para operações coletivas com versões não bloqueantes
MPI-3.1 (Junho de 2015)