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)

Tópico flutuante