Что такое «Ложный обмен» в параллельном программировании .net 4.0 - PullRequest
5 голосов
/ 11 августа 2011

Может ли кто-нибудь поделиться со мной знаниями "Ложного обмена" в параллельном программировании .net 4.0?Было бы здорово, если бы вы могли объяснить на примере.Заранее спасибо .я хочу максимальной производительности для моего кода.

Ответы [ 2 ]

7 голосов
/ 11 августа 2011

Ложное совместное использование - это термин, используемый для описания сценария, в котором отдельные кэши процессора обрабатывают отдельные наборы данных, как если бы они были общими.Причины этого связаны с деталями того, как работают аппаратные строки кэша, и могут отличаться от одной архитектуры к другой.Дело в том, что протоколы когерентности кэша, используемые для поддержания согласованности между основной памятью и другими отдельными кэшами процессора, должны работать усерднее, когда содержимое отдельных кэшей процессора помечается как совместно используемое.Проблема в том, когда они помечены как общие, когда они действительно не должны.Вы можете прочитать эту статью для получения дополнительной информации.

2 голосов
/ 11 августа 2011

Посмотрите на эту статью - номер 2 в результатах поиска Google для "Ложного совместного использования в параллельном программировании" (номер 1 на этой странице)

...