Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Processamento Paralelo — FGV 2024

Arquitetura de ComputadoresProcessamento Paralelo
Código
fg091751
Banca
FGV
Órgão
Prefeitura de São José dos Campos - SP
Ano
2024
Nível
Superior
Cargo
Analista em Gestão Municipal (Tecnologia da Informação)
MapReduce é um framework de processamento paralelo para clusters inspirado em programação funcional, que teve seu artigo seminal publicado em 2004 no artigo : “MapReduce: Simplified Data Processing on Large Clusters”.Com relação à tecnologia MapReduce, assinale V para a afirmativa verdadeira e F para a falsa.( ) A ideia principal do MapReduce é dividir e processar tarefas e depois juntar as informações, o que permite dividir um grande problema em vários pedaços e distribuí-los em diversos computadores.( ) Os principais passos correspondem a: (i) Input split, onde a entrada é dividida em várias partes, onde cada parte será consumida por um Map; (ii) Map, onde é criada uma lista de pares chave-valor; (iii) Shuffling , onde se classifica e agrupa a saída da etapa anterior para servir de entrada para a seguinte; (iv) Reduce, onde se processa a saída da etapa anterior e se agregam as informações; (v) Output, quando as informações são retornadas.( ) As principais características do MapReduce se referem a esconder os detalhes do processamento em série, tolerância a falhas, otimização de localidade e balanceamento de memória, que resultam em modelo fácil de usar, mesmo para programadores sem experiência com sistemas paralelos e distribuídos.As afirmativas são, respectivamente,
  1. AF – V – F.
  2. BV – V – V.
  3. CV – F – V.
  4. DV – V – F.
  5. EF – F – V.
Revelar gabarito e comentário

GabaritoD — V – V – F.

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”.

MapReduce: conceito, etapas e características

Gabarito: alternativa D (V – V – F). As duas primeiras afirmativas descrevem corretamente o paradigma divide and conquer e o fluxo clássico do MapReduce (input split, map, shuffling, reduce, output). A terceira afirmativa erra ao afirmar que o framework "esconde os detalhes do processamento em série" — na verdade, ele oculta a complexidade do processamento paralelo e distribuído; além disso, "balanceamento de memória" não é uma característica típica do modelo.

A banca testa o conhecimento do conceito fundamental do MapReduce e da sequência de suas fases. A pegadinha está na troca do termo "paralelo" por "série" na terceira afirmativa.

Afirmativa I — ✅ Verdadeira

A descrição está correta: o MapReduce segue o princípio divide and conquer, dividindo um grande problema em partes menores que são processadas em paralelo em diferentes nós do cluster, e depois combinando os resultados por meio da operação reduce. É exatamente essa abordagem que permite escalabilidade horizontal.

Afirmativa II — ✅ Verdadeira

As etapas listadas correspondem fielmente ao fluxo do MapReduce:

  • Input split: divide os dados de entrada em partes (splits) que serão processadas por cada tarefa map.

  • Map: produz uma lista de pares chave-valor intermediários.

  • Shuffling: ordena e agrupa os pares pela chave, encaminhando cada grupo ao reducer correspondente.

  • Reduce: agrega os valores de cada chave, gerando o resultado final.

  • Output: persiste o resultado (geralmente em um sistema de arquivos distribuído, como HDFS).

Afirmativa III — ❌ Falsa

O erro está no termo "processamento em série". O MapReduce foi projetado para processamento paralelo massivo em clusters. As características reais do modelo incluem:

  • Tolerância a falhas (reatribuição de tarefas com falha).

  • Otimização de localidade (movimenta o código para perto dos dados).

  • Facilidade de uso (abstrai detalhes de paralelismo, distribuição e sincronização).

  • Escalabilidade horizontal.

O que o sistema esconde é justamente a complexidade do processamento paralelo e distribuído, não do serial. O balanceamento de memória, por sua vez, não é um destaque típico do MapReduce — quem gerencia a memória é o framework subjacente (ex.: Hadoop YARN), mas não é uma característica central do modelo.

NÃO CAIA NESSA!

A banca trocou "processamento paralelo" por "processamento em série" para induzir ao erro. Lembre-se: MapReduce é paralelo, não serial. Além disso, "balanceamento de memória" não é uma característica central do modelo; as principais são tolerância a falhas, localidade e escalabilidade.

Conclusão: As afirmativas corretas são I e II (V – V – F). Portanto, a alternativa que apresenta essa sequência é a letra D.

Gabarito: D

Link permanente: /questoes/fg091751