Accueil Entreprise Examen de la machine à mémoire MemVerge

Examen de la machine à mémoire MemVerge

Supermicro sys-2029U-Tn24R4t Clouse pour le projet Memverge

La mémoire a toujours été le seul type de matériel qui a tenu la promesse de vitesses massives. Il y a quelques inconvénients : il est cher, sa capacité est limitée et il n'est pas persistant (afin de conserver les données, la mémoire doit être alimentée, ce qui est encore plus problématique car la mémoire a besoin d'un rafraîchissement périodique). Intel et Micron ont annoncé il y a environ trois ans la technologie 3DXPoint qui serait la première étape vers la mémoire persistante. Bien que cette technologie ne soit pas aussi rapide que la mémoire, elle était beaucoup plus rapide que le stockage flash et beaucoup plus rentable. Voyant le potentiel de la mémoire persistante, MemVerge a été lancé pour réaliser ce potentiel.

La mémoire a toujours été le seul type de matériel qui a tenu la promesse de vitesses massives. Il y a quelques inconvénients : il est cher, sa capacité est limitée et il n'est pas persistant (afin de conserver les données, la mémoire doit être alimentée, ce qui est encore plus problématique car la mémoire a besoin d'un rafraîchissement périodique). Intel et Micron ont annoncé il y a environ trois ans la technologie 3DXPoint qui serait la première étape vers la mémoire persistante. Bien que cette technologie ne soit pas aussi rapide que la mémoire, elle était beaucoup plus rapide que le stockage flash et beaucoup plus rentable. Voyant le potentiel de la mémoire persistante, MemVerge a été lancé pour réaliser ce potentiel.

Les premiers appareils 3D XPoint que nous avons vus étaient plus ciblés sur le stockage. Au fil du temps, Intel a exploité la mémoire persistante 3D XPoint (PMem) pour créer un SSD plus rapide. Plus tard, Intel a annoncé un module de mémoire persistante qui se trouvait dans l'emplacement DIMM et agissait comme une extension de la DRAM. Alors que dans le passé, nous voyions de la mémoire pour les besoins rapides et du stockage pour les gros besoins, PMem a commencé à brouiller les lignes. MemVerge tente de combiner le meilleur des deux mondes, en permettant des performances DRAM avec une grande capacité et une grande persistance.

MemVerge a étudié le paysage de la mémoire persistante et développé un logiciel pour permettre à PMem d'atteindre son potentiel plutôt que de l'exploiter comme cache, niveau de vitesse ou extension de mémoire. La société utilise ce qu'elle appelle l'informatique Big Memory pour transformer les environnements uniquement DRAM en environnements de mémoire à moindre coût et, plus important encore, à plus haute densité qui exploitent à la fois DRAM et PMem. Pour ce faire, il virtualise les deux dans un pool de mémoire définie par logiciel qui fournit également des services définis par logiciel. En plus de ce qui précède, le logiciel offre une couche d'abstraction qui permet à toutes les applications d'un centre de données de bénéficier de nouveaux types de mémoire, d'interconnexions de mémoire, de processeurs et d'allocateurs de mémoire pour répondre aux applications et charges de travail modernes et émergentes.

De retour en septembre de l'année dernière, MemVerge a publié la disponibilité générale de sa Memory Machine. Le logiciel est proposé en deux versions : la version standard qui virtualise les applications de vitesse de mémoire DRAM et PMem adressables en octets et réduit les coûts, mais ne permet pas la persistance ; et AdvancedVersion qui est tout ce qui précède avec la persistance activée, ainsi que des services de mémoire de classe entreprise basés sur des instantanés en mémoire ZeroIO.

Les instantanés en mémoire ZeroIO, comme leur nom l'indique, permettent des instantanés de DRAM et de PMem avec zéroIO pour le stockage. Cela transforme la DRAM, qui est normalement volatile et peu disponible, en un niveau haute disponibilité. Les instantanés ZeroIO permettent également ce qu'ils appellent le voyage dans le temps, permettant de revenir aux instantanés précédents. Il existe une fonction d'enregistrement automatique qui ramène les applications à l'instantané précédent en cas de plantage. Les instantanés permettent la production de clones légers sans utiliser davantage de ressources mémoire. Et les instantanés peuvent être migrés vers d'autres serveurs et utilisés pour créer une nouvelle instance d'application.

Gestion de la machine mémoire MemVerge

MemVerge Memory Machine a une interface graphique assez élégante. Le tableau de bord global montre les éléments auxquels nous nous attendons dans le stockage, les différences dans ce cas que DRAM et PMem sont les principaux éléments surveillés et l'utilisation peuvent facilement être vues ici. En haut se trouvent des onglets pour les hôtes, les instances d'application, les instantanés et les alertes.

