Accueil Entreprise Examen des performances NoSQL de la mémoire persistante Intel Optane DC

Examen des performances NoSQL de la mémoire persistante Intel Optane DC

by Brian Beeler

Plus tôt cette année, nous avons publié Mémoire persistante Intel Optane DC données dans notre examen de la Supermicro SuperServer 1029U-TN10RT plate-forme. Supermicro a été l'un des premiers à prendre en charge la mémoire persistante d'Intel et le système 2U à double processeur a fait un excellent travail en tant que banc d'essai de mémoire persistante. Il est instructif d'examiner la vitesse de la mémoire persistante d'Optane DC dans le mode de stockage de blocs traditionnel, mais la valeur réelle de la mémoire persistante est révélée par des applications qui peuvent tirer parti de ce nouveau support de manière native, en plaçant intelligemment les données dans la DRAM, la mémoire persistante ou le stockage embarqué comme le besoins applicatifs. Pour mieux comprendre le profil de performances de la mémoire persistante Optane DC, nous avons fait fonctionner le serveur Supermicro à l'aide d'une plate-forme NoSQL de premier plan, Aerospike.


Plus tôt cette année, nous avons publié Mémoire persistante Intel Optane DC données dans notre examen de la Supermicro SuperServer 1029U-TN10RT plate-forme. Supermicro a été l'un des premiers à prendre en charge la mémoire persistante d'Intel et le système 2U à double processeur a fait un excellent travail en tant que banc d'essai de mémoire persistante. Il est instructif d'examiner la vitesse de la mémoire persistante d'Optane DC dans le mode de stockage de blocs traditionnel, mais la valeur réelle de la mémoire persistante est révélée par des applications qui peuvent tirer parti de ce nouveau support de manière native, en plaçant intelligemment les données dans la DRAM, la mémoire persistante ou le stockage embarqué comme le besoins applicatifs. Pour mieux comprendre le profil de performances de la mémoire persistante Optane DC, nous avons fait fonctionner le serveur Supermicro à l'aide d'une plate-forme NoSQL de premier plan, Aerospike.

Mémoire persistante Intel Optane DC
Modules de mémoire persistante Intel Optane DC dans le serveur Supermicro

Qu'est-ce qu'Aerospike ?

Aerospike fournit un système de gestion de base de données distribué, hautement évolutif et non relationnel pour les charges de travail de lecture/écriture exigeantes impliquant des données opérationnelles. Il a été conçu pour fournir des temps de réponse extrêmement rapides et prévisibles pour accéder à des ensembles de données qui couvrent des milliards d'enregistrements dans des bases de données de 10 à 100 To. Aerospike alimente une grande variété d'applications stratégiques, y compris la prévention de la fraude, les paiements numériques, les moteurs de recommandation, les enchères en temps réel et plus encore. Les clients d'Aerospike incluent de très grands noms comme Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal et Wayfair.

Selon le cas d'utilisation et l'ensemble de données, Aerospike peut être déployé dans diverses configurations qui optimisent les ressources système pour un cas d'utilisation. Aerospike peut être lancé avec des données en mémoire, ou indexé en mémoire avec des données sur SSD, ou indexé sur SSD avec des données sur SSD. Aerospike a récemment publié une nouvelle configuration qui tire parti de la mémoire persistante Optane DC d'Intel en mode AppDirect. L'index est stocké dans PMEM avec les données sur SSD. Ce nouveau mode étend la capacité d'Aerospike tout en conservant des performances très proches de l'indexation en mémoire avec des données sur SSD. Non seulement ce nouveau mode fournit des latences inférieures à la milliseconde, mais des redémarrages rapides et complets d'Aerospike sont également possibles sans reconstructions d'index primaires.

