← Questões de Sistemas Operacionais

Sistemas Operacionais · FGV · 2023

Questão comentada de Sistemas Operacionais

Cálculos numéricos usam arrays para representar vetores, matrizes e tensores. As operações distribuídas comuns em torno de arrays podem ser encontrados na especificação Message Passing Interface (MPI). Assinale a opção que não figura como uma das operações MPI.

Gabarito: C

Em MPI, voce encontra várias operações coletivas para distribuir e juntar dados entre processos. Elas aparecem o tempo todo em cálculos com arrays, vetores e matrizes, porque ajudam a mover blocos de dados sem precisar fazer envio individual processo por processo, o que seria bem mais lento e cansativo. As operações clássicas incluem Broadcast, que pega um dado de um processo e manda para todos; Scatter, que divide um array em partes e distribui; Gather, que faz o caminho inverso e junta as partes; e Reduce, que combina valores com uma operação como soma, mínimo ou máximo. Também existem versões "All", como AllGather e AllReduce, que entregam o resultado para todos os processos. A questão explora justamente esse repertório padrão da MPI. O nome "Expand/OneToAll" não é uma operação coletiva definida na especificação MPI como as demais listadas. Em prova, isso costuma aparecer como troca de nome: a banca inventa um termo com cara de MPI para ver se você reconhece o vocabulário verdadeiro. Então o gabarito é a letra C, porque ela traz uma operação que não figura entre as primitivas conhecidas da MPI. Já as demais correspondem a operações reais e muito usadas em programação paralela, especialmente em HPC e clusters.

Continue treinando

Questões relacionadas