En VMware ESXi 5.x, ¿hay alguna diferencia si selecciono 2 núcleos de CPU frente a 2 zócalos de CPU?

16

El título lo dice todo. Me pregunto si esto marca la diferencia en la forma en que las máquinas virtuales procesarán las cosas y si un método es preferible frente a otro.

Windows Ninja
fuente

Respuestas:

17

No, su VM debe realizar lo mismo y utilizará los mismos recursos en el host. Es solo una opción de diseño que se agregó principalmente para agregar cierta flexibilidad donde su sistema operativo o software puede tener requisitos de licencia de CPU.

Cada socket / core representará un núcleo físico en el host. Recuerde que más núcleos no es automáticamente algo bueno debido a los requisitos de programación.

Dan
fuente
Acabo de leer un artículo sobre el problema de programación durante el fin de semana cuando estaba tratando de resolver un problema con algo. Muy interesante. Gracias por su rápida respuesta.
Windows Ninja el
1
Enlace al artículo?
SpacemanSpiff
12

El objetivo principal de la opción de núcleos / sockets es proporcionar flexibilidad con el software que puede tener requisitos de tiempo de ejecución o de licencia en función del número de sockets "físicos" o núcleos de CPU.

Si bien no hay ninguna diferencia en el rendimiento entre varios núcleos en un socket frente a una combinación de tomas múltiples, existe ES una ligera diferencia en la operación si se habilita o requiere la función de la CPU adición en caliente de la máquina virtual.

Con la función de adición en caliente de la CPU VMware, puede agregar un socket a una VM en ejecución, pero no núcleos adicionales . Por extraño que parezca, esto es algo con lo que me encuentro en la producción en el trabajo y ha influido en la forma en que configuro las nuevas máquinas virtuales.

ewwhite
fuente
Caso interesante: ¡vale la pena saberlo!
Dan
1

En términos generales, hará poca o ninguna diferencia de rendimiento.

Un sistema operativo suficientemente complejo puede alterar su heurística de programación (por ejemplo, mantener subprocesos estrechamente relacionados en los núcleos en el mismo paquete, que con algunos diseños de chips puede aumentar la eficiencia de cómo se usa la caché compartida entre los núcleos) dependiendo de la disposición de los sockets (poblados) y núcleos. En una configuración virtualizada, es probable que cualquier diferencia sea insignificante o se vuelva completamente discutible debido a la forma en que el hipervisor programa el acceso a la CPU para las máquinas virtuales invitadas, a menos que el hipervisor sea bastante inteligente sobre la programación central entre / dentro de las máquinas virtuales también.

Como Dan señala, debe comparar sus tareas (de manera realista: es decir, con otra actividad en el host, no solo en un entorno de prueba donde la VM en cuestión es la única en ejecución) para asegurarse de que múltiples vCores / vCPU / ambos es realmente beneficioso para su desempeño. La forma en que se programa el acceso a los núcleos puede introducir retrasos que eliminan cualquier beneficio y, de hecho, hacen que las cosas sean más lentas en general. el mismo hardware que un número menor de máquinas virtuales multinúcleo (donde "número2 más pequeño incluye uno) (aunque, por supuesto, es probable que imponga una carga de memoria mucho mayor en el host).

David Spillett
fuente