Ao decompor um algoritmo paralelo que processa dados em uma rede distribuída, qual risco associado ao uso de…
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
Ao decompor um algoritmo paralelo que processa dados em uma rede distribuída, qual risco associado ao uso de uma variável global é mais crítico para a consistência dos dados e por quê?
- A) O uso de variáveis globais garante que cada parte do algoritmo funcione de forma isolada.
- B) A sincronização entre threads é irrelevante para a integridade dos dados em redes distribuídas.
- C) Condições de corrida entre threads ou nós, porque acessos concorrentes sem sincronização podem corromper o valor compartilhado e gerar leituras inconsistentes.
- D) Condições de corrida não são problema; variáveis globais sempre mantêm a consistência dos dados.
- E) Usar variáveis globais previne múltiplos acessos simultâneos ao mesmo dado, evitando erros.
✅ Resposta correta: alternativa C
Resolução passo a passo
- Analise o conceito envolvido. Em algoritmos paralelos, várias unidades de execução (threads ou nós) podem ler e escrever uma mesma variável global ao mesmo tempo. Se esses acessos não forem coordenados por mecanismos de sincronização (travas, semáforos, transações ou protocolos de consenso), o resultado depende da ordem de execução, fenômeno chamado condição de corrida.
- Avalie o risco mais crítico. Uma condição de corrida pode fazer uma atualização se perder (duas escritas sobrepostas, uma delas sobrescreve a outra) ou gerar leituras de valores intermediários, o que compromete a consistência dos dados. Por isso, a alternativa C identifica corretamente o risco e a razão: acessos concorrentes sem sincronização podem corromper o valor compartilhado e produzir leituras inconsistentes.
- Verifique as demais alternativas. A está errada, pois variáveis globais favorecem o compartilhamento e não o isolamento entre partes do algoritmo. B está errada, porque a sincronização é justamente o que protege a integridade dos dados em ambientes concorrentes. D está errada, pois condições de corrida são um problema clássico e variáveis globais não garantem consistência por si sós. E está errada, porque variáveis globais, por serem compartilhadas, favorecem justamente os acessos simultâneos que precisam ser controlados, e não os previnem.
- Conclusão. A alternativa correta é a C, que coincide com o gabarito oficial.
💡 Dica: Considere o que ocorre quando várias partes acessam e alteram o mesmo dado sem sincronização.
Alternativa por alternativa
O aluno acredita que variáveis globais separam as partes do algoritmo, quando na verdade elas são justamente um ponto de compartilhamento entre elas.
O aluno supõe que, por haver distribuição, a sincronização deixa de importar, ignorando que a concorrência exige coordenação para manter os dados íntegros.
Variáveis globais expostas a concorrência permitem interleaving inseguro; sem mecanismos de sincronização (locks, atomicidade), múltiplas escritas/leituras levam a inconsistência e perda de integridade.
O aluno confia na intuição de que algo global é sempre seguro e não percebe que várias unidades escrevendo ao mesmo tempo podem gerar resultados imprevisíveis.
Por que engana: Confundir o compartilhamento de uma variável global com garantia de consistência, ignorando que acessos concorrentes sem sincronização podem produzir condições de corrida.
O aluno confunde o compartilhamento com a exclusão mútua, imaginando que o fato de o dado ser global impede acessos simultâneos, quando isso exige um mecanismo de controle explícito.
Raio-X da questão
condições de corrida em variáveis globais
avaliacao
variáveis globais e compartilhamento · concorrência e sincronização
Revise concorrência, compartilhamento de variáveis e sincronização em algoritmos paralelos.
Confundir o compartilhamento de uma variável global com garantia de consistência, ignorando que acessos concorrentes sem sincronização podem produzir condições de corrida.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- — O mapa pulou de 1 248 para 1 250 e, segundos depois, voltou para 1 249. Como isso e possivel? — perguntou uma…
- Em um computador onde dois programas tentam gravar no mesmo arquivo simultaneamente, que componente do sistema resolve…
- Qual é a função principal de um algoritmo de controle de fluxo por janela deslizante (sliding window) em uma conexão e…
- Projete um algoritmo para detectar e isolar rapidamente um nó com comportamento anômalo em um sistema distribuído de…
- Projete a estrutura de cabeçalho de um protocolo de transporte para redes intermitentes: liste campos essenciais (por…
- Em um algoritmo paralelo que atualiza contadores por turma, qual prática reduz a necessidade de locks ao manipular uma…
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
