Ложный обмен и атомарные переменные

Когда разные переменные находятся внутри одной строки кэша, вы можете испытатьЛожный обменЭто означает, что даже если два разных потока (работающих на разных ядрах) обращаются к двум разным переменным, если эти две переменные находятся в одной и той же строке кэша, у вас будет снижение производительности, так как каждый раз будет запускаться когерентность кэша.

Теперь скажем, что эти переменные являются атомарными переменными (под атомарными я имею в виду переменные, которые вводят ограничение памяти, такие какatomic<t> C ++), будет ли там иметь значение ложное совместное использование, или не имеет значения, находятся ли атомарные переменные в одной и той же строке кэша или нет, так как предположительно они все равно будут вводить когерентность кэша. Другими словами, сделает ли размещение атомарных переменных в одной строке кэша медленнее, чем размещение их в одной строке кэша?

Ответы на вопрос(0)

Ваш ответ на вопрос