Se eu não usar cercas, quanto tempo levaria um núcleo para ver as gravações de outro núcleo?

Eu tenho tentado pesquisar minha pergunta no Google, mas sinceramente não sei como afirmá-la sucintamente.

Suponha que eu tenha dois threads em um sistema Intel com vários núcleos. Esses encadeamentos estão em execução no mesmo nó NUMA. Suponha que o segmento 1 grave no X uma vez e, em seguida, apenas o leia ocasionalmente avançando. Suponha ainda que, entre outras coisas, o segmento 2 leia X continuamente. Se eu não usar uma cerca de memória, quanto tempo poderia demorar entre o segmento 1 escrevendo X e o segmento 2 vendo o valor atualizado?

Eu entendo que a gravação de X irá para o buffer de armazenamento e, a partir daí, para o cache. Nesse momento, o MESIF entrará em ação e o thread 2 verá o valor atualizado via QPI. (Ou pelo menos é isso que eu colhi). Presumo que o buffer de armazenamento seja gravado no cache em uma cerca de armazenamento ou se essa entrada do buffer de armazenamento precisar ser reutilizada, mas não sei se os buffers de armazenamento são alocados para gravações.

Por fim, a pergunta que estou tentando responder por mim mesmo é se é possível que o segmento 2 não veja a gravação do segmento 1 por vários segundos em um aplicativo bastante complicado que está fazendo outro trabalho.

questionAnswers(1)

yourAnswerToTheQuestion