chris - Fotolia

NVMe et NVMe over Fabrics : pourquoi ces protocoles méritent l'attention

NVMe gagne de l'importance alors que les entreprises se convertissent au stockage flash. Dennis Martin, fondateur de Demartek, explique la technologie et pourquoi l'IT doit la surveiller de près.

La mémoire non volatile Express (NVMe) arrive bientôt dans un système de stockage près de chez vous, et il devient urgent pour les informaticiens de se familiariser avec le protocole.

C’est le conseil de Dennis Martin, le président et fondateur de Demartek LLC, un cabinet d’analystes qui dispose de son propre laboratoire d’essai à Golden, dans le Colorado. Selon Martin, il est temps d’en apprendre davantage sur NVMe, NVMe over Fabrics (NVMe-oF) et sur les futurs types de mémoire non volatile (Intel 3D Xpoint, PCM, RRAM…) qui finiront par remplacer ou compléter le flash NAND.

Les bénéfices de NVMe sont un niveau accru d’IOPS par cycle CPU, une latence plus faible du fait de la simplification de la pile logicielle d’E/S sur les serveurs, et un niveau de parallélisme accru pour les requêtes d’Entrées/Sorties. Le premier cas d’utilisation de NVMe est local au serveur lorsque l’on relie des SSD directement sur le bus PCI-Express. NVMe over Fabrics vise de son côté à étendre les bénéfices de NVME hors du serveur en déployant le protocole sur un réseau LAN Ethernet ou Infiniband.

Les SSD NVMe utilisent un jeu de commandes simplifié qui permet de réduire le nombre d’instructions CPU nécessaire pour traiter une demande d’E/S par rapport aux disques SAS et SATA. Le protocole NVMe prend en charge jusqu’à 64 000 commandes par file d’attente et jusqu’à 64 000 files d’attente par périphérique, alors que les disques SAS standards ne prennent en charge que 256 commandes dans une seule file d’attente et les lecteurs SATA ne supportent que 32 commandes par file.

La spécification NVMe 1.0 a été publiée en mars 2011 puis mise à jour en novembre 2012 et novembre 2014. La spécification NVMe over Fabric, publiée en juin 2016, étend le support du protocole aux « fabrics » réseau Ethernet, Fibre Channel et InfiniBand.

Dans un entretien avec searchStorage.com, Martin revient sur NVMe et NVMe over Fabrics et sur l’impact que les deux technologies pourraient avoir sur les organisations informatiques. L’article qui suit rassemble quelques extraits importants de cet entretien.

Pourriez-vous fournir une brève explication sur NVMe pour ceux qui ne savent pas grand-chose sur le standard ?

Dennis Martin : NVMe est une interface très optimisée et performante pour le stockage non volatile. Vous ne pouvez pas l’utiliser avec des disques durs. Elle s’appuie sur le bus PCI Express comme interface. C’est pourquoi le mot « express » figure dans le nom NVM Express. Et, bien sûr, NVM signifie mémoire non volatile, qui est l’autre dénomination pour le stockage à base de semi-conducteurs.

NVMe est une grosse affaire pour tous ceux qui ont besoin de très hautes performances et de très faibles latences.

Pour quels types d’entreprises et de cas d’utilisation NVMe va-t-elle être un enjeu ?

Martin : NVMe est une grosse affaire pour tous ceux qui ont besoin de très hautes performances et de très faibles latences. Typiquement, on imagine une entreprise — disons avec de grandes bases de données ou des environnements transactionnels, où vous devez obtenir la réponse à une requête tout de suite. Cependant, l’usage n’est pas limité aux entreprises, car NVMe fonctionne aussi très bien dans les environnements de postes de travail. Vous commencez à le voir beaucoup sur les cartes mères des machines de bureau, et de plus en plus dans les ordinateurs portables. Donc, il est disponible pour à peu près tout le monde. En fait, NVMe se déplace également dans l’espace mobile, et il deviendra une interface intéressante à utiliser, même dans des équipements comme les téléphones mobiles.

Y a t-il un surcoût aux lecteurs NVMe à base de semi-conducteurs ? 

