Le Xeon Nehalem a des faiblesses côté mémoire
Le contrôleur mémoire du dernier-né d'Intel est supposé supporter la mémoire DDR-3 à 1333 MHz. Problème, ce contrôleur se révèle incapable de maintenir cette fréquence si plus de six barrettes DIMM sont présentes dans les serveurs; il bascule alors à 1066 MHz, ou pire à 800 MHz ce qui a un impact très négatif sur les performances. Autant dire que les entreprises doivent choisir avec prudence leur mémoire sous peine de surpayer des modules dont elles ne tireront pas pleinement profit.
En lançant sa dernière puce pour serveurs, le Xeon 5500 « Nehalem », Intel s'est bien gardé de communiquer sur les caractéristiques très particulières du contrôleur mémoire de la puce et, notamment, son inaptitude à gérer un grand nombre de barrettes mémoires à leur fréquence optimale.
Officiellement, les plus véloces des Xeon « Nehalem » supportent des barrettes de mémoire DDR-3 cadencées à 1333 MHz. Le problème est que que cette fréquence n'est supportée qu'avec un maximum de 6 barrettes DIMM (3 barrettes par processeur, toutes positionnées sur le premier rang de sockets DIMM). Dès que l'on commence à insérer des barrettes mémoires dans le second rang de barrettes DIMM, le contrôleur mémoire intégré des Xeon « Nehalem » commence à montrer ses faiblesses. Ne pouvant gérer les barrettes à leur plein potentiel, il réduit la fréquence du bus mémoire à 1066 MHz, affectant ainsi la performance mémoire de l'ensemble du système.
Pire, dans les serveurs équipés de 18 emplacements DIMM (3 rangées de barrettes mémoire), la fréquence plonge à 800 MHz si toutes les banques sont peuplées. Soit une baisse de près de 40% de la fréquence du bus mémoire. Nul besoin d'être un génie pour déduire que ces faiblesses du contrôleur mémoire des Xeon 5500 ont des conséquences non négligeables sur les performances. Comme l'explique IBM dans un livre blanc technique pudiquement intitulé « optimiser la performances des serveurs IBM System x et BladeCenter à base de processeurs Intel Xeon 5500 », la réduction de la fréquence mémoire à 800 MHz au lieu de 1333 MHz dans un serveur à 18 emplacements mémoire se traduit par une chute de la bande passante mémoire de plus de 28% et par une augmentation de la latence de l'ordre de 10%.
Notons qu'il est tout à l'honneur d'IBM de le préciser. Ses concurrents sont souvent plus « pudiques » sur le sujet, tout autant qu'Intel. Le problème est que le fondeur a notamment mis en avant les capacités de ses nouvelles puces dans le domaine de la virtualisation et il a réalisé les benchmarks nécessaires pour asseoir son propos. Problème : la plupart des tests sont menés avec le premier rang de barrettes mémoire bourré de DIMM 8 Go à 1333MHz. Dernier prix affiché par Kingston pour ces dernières : plus de 3000 $ l'unité. A défaut, ils le sont avec des modules 4 Go, vendus aux environs de 500 à 600 $. A ce prix, les résultats de test ont intérêt à être bons - et ils le sont, les Xeon "Nehalem" affichant des performances impressionnantes.
Trouver le meilleur rapport performances/prix
Aujourd'hui, le meilleur compromis « performance/prix » en matière de mémoire pour les Xeon « Nehalem » semble être l'usage de barrettes DIMM de 4 Go à 1066 MHz. La pénalité en bande passante n'est que de 9 à 10% par rapport aux barrettes les plus rapides et le prix est bien plus raisonnable. Ces modules permettent de disposer d'un total de 48 Go de RAM sur les serveurs à 12 emplacements mémoires – la plupart des serveurs lames et des serveurs Rack 1U. Surtout, il est une règle à respecter absolument pour éviter de jeter de l'argent par les fenêtres sur la mémoire avec les Xeon « Nehalem » : si vous entendez utiliser le second rang mémoire des serveurs, il ne sert à rien d'investir dans de coûteuses barrettes à 1333 MHz, mieux vaut dès le départ n'acheter que des modules mémoire à 1066 MHz.
Et si, par malheur, vous entendez utiliser l'ensemble des supports mémoire d'un serveur à 18 slots DIMM, rien ne sert de dépenser de l'argent en modules 1066 ou 1333 MHz, le 800 MHz suffira largement : les derniers Xeon « Nehalem » ne savent pas faire mieux... Et il faudra alors accepter la pénalité de 28% de réduction de la bande passante, dont on devine qu'elle se traduira par une vraie dégradation des performances des applications sensibles à la mémoire...