Mémoire vive en mode miroir: cela en vaut-il la peine?

18

Pas vraiment familier avec le "mode de canal en miroir" d'Intel pour une configuration de serveur lame (votre base de données MySQL OLTP modérément lourde fonctionnant sur la lame de métal nu; pas de virtualisation pour le moment).

À partir des documents Intel, j'ai pu trouver:

Les processeurs Intel Xeon série 5500 et Intel Xeon processeurs 5600 prennent en charge la mise en miroir des canaux pour configurer les canaux disponibles des modules DIMM DDR3 dans la configuration en miroir. La configuration en miroir est une image redondante de la mémoire et peut continuer à fonctionner malgré la présence d'erreurs sporadiques non corrigibles. La mise en miroir des canaux est une fonction RAS dans laquelle deux images identiques de données de mémoire sont conservées, offrant ainsi une redondance maximale.

Sur les cartes serveur Intel basées sur les processeurs Intel Xeon Processor série 5500 et Intel Xeon Processor série 5600, la mise en miroir est réalisée sur tous les canaux. Les canaux actifs contiennent l'image principale et les autres canaux contiennent l'image secondaire de la mémoire système. Le contrôleur de mémoire intégré des processeurs Intel Xeon Processor série 5500 et Intel Xeon Processor série 5600 alterne entre les deux canaux pour les transactions de lecture. Les transactions d'écriture sont émises vers les deux canaux dans des circonstances normales.

Cependant, je ne sais pas vraiment ce qu'ils posent ici. Je perds la moitié de ma capacité de stockage, mais j'obtiens une "redondance" de mémoire et des gains de performances en lecture / écriture possibles? Comme RAID 1 pour RAM? Quelqu'un a-t-il une expérience pratique de cette configuration?

gravyface
la source

Réponses:

7

Personnellement, j'utiliserais plus tôt une certaine forme de clustering plutôt que ce niveau de résilience matérielle. Il est logique que les composants cheapo tels que les disques se doublent, mais la mise en miroir de la mémoire est un atout mais pas très utile. Je veux dire ce qui est le plus susceptible d'échouer; un CPU, votre OS, votre logiciel, votre mobo, vos PSU / s. J'aurais plutôt investi dans le clustering.

Chopper3
la source
1
Mes pensées exactement: bien que certainement utile pour un point de défaillance très spécifique, je pourrais cocher beaucoup plus de "cases" HA en empruntant la route de clustering avec une ou deux lames (et probablement un autre châssis dans un autre centre de données).
gravyface
1
le clustering ne vous aidera pas lorsque les calculs doivent être effectués dans les délais ou dans un cadre de dents. Dans certaines situations, le basculement prend plus de temps que l'opération à effectuer
Jim B
7

"RAID 1 pour RAM" est une description précise. D'après mon expérience, il n'y a pas beaucoup d'avantages en termes de performances, mais en fonction de la vitesse du bus par rapport à la vitesse des modules, votre kilométrage peut varier.

En ce qui concerne la redondance ... eh bien, ce n'est pas très souvent qu'un module va mal.

Personnellement, je désactive la mise en miroir chaque fois que je la vois activée.

Shane Madden
la source
2
merci Shane. Avez-vous déjà effectué des analyses comparatives avant / après?
gravyface
@gravyface Je ne peux pas dire que je l'ai, malheureusement; n'ont tout simplement pas remarqué une performance discernable différente sur vs off (sur les serveurs de base de données et les hôtes vm). Certains chiffres durs seraient certainement bien.
Shane Madden
2
Je vais ensuite faire quelques repères. Voyez si cela fait une différence. Je ne peux pas dire que l'avantage de correction d'erreur ressemble à un avantage tangible, mais je suis curieux de voir comment il fonctionne. Je vais attendre quelques jours pour obtenir des réponses supplémentaires, puis marquer cela correctement.
gravyface
Je vois que les gradateurs se dégradent régulièrement, mais étant donné la taille de l'environnement, je devrais voir 1 gradateur toutes les 2 semaines (statistiquement parlant)
Jim B
4

J'ai lu que ce genre de chose (vous pouvez aussi le faire avec les processeurs) est très utile dans les énormes grappes de superordinateurs.

Certains de ces clusters exécutent tellement de machines qu'il y aura une panne de machine toutes les deux heures. Plus vite que les travaux ne peuvent se terminer. Cela gâche vraiment le calcul. L'ajout d'une redondance comme celle-ci à chaque nœud peut plus que doubler le délai entre les pannes.

Zan Lynx
la source
c'est donc des trucs haut de gamme qui se retrouvent maintenant dans le courant dominant, je suppose. Ne voyant pas vraiment beaucoup de valeur pour mes besoins. Merci quand même.
gravyface
Oui, c'est haut de gamme. Attendez jusqu'à ce que vous obteniez un CPU enfichable à chaud ET UN MIROIR CPU (!) Dans un PC;) Les mainframes peuvent basculer vers un autre processeur en cas de défaillance.
TomTom
3

Ce mode de mémoire a été vraiment conçu pour les situations où vous avez besoin d'une haute disponibilité. Vous ne devriez pas voir beaucoup de différence de performances (car la perte d'un canal n'est probablement pas perceptible dans des opérations normales), mais vous perdez en fait beaucoup de RAM. Lorsque la mise en miroir est activée, seul un tiers de la mémoire totale est disponible car deux emplacements DIMM sont le canal principal, deux emplacements DIMM sont le canal de sauvegarde et deux emplacements DIMM ne sont pas utilisés. (du moins c'est comme ça sur IBMs)

Je recommande généralement de le désactiver (si vous avez une application ou un système d'exploitation qui aime ram - et avouons-le: y en a-t-il un qui ne le fait pas?) Ou d'économiser pour mettre à niveau le chipset ex5 d'IBM (hp et autres bientôt à suivre avec des offres similaires) qui ajoute un bateau plus QPI.

Il y a occasionnellement "ce serveur doit être opérationnel quel que soit le nombre de tirs qui lui sont tirés" et ce type de redondance aide. De plus, si vous avez acheté moins de RAM de qualité stellaire, cela pourrait vous faire économiser un écran bleu ou 2.

Jim B
la source
Ouais, je ne vois pas grand-chose pour ça en ce moment. Évidemment, personne n'aime les temps d'arrêt, mais lorsque nous aborderons HA, nous examinerons très certainement le clustering.
gravyface
1
ceci en réponse à votre "voir un mauvais DIMM toutes les deux semaines" - combien de fois voyez-vous de mauvais DIMM après la période de grâce? Je ne me souviens pas avoir eu une mauvaise RAM une fois en production; Je le remarque généralement les premières heures / jours sous une charge de travail typique.
gravyface
Nos résultats reflètent le taux que google voit cs.toronto.edu/~bianca/papers/sigmetrics09.pdf . Nous avons des serveurs configurés de la même façon, des cartes entièrement peuplées avec beaucoup de gradateurs et des applications gourmandes en mémoire. En regardant 1 de mes environnements vmware, je vois 3 mauvais dimms sur 18 IBM hs22vs entièrement peuplés (324 dimms) Ces serveurs sont en service depuis environ un an maintenant.
Jim B