Cliquer sur le bouton d'accueil sur la gauche affiche des informations de base sur le système (adresse IP, système d'exploitation, version de Kernal, CPU) ainsi qu'une plongée en profondeur dans l'utilisation et les performances de la mémoire et du PMem.

Les utilisateurs peuvent explorer davantage la mémoire en affichant un rapport sur la mémoire pour voir l'utilisation par heure. Cela met également en évidence le type, PMem vs DRAM.

Et les utilisateurs peuvent consulter les API RESTful de Memory Machine et les configurer.

Les instantanés sont une grande partie de Memory Machine, mais nous y reviendrons dans notre section sur les performances.

Configuration

Dans notre laboratoire, nous avons utilisé MemVerge Memory Machine sur un Supermicro SYS-2029U-TN24R4T avec les spécifications suivantes :

Modèle de matériel Supermicro SYS-2029U-TN24R4T
Processeur 2 processeurs Intel(R) Platinum(R) 8270 à 2.70 GHz, 26 cœurs
DRAM DDR4 192GB
PMem 12x128GB
SSD du système d'exploitation SSD SATA 1 To
OS 8.2.2004 CentOS
Noyau 4.18.0-193.19.1.el8_2.x86_64

Performances de la machine à mémoire MemVerge

Notre batterie de tests normale n'aurait aucun sens ici, car MemVerge Memory Machine est destinée aux charges de travail et aux applications qui doivent s'exécuter en mémoire. Nos références sont généralement considérées comme des charges de travail normales à élevées qui seraient observées dans la vie réelle pendant les opérations informatiques. Au lieu de cela, nous examinerons ici quelques tests différents et nous examinerons spécifiquement des choses comme DRAM contre PMem contre DRAM + PMem et comment chacun se débrouille. Pour cet examen, nous utiliserons KDB Performance à la fois pour l'insertion en bloc et le test de lecture, ainsi que Redis Quick Recovery avec ZeroIO Snapshot et Redis Clone avec ZeroIO Snapshot.

Tests de performances de la KDB

kdb+ de Kx est une base de données en mémoire de séries chronologiques. Il est connu pour sa rapidité et son efficacité et pour cette raison très populaire dans l'industrie des services financiers. Une grande contrainte pour kdb est la limitation de la capacité DRAM. MemVerge Memory Machine s'intègre parfaitement ici afin que kdb puisse tirer pleinement parti de PMem pour un espace mémoire étendu avec des performances similaires à celles de la DRAM. Pour le test d'insertion en vrac, nous avons examiné un seul insert, 10, 100, 1000, 10000, 15000, 20000 et 25000 inserts et mesuré en millions d'insertions en vrac par seconde.

Avec l'insert en vrac KDB, nous constatons des résultats intéressants. Lors d'une seule insertion, les trois ont eu des résultats similaires. Dans les tailles de lots plus petites, nous considérons que la DRAM est la plus performante. Au fur et à mesure que la taille des lots dépasse 10,000 XNUMX, nous voyons Memory Machine prendre la tête de la DRAM avec PMem à la traîne pour durer chaque lot.

Ensuite, nous avons examiné kdb+ avec un test Read. Ici, la configuration du test est un peu différente. Le test de lecture est le même partout, mais cette fois, nous avons examiné la DRAM uniquement, la PMem uniquement, puis la PMem avec 20 Go ou 40 Go de mémoire cache de DRAM. La DRAM n'a pu atteindre que 4.2 Go/s, PMem n'a atteint que 2.9 Go/s, avec un cache de 20 Go de DRAM, Memory Machine a pu atteindre presque la même chose que la DRAM uniquement avec 3.9 Go/s et avec 40 Go de cache nous avons vu les performances les plus élevées de 4.8 Go/s. Ce qui est plus intéressant à noter, c'est que les deux derniers permettent encore beaucoup de DRAM pour d'autres tâches.

Test d'instantané Redis

Redis est un magasin de données en mémoire open source utilisé comme base de données, cache et courtier de messages. Il est très populaire et puissant, c'est donc un programme idéal pour comparer MemVerge Memory Machine. Lorsque Redis s'exécute sur MemVerge Memory Machine, DRAM et PMem sont alloués à Redis. Ensuite, les instantanés MemVerge ZeroIO enregistrent les pages mémoire de l'application sans opérations d'E/S de stockage. Lorsque Redis plante, tous les instantanés de données vers PMem sont persistants. La reprise après incident consiste simplement à pointer vers les données existantes dans PMem sans aucun levage ni déplacement des données depuis le stockage.

Dans cette section, nous testerons l'instantané MemVerge ZeroIO pour une récupération rapide.

