Voici une réponse d'un technicien de RedHat. Bien que je croie que la plupart du matériel d'entreprise soit compatible NUMA. Et autant que je sache, VMware essaiera également d'adapter vos VMs sur le même nœud NUMA tant que sa configuration CPU convient.
Les expériences (surtout en ce qui concerne VMware) seraient grandement appréciées.
C'est vrai "en raison" des serveurs modernes. Gardez à l'esprit que Multi-CPU/Multi-Core n'est pas la même chose que NUMA. Il existe de nombreux systèmes Multi-CPU/Core qui n'ont pas de NUMA.
Avant de lire mon explication ci-dessous, veuillez lire le document sur l'affinité IRQ ci-dessus, ainsi que les guides suivants :
Guide d'optimisation des performances RHEL 6
Optimisation de la latence pour RHEL 6
Vous avez tout lu ? Super, vous n'avez plus besoin de rien de ma part! ;-) Mais au cas où vous seriez impatient, voici pourquoi vous en avez besoin...
IRQbalance garde toutes les demandes d'IRQ de s'accumuler sur un seul CPU. J'ai vu de nombreux systèmes avec 4+ cœurs de CPU fonctionner lentement car tous les processus sur différents CPU attendent que le CPU 0 traite les demandes d'IRQ réseau ou de stockage. Le CPU 0 semble très, très occupé, tous les autres CPU ne sont pas occupés, mais les applications sont très lentes. Les applications sont lentes car elles attendent leurs demandes E/S du CPU 0.
IRQbalance essaie d'équilibrer intelligemment tout cela sur tous les CPU et, si possible, place le traitement des IRQ aussi près que possible du processus. Cela peut être le même cœur, un cœur sur la même puce partageant le même cache, ou un cœur dans la même zone NUMA.
Vous devriez utiliser irqbalance sauf si :
Vous épinglez manuellement vos applications/IRQ à des cœurs spécifiques pour une très bonne raison (faible latence, exigences temps réel, etc.)
Invités virtuels. Cela n'a pas vraiment de sens car à moins que vous ne fixiez l'invité à des CPU et des IRQ spécifiques et un matériel réseau/stockage dédié, vous ne verrez probablement pas les avantages que vous auriez sur du métal nu. Mais votre hôte KVM/RHEV DEVRAIT utiliser irqbalance et numad et tuned.
D'autres outils d'optimisation très importants sont les profils de tuned et numad. Renseignez-vous à leur sujet ! Utilisez-les !
Numad est similaire à irqbalance en ce sens qu'il essaie de s'assurer qu'un processus et sa mémoire se trouvent dans la même zone numa. Avec de nombreux cœurs, nous constatons une réduction significative des latences, ce qui se traduit par des performances beaucoup plus fluides et fiables sous charge.
Si vous êtes compétent, diligent et surveillez régulièrement ou avez une charge de travail très prévisible, vous pourriez obtenir de meilleures performances en fixant manuellement des processus/IRQ à des CPU. Même dans ces situations, irqbalance et numad s'approchent beaucoup de l'égalisation. Mais si vous n'êtes pas sûr ou si votre charge de travail est imprévisible, vous devriez utiliser irqbalance et numad.