Vista de núcleos

Vista de núcleos muestra cómo se asignó la ejecución de los subprocesos a los núcleos del procesador lógico (elija Analizar>Visualizador de simultaneidad para iniciar el visualizador de simultaneidad). Si está escribiendo aplicaciones de servidor, esta vista puede ayudarlo a optimizar el rendimiento de la memoria caché mediante el uso de administración de grupos de subprocesos o de afinidad de subprocesos. También puede ayudarlo a examinar los casos en que el uso de la afinidad de subprocesos puede haber empeorado el problema de la migración entre núcleos. La vista Núcleos tiene dos partes: un gráfico y una leyenda.

El gráfico muestra los núcleos lógicos en el eje Y y el tiempo en el eje X. Cada subproceso del gráfico tiene un color único para que pueda seguir su movimiento entre núcleos a lo largo del tiempo. Puede filtrar los subprocesos de este gráfico si los selecciona en el área de la leyenda.

El área de la leyenda tiene una entrada para cada color del gráfico. Cada entrada muestra el color y el nombre del subproceso, el número de cambios de contexto entre núcleos, el número total de cambios de contexto y el porcentaje de cambios de contexto que atraviesan núcleos. La leyenda se ordena por el número de cambios de contexto entre núcleos, en orden decreciente. Enumera únicamente los subprocesos ejecutados durante el intervalo de tiempo mostrado. La lista se actualiza si hace zoom o un movimiento panorámico.

Leyenda de la vista Núcleos

La leyenda de la vista Núcleos identifica cada subproceso por color y nombre. Incluye columnas que muestran recuentos para los cambios de contexto entre núcleos, el total de cambios de contexto y el porcentaje de cambios de contexto que atraviesan núcleos. Las filas de la leyenda se ordenan por el número de cambios de contexto entre núcleos, en orden decreciente.

Puede seleccionar filas de la leyenda para filtrar los subprocesos que se muestran en la escala de tiempo. En la escala de tiempo solo se muestran los subprocesos seleccionados. Si no se selecciona ninguna fila, todas las filas se muestran en la escala de tiempo.

Los cambios de contexto entre núcleos tienen un mayor coste de rendimiento y sobrecarga que los cambios que permanecen en el mismo núcleo lógico. Durante los cambios de contexto, se guardan y se restauran los registros del procesador, se ejecuta el código de kernel del sistema operativo, se recargan las entradas de búfer de traducción de direcciones y se vacía la canalización del procesador. Los cambios de contexto entre núcleos pueden ser incluso más costosos que otros cambios de contexto porque los datos de la memoria caché no son válidos para este subproceso en otro núcleo. En cambio, si un subproceso se cambia de contexto en el núcleo en que se ejecutó previamente, es probable que los datos útiles estén todavía en la memoria caché. Cuando los cambios de contexto entre núcleos han aumentado a causa de intentos de administrar la afinidad de subprocesos y el rendimiento se degrada, considere la posibilidad de abordar este problema. Comience por eliminar la afinidad de subprocesos y, a continuación, observe el comportamiento entre núcleos resultante.

En la siguiente tabla se describen los elementos de la leyenda.

Elemento Definición
Nombre del subproceso Muestra el color del subproceso en la escala de tiempo de núcleos anterior y el nombre del subproceso.
Cambios de contexto entre núcleos El número de cambios de contexto para un subproceso que también cambió de un núcleo lógico a otro. No distingue los cambios de contexto entre núcleos que pasan de una matriz de procesadores a otra de los que permanecen en la misma matriz.
Total de cambios de contexto El número total de cambios de contexto para un subproceso determinado durante el periodo de muestreo. Cada vez que un subproceso cambia de contexto (por ejemplo, de ejecución a sincronización), se cuenta un cambio de contexto.
Porcentaje de cambios de contexto que atraviesan núcleos Se calcula como un porcentaje obtenido de la división del número de cambios de contexto entre núcleos entre el número total de cambios de contexto. Cuanto mayor sea este porcentaje, mayor será el efecto general de la sobrecarga de cambios de contexto entre núcleos en el rendimiento de este subproceso concreto.

Escala de tiempo de la vista Núcleos

Cada fila de la escala de tiempo representa un núcleo de procesador lógico del sistema para el que se genera el perfil. Para cada fila, el eje horizontal muestra qué subproceso se estaba ejecutando en un núcleo lógico en un momento dado. Puede desplazar el puntero sobre un color de interés en una escala de tiempo para devolver información que identifica el subproceso. Para facilitar la identificación del subproceso, la leyenda en la parte inferior de la ventana muestra qué representa cada color. Utilice la herramienta Zoom para acercar y alejar; para ello, haga clic y arrastre o presione la tecla Ctrl y mueva la rueda del mouse. La coherencia de zoom se mantiene al cambiar entre la vista de núcleos y subprocesos.

Núcleos lógicos de la vista Núcleos

Cada nombre de canal representa uno de los núcleos lógicos que existen en el sistema para el que se genera el perfil. La nomenclatura cuenta desde 0 hasta el número total de núcleos lógicos. Por ejemplo, un sistema de cuatro núcleos contará desde el núcleo lógico 0 hasta el núcleo lógico 3.

Herramienta de zoom de vista de núcleos

El control de zoom es un control deslizante que le permite acercar y alejar la escala de tiempo para que pueda centrarse en áreas de especial interés. Este control hace zoom en el centro de la vista actual, por lo que debe ajustar la vista antes de acercar.

Otras maneras de hacer zoom

  • Acercar: arrastre para seleccionar un área en la vista de escala de tiempo. Al soltar el botón del mouse, la vista de escala de tiempo acerca el rango seleccionado.

  • Acercar y alejar: Mantenga el puntero sobre la escala de tiempo y presione Ctrl mientras mueve la rueda del mouse.