¿Hay alguna herramienta que detecte e informe False Sharing para aplicaciones escritas en C o C++?Herramientas para detectar False Sharing en una aplicación C/C++
Respuesta
Prueba Sheriff and Predator. Sheriff está en https://github.com/plasma-umass/sheriff, mientras que Predator está en https://github.com/plasma-umass/Predator. Predator es un enfoque basado en el compilador que tiene que volver a compilar su programa utilizando un nuevo compilador LLVM. Es la herramienta de detección más exhaustiva hasta ahora. Sheriff es una biblioteca, pero solo puede detectar el uso compartido falso si está utilizando la biblioteca pthreads.
Pruebe el DRD (detección de raza de datos) módulo de valgrind.
Desde el manual, parece que se puede usar para detectar el intercambio falso.
Desafortunadamente, DRD no detecta nada, incluso en los casos más simples de uso compartido falso como el descrito en http://en.wikipedia.org/wiki/False_sharing – gui11aume
En realidad, en el manual no hay ningún reclamo de que DRD pueda detectar el intercambio falso –
Perf ("Contadores de rendimiento para Linux")
Comandos:
sudo perf record -e cache-misses,anything_else_you_want ./your_program
sudo perf report
- 1. Dropbox Sharing file URL
- 2. ¿Dónde puedo encontrar una clase C# para "Shamir's Secret Sharing"?
- 3. Herramientas para detectar fugas de memoria para C# y aplicación C++ no administrada
- 4. estancamientos detectar en una aplicación de C#
- 5. Herramientas para construir un OCA (aplicación ocasional)
- 6. patrones "call-cc" en Scala?
- 7. Detalles de call/cc
- 8. XAML ToolTip + IsHitTestVisible = "False"
- 9. ¿Qué es call/cc?
- 10. XCode Project Scheme sharing ... ¿cómo hacer eso?
- 11. Detectar si se desinstaló una aplicación
- 12. PHP Mail, CC Field
- 13. ¿Cómo puedo detectar las DLL requeridas por una aplicación?
- 14. ¿Qué significa CC? = En un Makefile?
- 15. Continuación (call/cc) en el Esquema
- 16. cómo detectar si el usuario tiene una aplicación en Cocoa
- 17. ¿Cómo cambian DP y CC en Piet?
- 18. ¿Herramientas para una sola configuración de desarrollador?
- 19. En makefiles, ¿qué significan CC y LD?
- 20. Detectar paquetes HTTP para solicitudes GET y POST desde una aplicación
- 21. Django - cómo establecer en blanco = False, se requiere = False
- 22. Pruebas de rendimiento para la aplicación web existente - ¿Herramientas útiles?
- 23. ¿Es posible usar call/cc para implementar la recursión?
- 24. ¿Qué herramientas recomienda para construir automáticamente su aplicación?
- 25. Herramientas de prueba de automatización para la aplicación Oracle Forms?
- 26. HiddenInput (DisplayValue = false)] vs [ScaffoldColumn (false)]
- 27. Tutorial/información sobre herramientas/demostración para la aplicación de iPhone
- 28. Forma estándar para detectar navegadores móviles en una aplicación web basada en la solicitud http
- 29. ¿Cuáles son algunos buenos conjuntos de herramientas para graficar/graficar en una aplicación web?
- 30. ¿Qué herramientas existen para convertir una aplicación Delphi 7 en C# y .Net framework?
si bien no muestran _false_ compartir directamente, vtunes Intel pueden, al menos en determinadas CPU detectan compartir, pero cuesta dinero y es difícil para interpretar el resultado – PlasmaHH
Los productos Intel tienen una licencia de uso personal. – JohnTortugo