17.6. Detección de falsas comparticiones con perf c2c
Requisitos previos
-
La herramienta de espacio de usuario
perfestá instalada. Para más información, consulte Instalación de perf. -
Un archivo
perf.datagrabado con el comandoperf c2cestá disponible en el directorio actual. Para obtener más información, consulte Detección de la contención de líneas de caché con perf c2c.
Procedimiento
Abra el archivo
perf.datapara su posterior análisis:# perf c2c report --stdioEsto abre el archivo
perf.dataen la terminal.En la tabla "Información de eventos de rastreo", localice la fila que contiene los valores de "Faltas de LLC a la caché remota (HITM)":
================================================= Trace Event Information ================================================= Total records : 329219 Locked Load/Store Operations : 14654 Load Operations : 69679 Loads - uncacheable : 0 Loads - IO : 0 Loads - Miss : 3972 Loads - no mapping : 0 Load Fill Buffer Hit : 11958 Load L1D hit : 17235 Load L2D hit : 21 Load LLC hit : 14219 Load Local HITM : 3402 Load Remote HITM : 12757 Load Remote HIT : 5295 Load Local DRAM : 976 Load Remote DRAM : 3246 Load MESI State Exclusive : 4222 Load MESI State Shared : 0 Load LLC Misses : 22274 LLC Misses to Local DRAM : 4.4% LLC Misses to Remote DRAM : 14.6% LLC Misses to Remote cache (HIT) : 23.8% LLC Misses to Remote cache (HITM) : 57.3% Store Operations : 259539 Store - uncacheable : 0 Store - no mapping : 11 Store L1D Hit : 256696 Store L1D Miss : 2832 No Page Map Rejects : 2376 Unable to parse data source : 1El porcentaje en la columna de valores de la fila "LLC Misses to Remote Cache (HITM)\Nrepresenta el porcentaje de misses LLC que se produjeron a través de los nodos NUMA en las líneas de caché modificadas y es un indicador clave de que se ha producido una falsa compartición.
Inspeccione la columna "Rmt" del campo "LLC Load Hitm" de la tabla "Shared Data Cache Line":
================================================= Shared Data Cache Line Table ================================================= # # Total Rmt ----- LLC Load Hitm ----- ---- Store Reference ---- --- Load Dram ---- LLC Total ----- Core Load Hit ----- -- LLC Load Hit -- # Index Cacheline records Hitm Total Lcl Rmt Total L1Hit L1Miss Lcl Rmt Ld Miss Loads FB L1 L2 Llc Rmt # ..... .................. ....... ....... ....... ....... ....... ....... ....... ....... ........ ........ ....... ....... ....... ....... ....... ........ ........ # 0 0x602180 149904 77.09% 12103 2269 9834 109504 109036 468 727 2657 13747 40400 5355 16154 0 2875 529 1 0x602100 12128 22.20% 3951 1119 2832 0 0 0 65 200 3749 12128 5096 108 0 2056 652 2 0xffff883ffb6a7e80 260 0.09% 15 3 12 161 161 0 1 1 15 99 25 50 0 6 1 3 0xffffffff81aec000 157 0.07% 9 0 9 1 0 1 0 7 20 156 50 59 0 27 4 4 0xffffffff81e3f540 179 0.06% 9 1 8 117 97 20 0 10 25 62 11 1 0 24 7Esta tabla está ordenada en forma descendente por la cantidad de HITM remotos detectados por línea de caché. Un número alto en la columna \ "Rmt" de la sección \ "LLC Load Hitm" indica una falsa compartición y requiere una mayor inspección de la línea de caché en la que se produjo para depurar la actividad de falsa compartición.