Ecco una risposta da un tecnico in RedHat. Anche se credo che la maggior parte dell'hardware aziendale sia compatibile con NUMA. E per quanto ne so VMware cercherà anche di adattare le VM sullo stesso nodo NUMA purché si adatti alla sua configurazione CPU.
Le esperienze (specialmente riguardo a VMware) sarebbero molto apprezzate.
Questo è vero "perché" dei server moderni. Tieni presente che Multi-CPU / Muli-Core non è uguale a NUMA. Esistono molti sistemi multi-CPU / core che non dispongono di NUMA.
Prima di leggere la mia spiegazione di seguito, leggere il documento di Affinity IRQ sopra, nonché le seguenti guide:
Guida all'ottimizzazione delle prestazioni di RHEL 6
Ottimizzazione delle prestazioni a bassa latenza per RHEL 6
Hai letto tutto ciò? Fantastico, non hai bisogno di sentire altro da me! ;-) Ma nel caso fossi impaziente, ecco perché li vuoi ...
IRQbalance evita il backup di tutte le richieste IRQ su una singola CPU. Ho visto molti sistemi con 4+ core della CPU funzionare lentamente perché tutti i processi su varie CPU sono in attesa su CPU 0 per elaborare le richieste IRQ di rete o di archiviazione. La CPU 0 sembra molto, molto occupata, tutte le altre CPU non sono occupate, ma le app sono molto lente. Le app sono lente perché attendono le loro richieste IO dalla CPU 0.
IRQbalance cerca di bilanciare questo in modo intelligente attraverso tutte le CPU e, quando possibile, avvicina il più possibile l'elaborazione dell'IRQ al processo. Potrebbe trattarsi dello stesso core, un core sullo stesso die che condivide la stessa cache o un core nella stessa zona NUMA.
Dovresti usare irqbalance a meno che:
Stai bloccando manualmente le tue app / IRQ su core specifici per una ragione molto buona (bassa latenza, requisiti in tempo reale, ecc.)
Ospiti virtuali. Non ha davvero senso perché, a meno che non si stia bloccando il guest su CPU e IRQ specifici e hardware di rete / archiviazione dedicato, è probabile che non si vedano i vantaggi che si avrebbero sul bare metal. Ma il tuo host KVM / RHEV DOVREBBE usare irqbalance, numad e accordato .
Altri strumenti di ottimizzazione molto importanti sono i profili sintonizzati e numad. Leggi di loro! Usali!
Numad è simile all'irqbalance in quanto cerca di assicurarsi che un processo e la sua memoria siano nella stessa zona numa. Con molti core notiamo una significativa riduzione delle latenze che si traduce in prestazioni affidabili molto più fluide sotto carichi.
Se sei abile, diligente e controlla regolarmente o hai un carico di lavoro molto prevedibile, puoi ottenere prestazioni migliori bloccando manualmente i processi / IRQ sulle CPU. Anche in queste situazioni, irqbalance e numad si avvicinano molto alla corrispondenza. Ma se non sei sicuro o il tuo carico di lavoro è imprevedibile, dovresti usare irqbalance e numad.