— O mapa pulou de 1 248 para 1 250 e, segundos depois, voltou para 1 249. Como isso e possivel? — perguntou…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Compreender os conceitos de paralelismo, concorrência e armazenamento/ processamento distribuídos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— O mapa pulou de 1 248 para 1 250 e, segundos depois, voltou para 1 249. Como isso e possivel? — perguntou uma voluntaria de um mutirao que usa um site para registrar focos de mosquito. O site recebe muitas fotos ao mesmo tempo: cada envio e guardado em mais de um servidor, em cidades diferentes, para nao perder dados se um servidor cair. Em seguida, varias maquinas analisam as imagens ao mesmo tempo para identificar possiveis focos e marcar os pontos no mapa. Para mostrar o total do dia, o sistema soma um contador toda vez que uma foto valida e confirmada. Nos dias de chuva, milhares de envios chegam quase no mesmo minuto. A equipe percebeu que as fotos continuam sendo analisadas rapidamente, mas o numero total exibido as vezes fica menor do que a quantidade de fotos confirmadas no final do dia. Com base no texto, identifique a mudanca que reduz o erro no total exibido causado por acessos simultaneos, sem abrir mao do processamento distribuido das imagens.
- A) Armazenar todas as fotos em um unico servidor para impedir diferencas entre copias
- B) Executar a confirmacao das fotos uma de cada vez, desligando o processamento em paralelo
- C) Aumentar a quantidade de maquinas que analisam as imagens para finalizar mais rapido
- D) Replicar o contador em varios servidores e, ao final do dia, escolher o maior valor
- E) Enfileirar as atualizacoes do contador e aplica-las como operacoes atomicas no banco de dados
✅ Resposta correta: alternativa E
Resolução passo a passo
- O problema descrito é uma condição de corrida (race condition). Quando milhares de envios chegam ao mesmo tempo, vários processos leem o mesmo valor do contador, somam 1 e gravam de volta. Assim, dois incrementos podem resultar em um único aumento, e o total fica menor que o número de fotos confirmadas.
- O texto pede uma mudança que reduza esse erro sem abrir mão do processamento distribuído das imagens. A análise das fotos pode continuar paralela; só a atualização do contador precisa ser controlada.
- A alternativa E resolve isso. Enfileirar as atualizações faz com que sejam tratadas em ordem, e aplicá-las como operações atômicas no banco (por exemplo, incrementar o valor em uma única instrução, sem leitura e escrita separadas) garante que nenhum incremento se perca. Isso mantém a análise das imagens distribuída.
- A alternativa A está errada porque um único servidor elimina a replicação que o texto exige para não perder dados e não trata a concorrência no contador.
- A alternativa B está errada porque desliga o paralelismo, o que o enunciado proíbe, e ainda assim seria mais lenta sem resolver a essência do problema.
- A alternativa C está errada porque mais máquinas analisando imagens não altera a forma como o contador é atualizado; o erro continuaria.
- A alternativa D está errada porque escolher o maior valor entre réplicas descarta incrementos feitos em outros servidores, em vez de somá-los, e o total continuaria incorreto.
- Gabarito oficial (E) confirmado pela resolução.
💡 Dica: Analise o problema de concorrência e escolha a solução que garante atualizações corretas.
Alternativa por alternativa
Acredita que a diferença entre cópias se resolve centralizando tudo em um só lugar, ignorando que o texto exige guardar as fotos em mais de um servidor e que o problema real é a concorrência na soma.
Acha que a forma de evitar erros de concorrência é eliminar o paralelismo, sem perceber que o enunciado pede manter o processamento distribuído e que a confirmação pode ser controlada de outro modo.
Associa a lentidão e os erros a falta de capacidade de processamento e supõe que mais máquinas resolvem o problema, sem notar que o erro está na atualização simultânea do contador.
Pensa que réplicas divergentes se corrigem escolhendo o maior valor, o que descarta os incrementos feitos em outros servidores em vez de somá-los ou sincronizá-los corretamente.
Por que engana: Confundir aumento de máquinas ou replicação com solução para inconsistência de contadores em sistemas concorrentes.
A fila e a atualizacao atomica evitam condicao de corrida no contador, mantendo a analise paralela/distribuida das fotos.
Raio-X da questão
processamento distribuído e concorrência
avaliacao
processamento paralelo · controle de concorrência
Estude controle de concorrência e operações atômicas em sistemas distribuídos.
Confundir aumento de máquinas ou replicação com solução para inconsistência de contadores em sistemas concorrentes.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Cerca de 800 estudantes (numeros ilustrativos) tentaram acessar, ao mesmo tempo, um simulado online oferecido por uma…
- Cerca de 18 mil pessoas usaram, no fim do mes, um aplicativo de um programa municipal que devolve parte de impostos a…
- — Se eu salvar agora, someu a descrição que eu tinha escrito! — reclamou Joana, voluntária do projeto Memória do Bairro…
- Na final de um campeonato de robôs, uma equipe montou um sistema para publicar “melhores momentos” quase em tempo real…
- — Ué, como o notebook está enviando os registros e, ao mesmo tempo, deixando eu preencher o próximo? — perguntou uma…
- Por que tantos pedidos repetidos chegam ao mesmo tempo para a central de iluminação pública? Em um aplicativo municipal…
Todas as questões de Sistemas distribuídos e internet - Fundamentos de sistemas distribuídos
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
