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
- Ao decompor um algoritmo complexo em módulos, qual é o principal risco relacionado ao uso de variáveis globais entre…
- Quando falamos de concorrência em sistemas distribuídos, qual é o principal desafio associado a essa característica?
- Ao decompor um algoritmo de sincronização de dados em uma rede, qual subproblema corresponde à consistência dos dados…
- Para tornar um algoritmo reutilizável e seguro para execução paralela, qual prática relacionada a variáveis e efeitos…
- Em sistemas distribuídos, quais são as principais ameaças que devem ser consideradas para garantir a segurança dos…
- Ao decompor um algoritmo que agrega dados de múltiplos nós em uma rede, qual subtarefa define como tratar dados…
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
