Questão de Programação — Linguagens de programação — FGV 2024
Programação›Linguagens de programação
Código
fg086430
Banca
FGV
Órgão
INPE
Ano
2024
Nível
Superior
Cargo
Tecnologista Pleno I - Processamento de Dados Meteorológicos e Georreferenciados; Desenvolvimento de Software na Área de Meteorologia
A Message Passing Interface (MPI) é uma especificação de biblioteca de programação usada para escrever programas que executam em sistemas distribuídos ou paralelos.Assinale a alternativa que apresenta características que destacam a importância do Message Passing Interface (MPI) na computação paralela e distribuída.
AMPI é uma API exclusiva para programação em sistemas de memória compartilhada, simplificando a comunicação entre processos.
BMPI é compatível apenas com CPUs, excluindo o uso de aceleradores como GPUs para tarefas de computação paralela.
CMPI facilita a comunicação e a sincronização entre processos em ambientes distribuídos e paralelos, permitindo a coordenação eficiente de tarefas em diferentes nós.
DMPI tem um escopo restrito e é adequado apenas para aplicações científicas, limitando sua aplicabilidade em outras áreas.
EMPI oferece uma biblioteca versátil, mas não suporta a execução simultânea de processos em múltiplos nós de um cluster, o que limita sua escalabilidade.
Revelar gabarito e comentário▾
GabaritoC — MPI facilita a comunicação e a sincronização entre processos em ambientes distribuídos e paralelos, permitindo a coordenação eficiente de tarefas em diferentes nós.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Message Passing Interface (MPI) – Características
Gabarito: letra C. MPI é um padrão de biblioteca para comunicação entre processos em sistemas de memória distribuída, facilitando a troca de mensagens e a sincronização em ambientes paralelos e distribuídos. As demais alternativas contêm erros conceituais sobre o escopo e as capacidades do MPI.
A banca testa o conhecimento básico sobre MPI: seu propósito (comunicação entre processos em sistemas distribuídos) e seu alcance (não restrito a memória compartilhada, não exclusivo para CPUs, não limitado a aplicações científicas).
NÃO CAIA NESSA!
A alternativa A tenta confundir MPI com APIs de memória compartilhada (como OpenMP ou pthreads). Lembre-se: MPI foi projetado para sistemas de memória distribuída, onde cada processo possui seu próprio espaço de endereçamento e a comunicação se dá por mensagens explícitas.
MPI (Message Passing Interface)
1Propósito
Comunicação entre processos
Sincronização
Sistemas de memória distribuída
2Características
Padrão de biblioteca
Troca de mensagens explícitas
Coordenação em diferentes nós
3Capacidades
Suporta GPUs (CUDA-Aware MPI)
Escalável em clusters
Múltiplas áreas (não só científica)
4Não é
API de memória compartilhada
Exclusivo para CPUs
Restrito a aplicações científicas
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que MPI é uma API exclusiva para memória compartilhada. Na verdade, MPI é voltado para memória distribuída, e a comunicação entre processos ocorre via passagem de mensagens. Modelos de memória compartilhada usam threads e variáveis compartilhadas (ex.: OpenMP).
Alternativa B — ❌ Incorreta
Diz que MPI é compatível apenas com CPUs, excluindo aceleradores como GPUs. Incorreto: existem implementações de MPI que suportam GPUs (CUDA-Aware MPI, por exemplo), permitindo comunicação direta entre dispositivos.
Alternativa C — ✅ Correta ⟵ GABARITO
Descreve corretamente MPI: facilita a comunicação e sincronização entre processos em ambientes distribuídos e paralelos, coordenando tarefas em diferentes nós. Essa é a essência do MPI.
Alternativa D — ❌ Incorreta
Afirma que MPI tem escopo restrito a aplicações científicas. Embora seja muito usado em pesquisa e simulação, MPI é empregado em diversas áreas, como processamento de dados, machine learning e sistemas de produção.
Alternativa E — ❌ Incorreta
Afirma que MPI não suporta execução simultânea em múltiplos nós e limita a escalabilidade. O oposto é verdadeiro: MPI é projetado justamente para execução em clusters e supercomputadores com muitos nós, permitindo escalabilidade horizontal.
Resumo: MPI é um padrão de comunicação entre processos em sistemas de memória distribuída, amplamente utilizado em computação paralela de alto desempenho, com suporte a GPUs e adaptável a diversas áreas.