En appliquant différents types de charges de travail sur différentes configurations Aerospike, il est possible d'évaluer les avantages et les performances de l'utilisation de la mémoire persistante Intel Optane DC sur un SuperMicro SuperServer. L'exécution et la comparaison de benchmarks par rapport à un index dans la configuration mémoire/données sur SSD et un index dans PMEM/données sur SSD fournit les informations nécessaires pour faire un choix éclairé sur l'utilisation de la mémoire persistante par rapport à la DRAM. Il existe une configuration supplémentaire qui peut fournir des informations supplémentaires sur les performances de la mémoire persistante. Bien que l'index dans PMEM et les données dans la fonctionnalité PMEM n'aient pas été publiés, il existe un moyen de configurer le PMEM sur le serveur pour qu'il s'exécute avec l'index dans PMEM et d'exécuter une partie de PMEM configurée en tant que périphérique de bloc pour vous donner une idée de la possibilités de performance pour l'indice dans PMEM et les données dans PMEM.

Configuration Aerospike NoSQL

Trois charges de travail différentes ont été appliquées à chacune des trois configurations différentes. L'Aerospike Java Benchmark a généré une charge de travail 50/50 en lecture/écriture, une charge de travail en lecture seule et une charge de travail en écriture seule à partir de 4 serveurs clients. Chaque test comportait plusieurs phases :

  • Phase d'ingestion - Chargement des données dans la base de données.
  • Phase de préchauffage – Exécutez un chargement d'écriture pendant deux heures pour créer un état stable pour la base de données.
  • Phase de test – Exécutez la charge de travail réelle pour le test pendant une heure.

Avant d'exécuter des tests, un jeu de clés et une taille d'objet appropriés pour les données ont été sélectionnés. Bien qu'Aerospike propose une large gamme de tailles d'objets allant de quelques octets à un million d'octets, l'ensemble de clés et la taille de l'objet ont été sélectionnés pour tester le matériel du serveur et démontrer les performances des configurations PMEM. Des objets de plus grande taille peuvent créer un goulot d'étranglement sur le réseau et ne pas démontrer pleinement la puissance de la mémoire persistante Optane DC. Par conséquent, une taille d'objet de 440 octets a été utilisée pour tous les tests.

La taille de l'ensemble de clés était limitée par la quantité de mémoire utilisée pour l'index dans la configuration mémoire/données sur SSD. L'index dans la configuration de la mémoire était limité à un ensemble de données de 4 milliards d'objets. Même si l'index dans PMEM pouvait gérer la capacité de 15.5 milliards de clés, seulement 4 milliards de clés ont été utilisées pour une meilleure comparaison avec l'index dans le test de mémoire. Les séries finales de tests ont été exécutées avec un index dans PMEM et des données dans PMEM. Étant donné que le serveur disposait d'un total de 1.5 To de PMEM, seulement un milliard de clés ont été utilisées pour ces tests.

Configuration matérielle

La configuration matérielle comprend deux composants clés. Le serveur de base de données unique héberge la mémoire persistante du PC Intel Optane. Les quatre serveurs clients génèrent la charge sur le serveur de base de données.

Serveur de base de données

  • Châssis – SuperMicro Ultra 1U SYS-1029U-TN10RT
  • Processeur
    • 2 x Intel Xeon évolutif 8268 (2.9 GHz, 24C)
    • 2 x Intel Xeon évolutif 8280 (2.7 GHz, 28C)
  • Stockage – 10 x SSD Intel DC P4510 2 To NVMe, 1DWPD
  • DRAM – 12 x 32 Go DDR4-2933
  • Mémoire persistante – 12 x 128 Go DDR4-2666 Intel Optane DC PMM
  • Réseau – 100 GbE
  • Système d'exploitation – Fedora 29  

Serveurs clients

  • Châssis – Dell R740xd
  • Processeur – 2 x Intel Xeon Scalable 6130
  • DRAM – 256 Go
  • Réseau – 2 x 25 GbE
  • Système d'exploitation - Ubuntu - 18.04
  • Logiciel – Aerospike Entreprise 4.5.1
  • Générateur de charge – Aerospike Java Benchmark (Aerospike Java Client 4.4.0)

Résultats de performance Aerospike

