¿Cómo afecta la topología de vCPU (sockets/núcleos/hilos) al rendimiento informático de una VM?

¿Cómo afecta la topología de vCPU (sockets/núcleos/hilos) al rendimiento informático de una VM?

Tengo un host Ubuntu con un procesador AMD Matisse (12C 24T). Al iniciar máquinas virtuales usando libvirt (QEMU+KVM), existe la opción de configurar la topología de la CPU.

Casi todas las PC de consumo tienen CPU de un solo socket con múltiples núcleos y hasta 2 subprocesos por núcleo (HT), por lo que me siento tentado a establecer una topología similar para la VM. Me pregunto si esta configuración por sí sola (suponiendo que el total de subprocesos de la CPU permanece constante) afecta el rendimiento de la VM o la utilización de la CPU del host, por ejemplo, con respecto a la programación.

Respuesta1

Lo más probable es que eso afecte al programador del sistema operativo invitado, porque en el sistema multisocket NUMA hay cachés separados en cada CPU y los tiempos de acceso a la RAM son diferentes, dependiendo de dónde esté conectada la RAM a la que se accede. Cualquier sistema operativo adecuado tendrá en cuenta esto (o simplemente dejará de funcionar, como lo hace Windows para el consumidor).

No veo ninguna razón para que la configuración informada sea diferente del hardware asignado real, aparte de probar el sistema operativo invitado engañándolo haciéndole creer que se está ejecutando en algún sistema exótico. En cuanto al rendimiento, no debería tener ningún efecto o tener un efecto negativo.

información relacionada