Существуют ли какие-либо инструменты, которые обнаруживают и сообщают False Sharing для приложений, написанных на C или C ++?
Попробуйте модуль DRD (обнаружение гонки данных) valgrind.
Из руководства видно, что его можно использовать для обнаружения ложного обмена.
Попробуйте Шериф и Хищник. Шериф на https://github.com/plasma-umass/sheriff,, а Хищник на https://github.com/plasma-umass/Predator. Predator - это основанный на компиляторе подход, при котором вам необходимо перекомпилировать вашу программу с использованием нового компилятора LLVM. Это самый исчерпывающий инструмент обнаружения до сих пор. Sheriff - это библиотека, но она может обнаружить ложное совместное использование, только если вы используете библиотеку pthreads.
Perf («Счетчики производительности для Linux»)
Команды:
sudo perf record -e cache-misses,anything_else_you_want ./your_program sudo perf report