Tout d'abord, nous examinerons Redis Quick Recovery avec ZeroIO Snapshot. Contrairement aux benchmarks de performance, nous montrerons ici la fonctionnalité et la facilité d'utilisation. Une fois que Redis a été installé et exécute une base de données, nous nous connectons à Memory Machine et voyons des choses telles que la quantité de PMem utilisée.

Sous l'onglet applications, nous pouvons voir qu'un serveur Redis est en cours d'exécution.

Pendant son exécution, nous prenons quelques instantanés. Évidemment, si les instantanés ne sont pas pris, on ne peut pas restaurer à partir d'un instantané.

Cela ne fait jamais de mal d'être en sécurité, revérifiez pour vous assurer que nous avons pris des instantanés.

Une fois que nous savons que nous les avons, nous déclenchons une défaillance Redis DB. Nous choisissons un instantané et restaurez, après une légère pause, nous sommes de nouveau opérationnels.

Clone Redis avec instantané ZeroIO

Ici, nous prenons plusieurs des mêmes étapes que ci-dessus. Une fois l'instantané pris, nous pouvons le restaurer en tant que clone avec un nouvel espace de noms et une nouvelle adresse IP. Nous nous connectons au clone depuis un autre hôte et pouvons voir qu'il occupe à peu près la même mémoire.

Tout ce qui précède peut également être fait avec une invite CLI pour ceux qui préfèrent.

Conclusion

MemVerge Memory Machine est un SDS visant à combiner les performances de la mémoire avec la persistance du PMem. PMem est généralement utilisé comme cache pour accélérer le stockage. Bien qu'il s'agisse d'une aubaine dans de nombreux cas pour le stockage, les applications en mémoire ont besoin de performances de mémoire, pas d'un cache. MemVerge virtualise à la fois DRAM et PMem dans des pools de mémoire définie par logiciel avec des services définis par logiciel. Memory Machine transforme la DRAM en un niveau haute disponibilité grâce à l'utilisation d'instantanés en mémoire zeroIO. ZeroIO permet la création de Thin Clones sans surcharger les ressources mémoire.

Au fur et à mesure que nous pénétrons dans de nouvelles catégories, nous devrons adopter de nouveaux tests et critères de performance. Tester le SDS en mémoire avec nos benchmarks normaux ne serait pas utile car ce n'est pas pour cela qu'il est fait. Au lieu de cela, nous avons tiré parti de KDB Performance à la fois pour les tests d'insertion et de lecture en masse, ainsi que Redis Quick Recovery avec ZeroIO Snapshot et Redis Clone avec ZeroIO Snapshot. Les tests ont été effectués sur un serveur Supermicro SYS-2029U-TN24R4T, bien qu'il devrait fonctionner sur des serveurs validés prenant en charge les modules Intel Optane PMem.

Avec KDM en vrac, nous avons testé plusieurs tailles de lots en examinant DRAM, PMem et une combinaison des deux via Memory Machine. Comme les lots ont commencé petit, il n'était pas surprenant de voir la DRAM avoir les meilleures performances. Ce qui était vraiment intéressant à voir, c'est qu'au fur et à mesure que le test mettait les ressources à rude épreuve, MemVerge faisait de mieux en mieux. Avec la lecture de KDM, nous avons constaté des tendances similaires. La DRAM a très bien fonctionné, pas de surprise là-bas. PMem a bien fonctionné, mais bien sous DRAM. Avec seulement 20 Go de cache pour la DRAM avec Memory Machine, il a fonctionné à 3.9 Go/s par rapport aux 4.2 Go/s de la DRAM seule. Donner à MemVerge 40 Go de DRAM pour le cache a permis d'obtenir les meilleures performances globales avec 4.8 Go/s tout en laissant beaucoup de DRAM pour d'autres tâches.

La deuxième partie des tests de performances était Redis Quick Recovery avec ZeroIO Snapshot et Redis Clone avec ZeroIO Snapshot. Ici, il y avait plus de fonctionnalités que de performances quantifiables. Essentiellement, nous avons rapidement pris des instantanés, déclenché une panne et avons pu être à nouveau opérationnels rapidement.

Le PMem d'Intel est une technologie extrêmement intéressante qui a été quelque peu lente à adopter en raison des moyens limités d'adopter facilement et d'exploiter correctement les modules. Avec MemVerge, les organisations peuvent tirer parti de ce que PMem a à offrir, dans une solution spécialement conçue pour cette technologie. Pour ceux dont les applications peuvent bénéficier de l'empreinte mémoire importante et résiliente offerte par PMem, MemVerge vaut vraiment la peine d'être évalué.

VergeMem

S'engager avec StorageReview

Newsletter |  YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | Flux RSS