Peu après le passage du disque dur au SSD dans les datacenters, le NVMe a donné une nouvelle dynamique à la NAND flash avec l'arrivée du PCIe NVME en lieu et place du SAS/SATA. Ce protocole a rapidement évolué avec le NVMe over Fabric (NVMe-oF) conçu pour gérer efficacement des pools de SSD. Il apportait des performances de type DAS (attachement direct) mais sur un réseau Ethernet. Plus récemment, NVMe over TCP est arrivé pour encore améliorer les performances du NVMe-oF avec des coûts de déploiement plus faibles et moins de complexité architecturale. En résumé, ce dernier protocole étend NVMe à l’ensemble du datacenter en se servant de la structure simple et efficace de TCP/IP.

Eric Killinger, directeur de l’IT de Capgemini Amérique du Nord, constate « avoir la capacité de communiquer sur une bande passante élevée avec une faible latence, tout en gagnant une séparation physique entre les baies de stockage, puis ajouter un réseau classique intégrant le protocole TCP pour le transport, cela change la donne ». Il ajoute, « les hyperscaler du cloud adoptent déjà cette technologie en remplacement des technologies SSD vieilles de deux ou trois ans, pour un meilleur accès aux requêtes pour l’analyse de données et de l’IoT ».

La bascule du NVMe vers le NVMe over Fabrics

Les performances du stockage flash ont fortement progressé avec l’arrivée des premiers SSD NVMe, mais les systèmes dialoguaient encore avec les serveurs sur le réseau via une connexion basée sur SCSI (FC ou iSCSI). Les déploiements NVMe-oF vont plus loin en prenant en charge le RDMA (remote direct memory access) pour des solutions de stockage basées sur NVMe via des fabrics réseau. « Il s’agit d’un protocole réseau pour le stockage haute performance optimisé spécifiquement pour le SSD et qui offre des latences beaucoup plus faibles, une bande passante plus élevée, un parallélisme et une efficacité bien meilleure », explique Eric Burgener, vice-président de la recherche sur l’infrastructure d’IDC.

Le NVMe-oF peut être utilisé sur différents types de réseau, notamment Fibre Channel (FC), Ethernet et InfiniBand. Au sein d'Ethernet, il existe différentes options de transport, notamment RDMA over Converged Ethernet (RoCE), et iWARP, ainsi que TCP. L'inconvénient est que les options FC, InfiniBand, RoCE et iWARP nécessitent toutes des adaptateurs de bus hôte et des pilotes personnalisés, ce qui rend leur mise en œuvre et leur maintenance difficiles et coûteuses.

D’où l’intérêt pour NVMe over TCP qui « est une véritable norme industrielle et fonctionne avec les adapteurs standards Converged Ethernet qui équipent presque tous les serveurs d'entreprise », souligne Eric Burgener. De plus, la plupart des principales distributions de Linux incluent désormais un pilote NVMe-over-TCP. « En étant un standard publié et accepté, les déploiements NVMe-oF domineront à long terme », glisse l’analyste. Tout en reconnaissant « le protocole sera moins coûteux à mettre en œuvre et n’implique pas un calendrier de mise à niveau en dehors des adaptateurs Linux ou Ethernet standard, même s’il a une latence un peu plus élevée que RoCE, largement déployé aujourd’hui ».

A noter que RoCE et iWARP prennent chacun en charge RDMA, alors que FC et TCP ne le font pas. Cette capacité à supporter RDMA offre une latence légèrement inférieure, mais l’ensemble des technologies donne une amélioration significative des performances par rapport aux solutions réseaux basées sur SCSI comme Fibre Channel (FC) et iSCSI.

Les usages de NVMe over TCP

