Présentation de la solution
Cet article décrit la solution de stockage Dell EMC HPC NFS version 7.4 (NSS7.4-HA), basée sur les processeurs évolutifs Intel Xeon de 2e génération, nom de code « Cascade Lake ». Ces processeurs Xeon améliorés offrent jusqu’à 28 cœurs, jusqu’à 38,5 Mo de mémoire cache de dernier niveau et six canaux de mémoires de 2933 MT/s par socket. Les principales fonctionnalités des processeurs en cascade Lake sont les
atténuations matérielles intégrées par rapport aux attaques de canal latéral, à la
technologie Intel DL Boost (VNNI) et à la prise en charge de la vitesse d’horloge et de la vitesse de mémoire accrues.
En cascade Lake et ses prédécesseurs Skylake comprennent une fonction appelée
ADDDC (
adaptive
double
dRAM
destionnaire
Correction). La fonctionnalité ADDDC est déployée au moment de l’exécution, pour mapper de façon dynamique les périphériques DRAM défaillants, tout en continuant à fournir le code de correction d’erreurs (ECC) de la mémoire
Single
Device
Data
Correction (SDDC), ce qui se traduit par une longévité accrue du module DIMM. Cette fonctionnalité est activée uniquement pour les appareils DRAM x4 et n’a pas d’effet avec les périphériques DRAM x8 dans le système. La nouvelle version NSS-HA 7.4 utilise uniquement la mémoire de 16 Go, qui fonctionne avec une organisation x8, la fonctionnalité ADDDC est donc grisée et n’est pas une option réglable dans le BIOS. Toutefois, si vous utilisez une mémoire de plus de 32 Go, l’ADDDC sera disponible sous la forme d’une option réglable et il est recommandé de la définir sur Disabled (désactivé) pour privilégier les performances par rapport aux fonctions de l’RAS.
Il est recommandé de configurer les serveurs NFS à l’aide du profil HPC, comme décrit dans le blog «
formatage du BIOS pour les processeurs Intel cascade Lake». cela comprend le réglage du BIOS pour définir le cluster Sub-NUMA activé, le processeur logique désactivé et le profil système défini sur « performances ». Si vous mettez à niveau un système existant, assurez-vous que le BIOS est mis à jour vers une version prenant en charge les processeurs Cascade Lake, avant d’effectuer la mise à niveau des processeurs vers Cascade Lake. L’équipe des ingénieurs HPC du HPC and AI Innovation Lab a effectué une série de tests de performances avec des serveurs NSS équipés de processeurs Cascade Lake et a comparé les résultats à ceux précédemment obtenus avec la solution NSS7.3-HA, qui utilisait la dernière version des serveurs PowerEdge équipés des processeurs de la gamme Xeon « Skylake-SP » de la génération précédente. Les résultats de l’analyse comparative et la comparaison sont présentés dans ce blog.
La solution de stockage NFS fournie par Dell EMC est optimisée et ajustée pour des performances optimales. Lors de la configuration de la solution NSS7.4-HA, prenez note des éléments suivants :
- Le système d’exploitation minimal pris en charge pour l’utilisation des processeurs Cascade Lake est Red Hat Enterprise Linux 7.6. Toutefois, avec la version de noyau 3.10.0-957.el7, le partage NFS se bloque sur une tâche, telle que kworker, et consomme 100 % du processeur. La cause première de ce problème est que la couche TCP se désynchronise de l’état du transport des couches sunrpc. Ce problème a été résolu avec le package kernel-3.10.0-957.5.1.el7 et versions supérieures. Par conséquent, le système d’exploitation de base utilisé pour cette solution est RHEL 7.6 et la version du noyau utilisée est kernel-3.10.0-957.5.1.el7. Pour plus d’informations, reportez-vous à la page https://Access.redhat.com/solutions/3742871.
- Pour la solution NSS7.4-HA, à moins que les packages suivants ne soient installés, la ressource nfsserver ne démarre pas, car nfs-idmapd.service ne démarre pas. Pour plus d’informations, reportez-vous à la page https://access.redhat.com/solutions/3746891.
- resource-agents-4.1.1-12.el7_6.4
- resource-agents-aliyun-4.1.1-12.el7_6.4
- resource-agents-gcp-4.1.1-12.el7_6.4 ou version ultérieure.
- Les notes de mise à jour de RHEL7.6 attirent votre attention sur le fait qu’un bug de la couche d’E/S de LVM entraîne une altération des données dans les 128 premiers Ko d’espace allouable d’un volume physique. Le problème a été résolu avec lvm2-2.02.180-10.el7_6.2 ou version supérieure. Assurez-vous donc que le package lvm2 est mis à jour vers la version la plus récente. Si la mise à jour de lvm2 n’est pas possible, vous pouvez utiliser les commandes LVM qui modifient les métadonnées du groupe de volumes (VG), telles que lvcreate ou lvextend, lorsque les volumes logiques du VG sont en cours d’utilisation.
Architecture NSS7.4-HA
La Figure 1 illustre la conception de NSS7.4-HA. À l’exception des mises à jour de logiciels et de firmware nécessaires, NSS7.4-HA et NSS7.3-HA partagent la même configuration de stockage et configuration de clusters HA. Les deux serveurs NFS dans une configuration haute disponibilité active passive sont connectés au système PowerVault ME4084. Chaque serveur NFS compte deux cartes SAS. Chaque carte dispose d’un câble SAS pour chaque contrôleur de stockage partagé, de sorte qu’une défaillance isolée de la carte SAS ou du câble SAS n’a pas d’impact sur la disponibilité des données. (Reportez-vous au
livre blanc NSS7.3-HA pour obtenir des informations détaillées sur la configuration.)
Architecture NSS7.4-HA
Comparaison des composants de NSS7.4-HA et NSS7.3-HA
Bien que les solutions Dell NSS-HA aient bénéficié de nombreuses mises à niveau matérielles et logicielles pour offrir une plus grande disponibilité ainsi que des performances et une capacité de stockage supérieures depuis la première version NSS-HA, les instructions relatives à la conception et au déploiement de l’architecture de la gamme de solutions NSS-HA n’ont pas changé. Cette dernière version et la version antérieure, NSS7.3-HA, partagent le même système backend de stockage : PowerVault ME4084. Le tableau suivant fournit une comparaison des composants de la nouvelle solution NSS7.4-HA et de la solution NSS7.3-HA précédente.
Tableau 1 : Tableau 1 : comparaison des composants de NSS7.4-HA et de NSS7.3-HA
Solution |
Version NSS7.4-HA (juin 2019) |
Version NSS7.3-HA (octobre 2018) |
Modèle de serveur NFS |
2 serveurs Dell EMC PowerEdge R740 |
Connectivité Internet |
Gigabit Ethernet utilisant la technologie Dell Networking S3048-ON |
Sous-système de stockage |
Dell EMC PowerVault ME4084 84-3,5 "NL SAS Drives, jusqu’à 12 to. Prend en charge jusqu’à 1008TB (espace brut) 8 Lun, Linear 8 + 2 RAID 6, taille de fragment 128KiB. 4 disques durs globaux de secours. |
Connexion de stockage |
Connexions SAS 12 Gbit/s. |
Processeur |
2 processeurs Intel Xeon Gold 6240 à 2,6 GHz, 18 cœurs par processeur |
2 processeurs Intel Xeon Gold 6136 à 3,0 GHz, 12 cœurs par processeur |
Mémoire |
Modules RDIMM 12 × 16GiB 2933 MT/s |
Modules RDIMM 12 × 16GiB 2666 MT/s |
Système d’exploitation |
Red Hat Enterprise Linux 7,6 |
Red Hat Enterprise Linux 7.5 |
Version du noyau |
3.10.0-957.5.1.el7.x86_64 |
3.10.0-862.el7.x86_64 |
Système de fichier évolutif (XFS) Red Hat |
v4.5.0-18 |
v4.5.0-15 |
Connectivité réseau externe |
Mellanox ConnectX-5 InfiniBand EDR/100 GbE et 10 GbE |
Mellanox ConnectX-5 InfiniBand EDR et 10 GbE. Pour NSS blog de la solution 7.3-ha, Mellanox ConnectX-4 IB EDR/100 GbE, a été utilisé. |
Version OFED |
Mellanox OFED 4.5-1.0.1.0 |
Mellanox OFED 4.4-1.0.0 |
Dans le reste de cet article, la plate-forme d’essai et les informations sur les performances d’E/S de NSS 7.4-HA sont présentées. Afin de montrer les différences de performances entre NSS7.4-HA et la version précédente, les chiffres des performances correspondantes pour NSS7.3-HA sont également présentés.
Configuration de la plate-forme d’essai
La plate-forme d’essai utilisée pour évaluer les performances et les fonctionnalités de la solution NSS7.4-HA est décrite ici. Notez que les processeurs utilisés pour les tests de performance sont différents de ceux sélectionnés pour la solution, car les processeurs Xeon Gold 6240 n’ont pas été reçus à temps pour ce travail. Il est prévu de reproduire certains des tests une fois que les processeurs 6240 seront disponibles, et de modifier ce rapport si besoin.
Tableau 2 : Configuration matérielle NSS 7.4-HA
Configuration du serveur |
Modèle de serveur NFS |
Dell PowerEdge R740 |
Processeur |
2 processeurs Intel Xeon Gold 6244 à 3,6 GHz avec 8 cœurs chacun |
Mémoire |
Modules RDIMM 12 × 16GiB 2933 MT/s |
Disques locaux et contrôleur RAID |
PERC H730P avec cinq disques durs SAS 15K de 300 Go Deux disques durs sont configurés en RAID1 pour le système d’exploitation, deux disques sont configurés en RAID0 pour l’espace de permutation, et le cinquième est un disque de remplacement à chaud pour le groupe de disques en RAID1. |
Carte Mellanox EDR (logement 8) |
Carte Mellanox ConnectX-5 EDR |
Carte Ethernet 1 GbE (logement de carte fille) |
Carte fille réseau Broadcom 5720 QP 1 Gigabit Ethernet. Ou Intel(R) Gigabit 4P I350-t rNDC |
Contrôleur de stockage externe (logement 1 et 2) |
Deux SAS HBA Dell 12 Gbit/s |
Gestion de systèmes |
iDRAC9 Enterprise |
Configuration du stockage |
Boîtier de stockage |
1 boîtier Dell PowerVault ME4084 |
Contrôleurs RAID |
Contrôleurs RAID en mode duplex dans le serveur Dell ME4084 |
Disques durs |
Disques SAS NL 7.2K 84 - 10 To par baie, disque 84 x 10TB au total |
Autres composants |
Commutateur Gigabit Ethernet privé |
Dell Networking S3048-ON |
Unité de distribution de l’alimentation |
Deux blocs d’alimentation en rack commutés APC, modèle AP7921B |
Tableau 3 : Versions du logiciel du serveur NSS 7.4-HA
Composant |
Description |
Système d’exploitation |
Red Hat Enterprise Linux (RHEL) 7.6 x86_64 errata |
Version du noyau |
3.10.0-957.5.1.el7.x86_64 |
Suite de clusters |
Suite de clusters Red Hat à partir de RHEL 7.6 |
Filesystem |
Système de fichier évolutif (XFS) Red Hat 4.5.0-18. |
Outil de gestion des systèmes |
Dell OpenManage Server Administrator 9.3.0-3407_A00 |
Tableau 4 : NSS de la configuration du client 7.4-HA
Composant |
Description |
Serveurs |
32 nœuds de calcul Dell EMC PowerEdge C6420 |
Processeur |
2 processeurs Intel Xeon Gold 6148 à 2,4 GHz avec 20 cœurs par processeur |
Mémoire |
Modules RDIMM 12 × 16GiB 2666 MT/s |
Système d’exploitation |
Red Hat Enterprise Linux Server version 7.6 |
Version du noyau |
3.10.0-957.el7.x86_64 |
Interconnexion |
Mellanox InfiniBand EDR |
Version de l’OFED |
4.3-1.0.1,0 |
Firmware ConnectX-4 |
12.17.2052 |
Résumé des performances d’E/S avec NSS7.4-HA
Cette section présente les résultats des tests de performances d’E/S pour la solution NSS7.4 actuelle. Tous les tests de performance ont été réalisés dans un scénario sans échec afin de mesurer la capacité maximale de la solution. Les tests ont porté sur trois types de schémas d’E/S : des lectures et écritures séquentielles volumineuses, des lectures et écritures aléatoires de petite taille et trois opérations de métadonnées (création, statistiques et suppression de fichiers). À l’instar de la version précédente NSS 7.3-HA, la solution utilise le planificateur d’e/s et les processus 256 NFS.
Une configuration 840TB (taille de stockage brute) a été testée avec une connectivité réseau IPoIB sur EDR. Un cluster de calcul de 32 nœuds a été utilisé pour générer la charge applicative pour les tests de performances. Chaque test a été exécuté sur une plage de clients pour tester l’évolutivité de la solution.
Les benchmarks IOzone et mdtest ont été utilisés dans cette étude. IOzone a été utilisé pour les tests séquentiels et aléatoires. Pour les tests séquentiels, une taille de requête de 1 024 KiB a été utilisée. La quantité totale de données transférées était de 2 To afin de garantir la saturation du cache du serveur NFS. Les tests aléatoires ont utilisé une taille de requête de 4 Kio et chaque client a lu et écrit un fichier de 4 GiB. Les tests de métadonnées ont été effectués à l’aide du test de performances mdtest avec OpenMPI et incluaient des opérations de création, de statistiques et de suppression des fichiers. (Reportez-vous à l’annexe A du livre blanc NSS7.3-HA pour obtenir les commandes complètes utilisées dans les tests.)
Lectures et écritures séquentielles N-N IPoIB
Pour évaluer les lectures et écritures séquentielles, le test d’évaluation IOzone, version 3.487, a été utilisé en mode de lecture écriture séquentiel. Ces tests ont été réalisés sur plusieurs threads à partir de 1, avec augmentation de 2 en 2 jusqu’à 64 threads. Pour chaque nombre de threads, un nombre égal de fichiers a été généré, car ce test fonctionne avec un fichier par thread (cas N-N). Une taille de fichier d’agrégation de 2 to a été sélectionnée, qui est équitablement répartie entre le nombre de threads au sein d’un test donné.
La figure 2 fournit une comparaison des performances d’e/s séquentielles de NSS version 7.4 de la version 7.4 avec celle de la version NSS 7.3-HA. Sur cette Figure, on peut voir que la nouvelle version NSS7.4 et la précédente version NSS7.3 présentent des performances de pointe similaires, avec une lecture à environ 7 Gbit/s et des performances d’écriture de pointe d’environ 5 Gbit/s. Cependant, avec un certain nombre de threads, une diminution de 15 à 20 % des performances en écriture a été mesurée par rapport à la solution NSS7.3-HA. L’étude de cette différence de performances est en cours de réalisation. Les performances de lecture ont enregistré une augmentation de près de 45 % avec 1 et 2 threads, et une augmentation de 18 % avec 8 threads. Pour les nombres de threads supérieurs à 8, les performances de lecture sont similaires à celles de la solution NSS7.3-HA. L’augmentation des performances de lecture à un nombre de threads inférieur est probablement attribuable aux atténuations matérielles introduites dans les processeurs Cascade Lake contre les attaques. Performances d’E/S séquentielles volumineuses IPoIB
Lectures et écritures aléatoires N-N IPoIB
Pour évaluer les performances d’E/S aléatoires, IOzone version 3.487 a été utilisé en mode aléatoire. Les tests ont été effectués sur un nombre de threads à partir de 1 jusqu’à 64 avec augmentation de 2 en 2. La taille de l’enregistrement était de 4 Ko. Chaque client lit ou écrit un fichier de 4 GiB pour simuler des accès aléatoires non volumineux aux données. Étant donné que le cluster ne dispose que de 32 nœuds, le point de données 64-thread a été obtenu avec des clients 32 exécutant 2 threads chacun.
La figure 3 illustre la comparaison des performances d’e/s de lecture et d’écriture aléatoires de NSS 7.4-HA avec celle de NSS 7.3-HA. Dans cette figure, on peut voir que le NSS7.4 présente des performances maximales d’écriture aléatoire similaires à celles de NSS7.3-HA, avec environ 7300 E/S par seconde. Dans la solution NSS7.4-HA, pour les comptes de threads 1 et 2, les performances d’écriture sont environ 14 % inférieures par rapport à la version précédente de la solution. Cette donnée est en cours d’étude. Les performances de lecture aléatoire augmentent régulièrement sur le NSS7.4 et atteignent des performances maximales de 16607 E/S par seconde à 64 threads. Dans la version précédente (NSS7.3-HA), des performances maximales de 28811 E/S par seconde avaient été réalisées à 32 threads, soit 42 % de plus que les performances maximales obtenues pour les lectures aléatoires avec la solution NSS7.4-HA. Performances d’E/S aléatoires IPoIB
Opérations de métadonnées IPoIB
Pour évaluer les performances des métadonnées du système, l’outil MDTest version 1.9.3 a été utilisé. La distribution MPI utilisée était OpenMPI version 1.10.7. Les tests de métadonnées ont été réalisés en créant 960 000 fichiers pour 32 threads maximum, puis en augmentant le nombre de fichiers, afin de tester l’évolutivité de la solution, comme indiqué dans le tableau 5. Tests de métadonnées : Distribution de fichiers et de répertoires sur plusieurs threads
Nombre de threads |
Nombre de fichiers par répertoire |
Nombre de répertoires par thread |
Nombre total de fichiers |
1 |
3000 |
320 |
960000 |
2 |
3000 |
160 |
960000 |
4 |
3000 |
80 |
960000 |
8 |
3000 |
40 |
960000 |
16 |
3000 |
20 |
960000 |
32 |
3000 |
10 |
960000 |
64. |
3000 |
8 |
1536000 |
128 |
3000 |
4 |
1436000 |
256 |
3000 |
4 |
3072000 |
512 |
3000 |
4 |
6144000 |
La Figure 4, la Figure 5 et la Figure 6 illustrent respectivement les résultats des opérations de création de fichiers, de statistiques et de suppression. Le cluster de calcul HPC dispose de 32 nœuds de calcul, dans les graphiques ci-dessous, chaque client a donc exécuté un maximum d’un thread par nœud, jusqu’à 32. Avec 64, 128, 256 et 512 clients, chaque nœud exécutait deux, quatre, huit ou seize opérations simultanées.
Lors de la création de fichiers, une amélioration de 20 % des performances jusqu’à 16 threads et à partir de 32 threads a été observée, les performances des deux versions sont presque identiques.
Les opérations de statistiques dans NSS 7.4 ont enregistré une amélioration de 10% des performances pour le nombre de threads inférieur (1, 2, 8 et 16) et une baisse de > de 30% des performances au nombre de threads plus élevés (de 64 threads à 512 threads).
Enfin, les opérations de suppression ont subi une diminution de 14% des performances jusqu’à 64 clients et une diminution de 20% des > 20% pour le nombre de threads plus élevé de 128 256 et 512.
Figure 4 : Création d’un fichier IPoIB de performances
Figure 5 : Performances des statistiques de la fiel de l' IPoIB
Figure 6 : Fie de suppression des performances de l’IPoIB
Conclusion
Le tableau suivant récapitule les différences de performances observées entre les solutions NSS7.4 et NSS7.3. Tableau 5 : comparaison des performances des versions NSS7.4 et NSS7.3 HA
Stockage Dell EMC HPC NFS |
NSS7.4-HA |
NSS7.4 – HA NSS7.3-HA |
Num. PIC d’écriture de 1 Mo : 1,4% de réduction |
4 834 Mo/s |
4 906 Mo/s |
Num. 1 Mo lectures max. : 0,7% de réduction |
7 024 Mo/s |
7 073 Mo/s |
PIC d’écriture aléatoire de 4 Ko : 0,7% de réduction |
7 290 E/S par seconde |
7 341 E/S par seconde |
Lectures aléatoires de 4 Ko maximum : 42% de réduction |
16 607 E/S par seconde |
28 811 E/S par seconde |
Opérations de création/deuxième pic : 1,1% de réduction |
54 197 E/S par seconde |
54 795 E/S par seconde |
Opérations statistiques/seconde valeur maximale : 35% de réduction |
522 231 E/S par seconde |
808 317 E/S par seconde |
Opérations de suppression/deuxième pic : 35% de réduction |
47 345 E/S par seconde |
73 320 E/S par seconde |
À partir des résultats ci-dessus, nous pouvons conclure que la solution NSS7.4-HA actuelle offre des performances comparables à celles de la solution NSS7.3-HA précédente. Nous prévoyons d’exécuter les tests de performances avec les processeurs Xeon Gold 6240 avec 18 cœurs par processeur, pour comprendre si la baisse des performances pour les lectures aléatoires et la baisse des performances à un nombre de threads plus élevé dans les opérations de statistiques et de suppression de fichiers sont attribuables au nombre inférieur de cœurs des processeurs Xeon Gold 6244 (8 cœurs par processeur), utilisés pour évaluer les performances de la solution NSS7.4-HA.
Références
Pour obtenir des informations détaillées sur les solutions NSS-HA, reportez-vous à nos livres blancs.