Comment vérifier si le serveur est compatible NUMA?

11

Mon patron veut savoir si le HP DL320 G5 est compatible NUMA. J'ai essayé de parcourir Internet, mais je ne trouve aucune information spécifique.

Est-ce que quelqu'un sait tout de suite si ce serveur convient pour exécuter des applications NUMA?

Eamorr
la source
4
Demandez à HP? Ils devraient savoir.
Sven

Réponses:

21

Opterons et Nelahem (55xx et versions ultérieures) Les Xeons ont une architecture NUMA - chaque socket a son propre bus mémoire et il existe un lien entre les sockets. Ce lien est appelé Hypertransport sur les systèmes Opteron et Quickpath sur les Xeons. Le G5 est antérieur à Nelahem et utilise toujours l'ancien bus frontal, qui n'est pas une architecture NUMA.

Les Opterons et les Xeons 35xx / 55xx ou ultérieurs peuvent utiliser un mode d'adressage NUMA pur, où la mémoire de chaque socket vit dans une section contiguë de l'espace d'adressage physique. Si vous souhaitez exécuter une application prenant en charge NUMA (par exemple, la prise en charge de l'affinité du processeur), vous pouvez configurer le système pour qu'il s'exécute dans ce mode.

Les systèmes de ce type ont également un mode hérité où les pages 4K individuelles alternent entre les sockets, de sorte que l'accès à la mémoire est finement mélangé entre les sockets. Cela a un léger surcoût de performance car la moitié de tous les accès à la mémoire doivent traverser le bus Hypertransport vers l'autre socket (Quickpath dans le cas des Xeons). Cependant, la plupart des accès seront mis en cache, de sorte que la surcharge de performances est relativement faible.

Ce mode permet aux systèmes d'exécuter efficacement des applications non compatibles NUMA. Il s'agit généralement du mode par défaut dans lequel le système démarre. Normalement, vous pouvez le configurer dans le BIOS.

Votre G5 ne fonctionnera pas en mode NUMA car il possède une architecture de bus frontale. FSB est un bus unique partagé par la mémoire et tous les sockets du processeur, il a donc des caractéristiques d'accès à la mémoire uniformes , c'est-à-dire pas NUMA. Je ne connais aucune application wintel ou lintel qui dépende d'une architecture NUMA; les chances sont que l'application n'a pas besoin de NUMA mais la soutiendra si elle est présente. Vous pouvez probablement toujours exécuter l'application sur votre ancien système G5. La pertinence dépend de l'application et de ce que vous souhaitez réaliser.

Prise en charge de NUMA dans les applications

Certaines applications (SQL Server en est un exemple) peuvent réaliser des gains de performances significatifs en optimisant la mémoire, l'utilisation d'E / S et la planification afin de minimiser les pénalités pour l'accès non local. L'implémentation de la prise en charge NUMA dans une application nécessite que les fonctionnalités de prise en charge soient disponibles à partir du système d'exploitation, telles que:

  • Affinité du planificateur: un thread peut être placé dans un pool qui a la préférence de planifier sur un ou un groupe de processeurs. Notez que NUMA peut avoir plus d'un processeur sur un seul bus mémoire - dans le cas d'un Opteron ou d'un Xeon multicœur, les cœurs d'un seul dé partagent tous le même bus. Cela permet au thread de demander de la mémoire locale ou d'utiliser des pools de mémoire locale au pool de CPU. En outre, lorsqu'un thread est conservé sur un processeur local, il minimise le thrashing du cache, car au fur et à mesure que le thread est planifié - le jeu de travail n'est que le jeu de threads utilisant ce noyau particulier.

  • Affinité de mémoire: un thread peut demander de la mémoire et spécifier qu'elle doit ou doit être disponible de la mémoire locale vers un socket. Garder la mémoire et l'utilisation du processeur sur le même bus minimise la surcharge de l'accès à la mémoire non locale. Les frais généraux ne sont pas aussi élevés sur les systèmes NUMA modernes, mais l'accès non local était beaucoup plus lent sur les systèmes plus anciens tels que les premiers équipements Sequent.

  • Affinité d'E / S: les bus périphériques peuvent être liés à un processeur local, de sorte que la gestion des E / S peut être planifiée sur des processeurs proches des E / S. La plupart des systèmes NUMA ont plusieurs bus d'E / S, donc la planification des gestionnaires d'interruption et du DMA dans la mémoire locale offre un certain avantage en termes de performances d'E / S.

ConcernedOfTunbridgeWells
la source
1
Information très utile. Merci beaucoup de m'avoir fait gagner autant de temps.
Eamorr
5

Les premiers NUMA Xeons étaient la série 55xx, que votre G5 ne peut pas prendre, donc ce n'est pas le cas.

Chopper3
la source
Acclamations pour la réponse et éclaircissant cela pour moi.
Eamorr