Comme indiqué, nous avons exécuté le test dans diverses configurations de charge de travail ainsi que l'emplacement de l'index et de la base de données. De plus, nous avons utilisé deux ensembles différents de Processeurs évolutifs Intel Xeon de deuxième génération. Nous avons exécuté à la fois les 8268 et les 8280 dans le serveur de base de données, les processeurs 8280 étant le processeur Intel le plus élevé prenant en charge la mémoire persistante Optane DC. En vitesse d'horloge brute, les 8280 offrent une augmentation de 12 GHz par rapport aux 8268, soit une augmentation de 8.6 % des performances. Bien que cela ne figure pas dans les tableaux ci-dessous, il convient de noter qu'en termes de qualité de service, tous les résultats de latence pour les tests étaient égaux ou proches de 100 % inférieurs à la milliseconde sur le serveur.

Index en mémoire, données sur SSD NVMe

Attractions Opérations de débit
Intel 8268
Opérations de débit
Intel 8280
Lecture/écriture 50/50 2,100,000 2,298,000
Lire 100 % 2,240,000 2,720,000
Ecrire 100% 1,760,000 2,020,000

Bien que nous sachions que les 8280 offrent une amélioration de 8.6 % de la vitesse d'horloge brute par rapport aux 8268, voir comment cela se transforme en amélioration des applications est un objectif central. Avec Aerospike, avec l'index en mémoire et les données sur les SSD NVMe, nous avons vu les changements d'élément de ligne suivants. Les performances de lecture/écriture mixtes 50/50 ont augmenté de 9.4 %, la lecture à 100 % a augmenté de 21.4 % et les performances d'écriture à 100 % ont augmenté de 14.8 %. 

Index dans la mémoire persistante Optane DC, données sur les SSD NVMe

Attractions Opérations de débit
Intel 8268
Opérations de débit
Intel 8280
Lecture/écriture 50/50 2,000,000 2,252,000
Lire 100 % 2,200,000 2,630,000
Ecrire 100% 1,740,000 1,980,000

Comme nous pouvons le voir dans ces données, le déplacement des index de la DRAM vers la mémoire persistante a eu peu d'impact sur les performances transactionnelles. En production, cependant, cela signifie que, comme Aerospike peut utiliser la mémoire persistante au lieu de la DRAM pour les index, la restauration après le redémarrage d'un nœud de base de données est beaucoup plus rapide, car un grand pool de DRAM n'a pas besoin d'aller sur les SSD pour se reconstruire. Les boîtiers haute densité permettent également de réaliser des économies, car les modules de mémoire persistante Optane DC de 128 Go testés sont considérablement moins chers que les modules DIMM de 128 Go. 

Index et données sur la mémoire persistante Optane DC

Attractions Opérations de débit
Intel 8268
Opérations de débit
Intel 8280
Lecture/écriture 50/50 2,600,000 2,866,000
Lire 100 % 2,810,000 3,100,000
Ecrire 100% 2,120,000 2,210,000

Comme indiqué, Aerospike a annoncé mais n'a pas encore fourni la disponibilité générale de la possibilité d'exécuter à la fois les index et la base de données sur la mémoire persistante Intel Optane DC. Cela dit, nous avons fait une démonstration de la version actuelle du code qui le permet, ce qui montre une augmentation d'environ 33 % ou 600,000 XNUMX opérations par seconde dans la charge de travail mixte. 

Conclusion

La mémoire persistante Intel Optane DC est une partie incroyablement puissante de la hiérarchie des données. Se situant entre la RAM et le stockage, l'incarnation d'Intel de la mémoire persistante apporte enfin la technologie grand public. Mais le simple fait d'avoir accès à une nouvelle technologie de stockage ne suffit pas, les applications qui peuvent tirer parti de la mémoire persistante de manière native auront un énorme avantage concurrentiel. La flexibilité que nous voyons avec Aerospike montre qu'ils étaient prêts dès le départ avec la prise en charge du mode direct de l'application (stockage de blocs) pour la mémoire persistante Optane DC. De plus, ils sont un leader dans le monde NoSQL lorsqu'il s'agit de conserver à la fois les index et les données sur les modules de mémoire persistante. Bien que cette dernière soit encore une vision émergente, les premiers résultats semblent très prometteurs.

Aérospike

Discutez de cet avis

Inscrivez-vous à la newsletter StorageReview