No desenvolvimento de algoritmos paralelos de alto desempen...

Próximas questões
Com base no mesmo assunto
Q4090998 Arquitetura de Computadores
No desenvolvimento de algoritmos paralelos de alto desempenho em arquiteturas modernas, dois conceitos amplamente utilizados são a coerência de cache e a consistência de memória. Considere um cenário em que um programador implementa um padrão produtor consumidor simples utilizando uma flag booleana para indicar a disponibilidade de um dado recém-escrito em um buffer compartilhado. Mesmo operando sobre um hardware que garante coerência de cache estrita (como o protocolo MESI), o consumidor ocasionalmente lê dados inconsistentes ou desatualizados após verificar que a flag é verdadeira. Qual primitiva de programação paralela deve ser obrigatoriamente inserida no código para corrigir esse comportamento e qual é a justificativa técnica para sua necessidade? 
Alternativas