Инструменты для обнаружения ложного обмена в приложении C / C ++ - PullRequest
8 голосов
/ 16 августа 2011

Существуют ли какие-либо инструменты, которые обнаруживают и сообщают False Sharing для приложений, написанных на C или C ++?

Ответы [ 3 ]

4 голосов
/ 16 августа 2011

Попробуйте модуль DRD (обнаружение гонки данных) valgrind.

Из руководства видно, что его можно использовать для обнаружения ложного обмена.

2 голосов
/ 24 декабря 2014

Попробуйте Шериф и Хищник. Шериф на https://github.com/plasma-umass/sheriff,, а Хищник на https://github.com/plasma-umass/Predator. Predator - это основанный на компиляторе подход, при котором вам необходимо перекомпилировать вашу программу с использованием нового компилятора LLVM. Это самый исчерпывающий инструмент обнаружения до сих пор. Sheriff - это библиотека, но она может обнаружить ложное совместное использование, только если вы используете библиотеку pthreads.

0 голосов
/ 21 апреля 2015

Perf («Счетчики производительности для Linux»)

Команды:

sudo perf record -e cache-misses,anything_else_you_want ./your_program 
sudo perf report 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...