Esistono strumenti che rilevano e riportano False Sharing per applicazioni scritte in C o C++?Strumenti per rilevare la condivisione falsa in un'applicazione C/C++
risposta
Prova Sheriff e Predator. Lo sceriffo è a https://github.com/plasma-umass/sheriff, mentre Predator è a https://github.com/plasma-umass/Predator. Predator è un approccio basato sul compilatore che devi ricompilare il tuo programma usando un nuovo compilatore LLVM. È lo strumento di rilevamento più completo fino ad ora. Lo sceriffo è una libreria ma può rilevare solo la condivisione falsa se si utilizza la libreria pthreads.
Provare il modulo DRD (rilevamento di dati) di valgrind.
Dal manuale sembra che possa essere utilizzato per rilevare la condivisione False.
Sfortunatamente, DRD non rileva nulla, nemmeno nei casi più semplici di condivisione falsa come quella descritta su http://en.wikipedia.org/wiki/False_sharing – gui11aume
In realtà, nel manuale non è possibile affermare che DRD è in grado di rilevare false condivisioni –
Perf ("Contatori delle prestazioni per Linux")
Comandi:
sudo perf record -e cache-misses,anything_else_you_want ./your_program
sudo perf report
pur non mostrando _false_ condividere direttamente, vtunes Intel possono almeno su determinate CPU rilevano la condivisione, ma costa soldi ed è difficile interpretare il risultato. – PlasmaHH
I prodotti Intel hanno una licenza per uso personale. – JohnTortugo