Mémoire de classe de stockage dans le stockage - si vous en avez besoin encore plus rapidement

La photo n'exprime pas la position de l'entreprise et est une vision personnelle de l'auteur, pas nécessairement liée au thème de ce texte, amen Comme vous vous en souvenez probablement, NRE a longtemps investi dans le thème des nouveaux types d'entrepôts de données (bien sûr, The Machine ) et dans l'optimisation de l'accès aux installations de stockage (notre appartenance au consortium Gen-Z ).

L'objectif de ce mouvement est d'accélérer le travail des applications de nos clients. De plus, ce mouvement est à plusieurs niveaux: alors que la toute nouvelle architecture des systèmes informatiques The Machine (la soi-disant architecture centrée sur la mémoire) est en train de se forger, nous comprenons que nous devons accélérer maintenant. Voyons ce qui peut être fait aujourd'hui et ce qui apparaîtra chez HPE demain. Astuce - nous parlerons de la forte accélération de notre stockage 3PAR et Nimble en utilisant une mise en cache intelligente et relativement peu coûteuse sur la mémoire de classe de stockage (SCM) sous la forme d'Intel Optane.

Tout d'abord, nous établissons les limites du problème à l'étude. Dans cet article, nous ne nous intéressons pas au calcul haute performance avec ses spécificités et ne sommes pas intéressés par les tâches nécessitant exclusivement un stockage rapide intra-serveur. Ce dernier est sans aucun doute également un sujet pour Intel Optane et SCM en général, mais ces tâches sont souvent spécifiques, peu adaptées à la virtualisation et, par conséquent, à la consolidation. Nous parlerons des tâches et des applications qui s’accordent bien avec les systèmes de stockage externes de classe 3PAR, Nimble ou MSA (bien que nous ne touchions pas non plus à MSA).

Alors, comment pouvez-vous améliorer les performances d'une application virtualisée qui fonctionne avec des données sur un système de stockage externe:
  • voir ce qui retient l'application maintenant. Ce n'est peut-être pas du tout une question de stockage, mais d'attendre le processeur, dans la logique interne de travail avec les données, dans des requêtes écrites sous-optimales;
  • si les retards sont importants en termes d'attente de données (IO), vous devez d'abord vérifier si toutes les recommandations de configuration du bundle application-OS-driver (SCSI, HBA, etc.) sont respectées
  • peut-être le cas dans le SAN (Ethernet, FC);
  • c'est peut-être encore dans le système de stockage. Où en stockage? Dans le matériel du contrôleur (ce qui est avec le cache, quelle est la charge du processeur), dans le système d'exploitation et les pilotes du contrôleur, dans le bus de données, dans les disques ...

Pensée possible: Oh, bien sûr - les roues! Tout le reste est compliqué et je ne veux pas toucher, mais avec les disques, nous allons essayer. Ce que nous avons, un hybride - eh bien, alors nous avons besoin de tout flash. Avons-nous déjà tout flash? Et quoi de mieux? Nous surveillons la publicité de marques réputées:

image

Tout est clair, nous prenons du stockage avec des «disques NVMe». Attendez, c'est combien ? Et vous devez acheter un nouveau système de stockage, je ne peux pas mettre à jour mon actuel? Eh bien, vous devez ...

image

Mais est-ce possible d'une autre manière? Au NRE, nous pensons que ce n'est pas seulement possible, mais aussi nécessaire. Et voici pourquoi:

image

Le fait est que la plupart des SSD NVMe actuellement sur le marché sont le même type de support, NAND-flash, uniquement connecté au contrôleur non pas via le protocole Serial Attached SCSI (SAS), mais via le nouveau protocole NVMe. Le nouveau protocole est sans aucun doute magnifique, et voici quelques faits:

  • 64 000 files d'attente disponibles avec 64 000 threads chacune - IOPS au-dessus du toit
  • contrôleur directement sur le CPU - charge CPU réduite
  • chaque cœur de processeur voit chaque SSD directement - faible latence


En remplaçant complètement le protocole SCSI de l'application aux disques, il est possible de réduire considérablement la latence d'accès. Mais que nous proposent aujourd'hui les marketeurs? "Disques NVMe." C'est-à-dire la chaîne entière vers le contrôleur de stockage lui-même reste la même - SCSI. Et puis le contrôleur reconditionne simplement SCSI dans NVMe et communique ainsi avec les SSD NAND connectés.

Le résultat sur le graphique ci-dessus est le gain minimum dans le retard. Bien que le gain en IOPS de pointe puisse être vraiment très perceptible. L'analogie traditionnelle: avez-vous besoin d'une voiture qui peut rapidement accélérer pour dépasser en 5 secondes, ou d'une voiture qui, dans des conditions idéales, peut accélérer en 10 minutes à 300 km / h? Les deux options sont bonnes, mais le plus souvent, elles choisissent la première.