Martin : Oui, les lecteurs NVMe — parce qu’ils sont très performants — sont aujourd’hui plus chers. Et ce n’est pas surprenant, compte tenu des habitudes de l’industrie. Les trucs vraiment rapides et performants sont toujours plus chers que les choses plus lentes et moins chères.

Une extension à NVMe connue sous le nom de NVMe over Fabrics devient également un sujet chaud de discussion. Pouvez-vous m’expliquer ce dont il s’agit et pourquoi il y a un besoin pour ce standard ?

Martin : parce que [NVMe] s’exécute sur le bus PCI Express, vous êtes limité à la portée du bus PCI Express, c’est-à-dire à l’intérieur d’un châssis ou peut-être à l’extérieur avec un câble spécifique. La deuxième limitation est qu’il n’y a qu’un petit nombre de périphériques que vous pouvez connecter à l’intérieur d’un bus PCIe ou à l’intérieur d’un serveur qui comporte un PCIe.

NVMe over Fabrics est conçu pour venir à bout de ces deux limitations. NVMe over Fabrics permet de parcourir des distances beaucoup plus grandes que celles permises par le bus PCIe à l’intérieur d’un châssis ou que celles permises par un câble PCIe externe relativement court. Et deuxièmement, il permet d’étendre la technologie à un très grand nombre de périphériques.

Typiquement, la distance supportée par NVMe over Fabrics est celle d’un réseau datacenter supportant la technologie RDMA [Remote Direct Memory Access]. Ce peut être un réseau InfiniBand, RoCE [RDMA sur Converged Ethernet] et iWarp [Internet Wide Area RDMA protocol. Cela peut aussi être un réseau Fibre Channel. NVMe peut s’exécuter sur n’importe lequel d’entre eux. NVMe over Fabrics est également conçu pour supporter de futures fabrics réseau. Il y en a d’autres en développement [comme Intel Omni-Path], qui pourraient ainsi devenir populaires.

Est-ce que les avantages de performance et de latence que NVMe over Fabrics peut apporter sont suffisamment importants pour que le service IT moyen s’y intéresse ?

Martin : Si un service IT moyen a des applications qui sont particulièrement sensibles à la latence ou qui ont juste besoin de très hautes performances, il verra une différence. L’objectif de NVMe sur Fabrics — et il est encore un peu tôt, donc nous n’avons pas vu [beaucoup] implémentations… L’objectif donc de NVMe over est de ne pas ajouter plus de 10 microsecondes de latence de plus que vous ce obtiendrez normalement sur NVMe [sur PCIe]. Dix microsecondes, ce n’est pas beaucoup.

Quel est le conseil le plus important que vous feriez aux services informatiques à propos de NVMe et NVMe over Fabrics ?

Martin : Si vous ne connaissez pas le protocole, vous devez vous familiariser avec lui, car l’industrie est en train de dépenser beaucoup d’énergie dans NVMe, et pas seulement l’organisation NVMe Express et ses sociétés membres. Il y a vraiment beaucoup d’activité. Donc, même si vous n’êtes pas prêt à utiliser tout de suite la technologie, vous devez être conscient de celle-ci. Vous devez savoir ce qu’elle fait. Elle ne résout pas tous les problèmes, et n’est pas la solution à tout. Mais elle va être la réponse à beaucoup de choses, surtout au vu des progrès des baies flash et des systèmes. Et puis dès que nous allons commencer à voir émerger d’autres types de mémoire non volatile qui finiront par remplacer la Flash NAND, ou qui s’inséreront au moins comme une couche intermédiaire entre la flash NAND et la DRAM, [NVMe] va devenir plus important. Car le média flash lui-même est remplacé par quelque chose de plus rapide, et que cela va vous amener à regarder le reste de votre infrastructure et à étudier où se trouvent les points de latence. Et vous allez les trouver dans la pile logicielle, ou peut-être dans des interfaces plus anciennes. C’est à ce moment qu’il sera important de connaître quelles sont les alternatives possibles

Pour approfondir sur Disques durs, SSD et Unités de stockage