L'une des principales raisons de l'adoption de NVMe over TCP est de fournir une solution de stockage partagé à faible latence. « Si vous avez une baie full flash NVMe, mais toujours connectée à des serveurs en SCSI, vous perdez probablement beaucoup en performance et en efficacité », observe Eric Burgener. Et pour lui si vous voulez tirer pleinement des systèmes, « il faut un réseau de stockage basé sur NVMe-OF ». Pour la majorité des entreprises, le choix final en matière de transport sera déterminé par la technologie déjà déployée ou par les exigences de performance liées à l’échelle. Sur ce dernier point, « FC est le meilleur transport, mais l’écart se réduit à chaque évolution des réseaux Ethernet. Ils sont capables de gérer davantage de charges de travail de stockage grâce à sa bande passante plus élevée » suggère le consultant. Si une entreprise possède déjà un réseau FC, il est relativement facile d’y installer le NVMe-oF. Cependant, la plupart des nouveaux déploiements opteront pour Ethernet et le TCP finira par l’emporter, prédit Eric Burgener.

En termes d’applications, « nous verrons probablement beaucoup de NVMe over TCP pour des workloads d’analyse de données basée sur l’IA/ML, en particulier si elles sont en temps réel ». Il ajoute un autre cas de figure, « dans les environnements qui ont consolidé beaucoup de charges de travail sur une seule baie de stockage et doivent fournir des performances élevées ». En dehors des applications d’analyse de données encore naissantes, le NVMe/TCP gagne du terrain dans le déploiement de grande envergure de stockage flash. « Les hyperscalers sont des clients naturels de cette technologie, car elle offre un accès rapide aux données et leur distribution dans plusieurs datacenters. Les bénéfices sont nombreux en termes d’électricité, de refroidissement et d’architecture de haute disponibilité sans les coûts supplémentaires engendrés par la mise en place d’un réseau de fibre optique normal », constate Eric Killinger. Les économies se font aussi en tirant parti des investissements réseaux existants et disponibles auprès de nombreux OEM. « Le coût par port pour connecter plusieurs ports 10G Ethernet par rapport à de l’Infiniband ou du Fiber Channel justifie à lui seul l’utilisation de la pile TCP sur NVMe », constate le dirigeant.

Disponibilité et déploiement de NVMe-over-TCP

NVMe et ses spécifications sont détenus et maintenus par NVM Express, un consortium de sociétés de réseau, de stockage et de l’IT. La spécification NVMe a été publiée en 2011 et fonctionne avec le bus PCIe des cartes mères (d'où le e de express dans le nom), ce qui permet aux SSD de ne plus agir comme les disques durs qu'ils imitent mais plutôt comme ce qu'ils sont vraiment : une mémoire flash très rapide. La spécification NVME/TCP a été ratifiée par le consortium en 2018

Aujourd’hui, le support de ce protocole est principalement disponible auprès de fournisseurs réseaux comme Lightbits Labs et Mellanox Technologies (qui appartient désormais à NVIDIA), ainsi qu'auprès d'une poignée de start-ups de stockage, notamment Excelero, Pavilion Data et Infinidat. A noter que le fabricant de NAND flash et de SSD Kioxia (ex Toshiba Memory) supporte également NVMe/TCP. Cette disponibilité du protocole devrait croître rapidement au cours des prochaines années. « Les principaux fournisseurs de stockage ne l’ont pas encore introduit mais le feront probablement dans les 12 à 18 prochains mois », pense Eric Burgener.

L’obstacle à l’adoption à court terme du NVMe over TCP est la même raison qui fait que cela sera un succès à long terme. Explications, « la plupart des équipes IT expérimentent de plus en plus le recours au cloud public et les estimations montrent que 90% des entreprises seront présentes dans un ou plusieurs cloud publics », souligne le directeur IT de Capgemini Amérique du Nord. Cela signifie a contrario que le taux de rafraîchissement de l’IT va avoir tendance à baisser et les entreprises n’auront pas de budget pour moderniser leur infrastructure de stockage vieillissante avec des technologies NVMe haut de gamme. « Cependant, certaines de ces mêmes entreprises se tourneront vers les fournisseurs de service cloud public pour remplacer leurs services IT d’entreprise et c’est là que NVMe over TCP va prospérer », estime le dirigeant. Pour Eric Burgener, l’adoption « ne devrait pas s’accélérer avant la fin de 2022 ou 2023 ».