Comment savoir si je dois désactiver NUMA virtuel sur des machines virtuelles exécutant des applications plus anciennes?

9

Depuis les documents de VMware:

La topologie NUMA virtuelle est disponible pour les machines virtuelles matérielles de la version 8 et est activée par défaut lorsque le nombre de CPU virtuels est supérieur à huit. Vous pouvez également influencer manuellement la topologie NUMA virtuelle à l'aide des options de configuration avancées.

Disons donc que j'ai une machine virtuelle à laquelle j'ai affecté 8 processeurs - son exécutant Virtual NUMA. Si j'ai une ancienne application non compatible NUMA en cours d'exécution sur le serveur, ne fonctionnerait-elle pas très mal ou du moins pas aussi bien qu'en mode non V-NUMA?

Je suppose que V-NUMA est activé comme ceci parce que si un fournisseur d'application recommande 8 cœurs ou plus, le logiciel serait probablement au courant de NUMA. Ou existe-t-il de nombreuses applications avec prise en charge multicœur, mais pas la prise en charge NUMA?

Comment identifier un goulot d'étranglement causé par ce problème possible?

Edit: Avez-vous pensé à une métrique dans vCenter pour surveiller les appels NUMA à distance?

red888
la source
4
J'ai supprimé ma réponse proposée car je ne pense pas que ce soit ce que vous recherchez. Si j'avais plus d'informations sur la configuration de votre hôte, je pourrais peut-être vous fournir plus d'assistance. Mon opinion personnelle est qu'en général, vNUMA ne nuit pas aux applications non numériques, mais cela ne répond pas seulement à une opinion. Il y a un grand nombre de variables qui peuvent affecter les performances des VM et pendant mes années de travail avec VMware, je n'ai jamais trouvé vNUMA responsable d'un problème de performances.
Stewpudaso

Réponses:

1

L'article: " NUMA Deep Dive Part 1: From UMA to NUMA " recommande " Intel Memory Latency Checker v3.5 ", un article plus court " VMware vSphere - Pourquoi vérifier la configuration de NUMA est si important! " (D'où j'ai obtenu ce lien) explique:

"La principale conséquence est que l'accès à la mémoire cpu est toujours le plus rapide lorsque le cpu peut accéder à sa mémoire locale. Les nœuds NUMA sont des couples CPU / mémoire. En général, le socket du CPU et les banques de mémoire les plus proches ont construit un nœud NUMA. Chaque fois qu'un processeur doit accéder à la mémoire d'un autre nœud NUMA, il ne peut pas y accéder directement, mais il doit y accéder via le processeur propriétaire de la mémoire. "

Configurez donc correctement votre NUMA, avec suffisamment de mémoire pour chaque CPU, avant de démarrer votre VMM et d'allouer des vNUMA.

Sous VMware, vous pouvez utiliser esxtop, tapez "m", "f" et "G" pour activer les informations NUMA. En savoir plus sur esxtop ici: YellowBricks et les anciens documents de VMWare: " Interpreting esxtop Statistics ".

Une fois NUMA réglé, vous pouvez tester que votre allocation de vNUMA n'appelle pas sur la mémoire non locale à l'aide de l'outil d'Intel.

Rob
la source