La réalité est que le gain de NVMe NAND est à peine perceptible aujourd'hui pour les applications réelles, et à notre avis, il ne vaut absolument pas la différence de prix et la perte de capacité disponible par rapport aux SSD SAS.

Au lieu de simplement remplacer le «dernier kilomètre» de SAS à NVMe, HPE propose l'utilisation de disques Intel Optane entièrement nouveaux connectés via NVMe comme cache de lecture dans nos contrôleurs de stockage 3PAR et Nimble.

image

(L'arithmomètre et l'administrateur sur la photo s'appellent Felix, mais la différence est énorme!)

Pourquoi nous avons décidé de suivre cette voie:

  • afin que nous puissions proposer à nos clients de mettre à jour les systèmes de stockage déjà achetés (en particulier 3PAR 9450, 20450, 20850 et Nimble AF60 et AF80 - tout le top 100% flash)
    image
  • de cette manière très simple (en ajoutant une carte d'extension avec Optane à bord à chaque contrôleur), nous réduisons le retard maximum d'environ 15 fois et la moyenne de 30 à 40% (les IOPS augmentent également, eh bien, d'accord). Et surtout, le délai ne saute pas du marketing "à partir de 0,2 ms!" ad infinitum (le marketing n'est pas le nôtre, je cite juste), mais il devient beaucoup plus stable:
    image

    (Valeurs de retard basées sur des tests HPE internes)
  • plus précisément, que peut-on attendre d'une telle réduction de la latence de la baie pour votre Oracle préféré, par exemple: selon nos tests internes, l'attente des E / S est réduite en moyenne de 37%, et les sélections SQL sont accélérées de 27%.
  • Pourquoi le cache est-il lu et non écrit? Parce que dans 3PAR et Nimble, depuis de nombreuses années, la DRAM est utilisée comme cache d'écriture (NVRAM non volatile dans Nimble). À son tour, il est plusieurs fois plus rapide que les périphériques NVMe, et jusqu'à ce que l'avènement de Gen-Z ou de nouveaux protocoles similaires le reste. C'est-à-dire L'enregistrement n'est pas nécessaire pour accélérer via NVMe.
  • Pourquoi Intel Optane? Parce que c'est le type de support le plus récent, bien qu'il soit toujours derrière la NAND en densité, mais un ordre de grandeur plus rapide en réponse. De plus, Optane dispose d'une ressource presque inépuisable pour la réécriture. En général, pour les systèmes chargés, les coûts de transaction sur Optane sont beaucoup plus bas que sur NAND NVMe. Et le cache est une couche très chargée de tous les côtés. Les données chaudes y sont copiées à partir d'une couche plus lente (par conséquent, une ressource est nécessaire), elles y sont lues si des données ne sont pas trouvées dans le cache NVRAM du contrôleur (par conséquent, une réponse rapide est requise pour que le dépassement du cache NVRAM ne ressemble pas à un voyage vers l'hypermarché par rapport à avec un voyage au magasin près de la maison).
  • pourquoi ne pas mettre des disques NVMe après tout? Soyez sûr de le mettre! Par exemple, le châssis Nimble vous permet d'installer de tels disques maintenant (le fond de panier est prêt pour cela), mais nous ne vendons pas de tels disques pour Nimble, car c'est tôt. SCM-cache donne désormais une augmentation multiple des performances pour des sous relatifs. Alors utilisons-le alors que la NVMe NAND est toujours moins chère, le protocole NVMe lui-même est toujours en développement (le multi-chemin n'est apparu dans la norme qu'en mars 2018, et reste loin derrière la stabilité SCSI), et en général, l'écosystème NVMe de l'application aux disques est toujours non développé (NVMe over fabric est allé à la maternelle, les fabricants se disputent à quoi il devrait ressembler, les pilotes ont des fonctionnalités minimales pour ne pas écraser trop quand tout se calme).
  • et aussi parce que nous aimons vraiment tout mettre en cache. Voici un exemple sur Nimble:


image

Oui, au fait, connaissez-vous HPE InfoSight ? Avec cet outil, vous savez toujours où chercher un retard. Par exemple, comme ceci:

image

(Si vous trouvez un retard, veuillez contacter notre foi.)

Il est temps de résumer: si vous êtes l'heureux propriétaire de 3PAR 9000 ou 20 000, vous pouvez dès maintenant commander 3PAR 3D Cache basé sur Intel Optane. Si vous regardez attentivement la matrice Nimble All-flash - prenez-la, car C'est une base fiable pour protéger les investissements à l'avenir. Commencez avec le SSD SAS NAND maintenant, connectez le cache Turbo All Flash basé sur SCM plus tard, puis changez les disques en NVMe.

3PAR et Nimble SCM Cache

Pour référence:

Source: https://habr.com/ru/post/fr432306/


All Articles