LightBits Labs invente les baies de stockage NVMe sur Ethernet
Alors que les nouvelles solutions de SAN NVMe-over-Fabrics se démocratisent autour d’infrastructures spéciales et coûteuses, la startup israélienne a trouvé comment les déployer sur des réseaux standard.
Du stockage NVMe dernier cri sur des baies reliées avec de bonnes vieilles liaisons Ethernet. Voilà la technique trouvée par la startup israélienne Lightbits Labs pour proposer des baies SAN peu chères mais aussi rapides qu’un disque SSD directement installé dans un serveur.
Cette technologie vient concurrencer les autres solutions récentes de baies SAN dites NVMe-over-Fabrics (NVMe-oF) et qui reposent d’ordinaire sur des liaisons plus coûteuses, comme le RoCE sur Ethernet (RDMA over Converged Ethernet) ou l’iWARP (Internet Wide Area RDMA protocol) sur Infiniband. Ici, l’économie tient à l’utilisation des switches réseau standard, déjà en place, et au fait qu’il n’y aucune carte contrôleur spéciale à installer dans le serveur.
Du stockage SAN sur Ethernet aussi rapide que des SSD internes
La solution de LightBits est concrétisée par un système d’exploitation, LightOS, qui convertit à la volée les paquets TCP/IP en flux NVMe, et vice-versa. Installé dans un serveur bardé de SSD NVMe (la « LightBox ») et de ports Ethernet, il transforme ce dernier en baie de stockage SAN accessible à des serveurs Linux du même réseau et sur lesquels est installé un pilote NVMe over TCP/IP. Cette solution permettrait aux serveurs d’accéder à leur stockage avec une latence inférieure à 200 microsecondes, soit aussi rapidement que s’il s’agissait de disques SSD montés en SAS/SATA directement dans les serveurs.
Au sein de la baie LightBox, la fonction première de cet OS est de router les communications parallèles entre les ports Ethernet et les unités NVMe. Mais LightOS dispose aussi de fonctions plus évoluées. On y trouve du Thin Provisioning, de la compression, de la répartition des écritures entre les SSD pour maximiser leur durée de vie (en tenant compte du type de NAND), du RAID, de l’Erasure Coding et une gestion multi-tenante qui permet de fractionner l’espace de stockage entre différents propriétaires. La LightBox peut-être un serveur x86, comme un ARM.
La LightBox peut accessoirement être équipée d’une carte accélératrice « LightField » qui, grâce à un ASIC maison (en l’occurrence un FPGA) sert à compresser/décompresser les données à près de 20 Go/s, soit quatre fois plus rapidement que ne le ferait le processeur x86 d’un serveur.
Le projet a intéressé Dell EMC, Cisco et Micron qui ont déjà investi 50 millions de dollars. Selon leur dires, Lightbits concrétise tout simplement l’iSCSI à la génération NVMe. Autre argument de séduction, le patron de cette startup, Avigdor Willenz, avait déjà mis au point une puce contrôleur pour switches Ethernet au sein de la startup Galileo Technologies, qu’il avait revendue 2,7 Md$ à Marvell Semiconductor en 2000. Il avait aussi co-fondé Annapurna Labs, un fabricant de puces ARM, qui fut revendu à Amazon en 2015.
L’argument face à la concurrence : ne pas nécessiter de matériel spécial
D’ordinaire, les baies de stockage NVMe reliées par Ethernet utilisent plutôt des cartes contrôleurs capables de faire du RDMA-over-Converged Ethernet (RoCE), c’est-à-dire un protocole qui envoie sur les liens réseau le contenu de la RAM du serveur. Le RoCE réduit l’empilement des couches protocolaires habituelles en TCP/IP pour maximiser les données utiles dans les transferts. Il compense ainsi la lenteur relative d’Ethernet par rapport aux bus internes sur lesquels sont reliés les disques SSD. En revanche, cette technique habituelle nécessite des cartes et des switches spécifiquement RoCE, plus chers que les switches réseau traditionnels. Un défaut que n’a pas la solution de LightBits.
En juillet dernier, SolarFlare avait eu la même idée que LightBits : fournir du NVMe-oF directement compatible avec les 100 millions de ports Ethernet installés chaque année dans les entreprises. Dans le cas de SolarFlare, il s’agissait en revanche de construire des cartes contrôleurs Ethernet XtremeScale qui se font passer pour des disques NVMe. Ellent se chargent ensuite de traduire les ordres de stockage en paquets TCP/IP, a priori au moins aussi rapidement que ne les font les cartes RoCE, mais avec l’avantage d’envoyer sur les liens réseau des paquets routables par n’importe quel switch Ethernet.
SolarFlare prétend parvenir aux mêmes performances que les systèmes RoCE, soit 120 microsecondes de latence en lecture et 46 microsecondes en écriture (les accès en écritures sont plus rapides car le système utilise un cache en RAM). La vitesse, elle, dépend d’Ethernet : d’environ 1 Go/s sur du 10 Gbits/s à environ 10 Go/s sur du 100 Gbits/s. A titre comparatif, les meilleures unités NVMe internes atteignent 3,5 Go/s.
LightBits fournit le même service que la solution de SolarFlare, mais sans même devoir acheter de carte propriétaire. Elle fonctionnement simplement avec un logiciel côté serveur qui reprend la même logique que les cartes SolarFlare. Cette absence de contrôleur matériel spécifique explique que la latence de la solution LightBits soit un peu plus élevée.
Pour que le tour d’horizon de la concurrence soit tout à fait complet, rappelons que la startup Excelero propose aussi une forme de NVMe-over-TCP/IP uniquement logicielle. Son SDS NVMesh permet plus exactement de créer une baie SAN virtuelle à partir de plusieurs serveurs reliés au même réseau, que celui-ci soit RoCE, Fiber Channel ou TCP/IP. Néanmoins, l’éditeur précise que son implémentation ne fournit pas d’optimisation spéciale en ce qui concerne le TCP/IP.
LightBits propose aussi sa propre baie SAN toute en un avec 24 unités NVMe
Bien que LightOS soit susceptible de transformer n’importe quel serveur en LighBox, LightBits vient néanmoins de lancer sa propre configuration matérielle, appelée « SuperSSD ». AU format 2U, cette machine supporte jusqu’à 24 unités NVMe de 4 à 11 To, en TLC 3D NAND de 64 couches. La capacité brute maximale est de 264 To, ce qui pourrait se traduire, selon LightBits par 1 Po de stockage utile après compression/déduplication.
Côté réseau, la baie SuperSSD est équipée de deux ports Ethernet 100 Gbits/s. Ces liens sont idéalement censés accueillir les connexions 10 Gbits des serveurs, routées et concentrées en amont par des switches qui supportent le 100 Gbits/s.
La machine accepte également jusqu’à deux cartes LightField, chacune reliée à 12 SSD. La latence interne des disques est inférieure à 100 microsecondes. La latence des disques depuis un serveur relié 100 Gbits/s serait inférieure à 200 microsecondes. Lightbits revendique que sa baie atteindrait 5 millions d’IOPS.