Stockage : ScaleFlux recentre son SSD intelligent sur les bases de données

Les cœurs de processeurs embarqués dans les SSD de la startup devaient pouvoir accélérer tout type d’applications. Il a finalement été décidé de livrer le CSD 3000 préconfiguré pour un seul domaine.

ScaleFlux, la startup qui fabrique des SSD intelligents – alias CSD pour Computational Storage Device – commercialise enfin ces jours-ci le CSD 3000 qu’elle avait annoncé l’année dernière. La nouveauté est qu’après plusieurs mois de tests intensifs chez une cinquantaine de partenaires pilotes, on sait finalement à quoi va servir ce SSD équipé d’une puce ASIC maison : à réduire la place occupée par le stockage des bases de données. Sans en pénaliser les performances.

« La promesse de notre ASIC qui compresse les données à la volée est que, en occupant deux fois moins d’espace sur la NAND, nous réduisons par deux les temps de latence et nous retardons d’autant l’usure du SSD. Les entreprises que nous avons rencontrées nous ont dit que l’intérêt qu’elles y voyaient serait donc de diviser par deux la quantité de SSD qu’elles utilisent pour leurs bases de données. Ce qui leur permettrait de diviser par deux les risques de panne », explique « JB » Baker (en photo), responsable du marketing.

LeMagIT a rencontré la startup à l’occasion d’un événement IT Press organisé dans la Silicon Valley pour visiter les acteurs du stockage les plus innovants.

Selon les premiers retours, les partenaires pilotes auraient témoigné avoir pu réduire leurs coûts de stockage de 30 % sur MySQL et PostgreSQL, sans que cela n’impacte la latence. Sur Aerospike, l’utilisation de CSDs 3000 aurait considérablement allégé la charge côté serveurs : ils auraient permis de diviser par deux la puissance de calcul nécessaire aux traitements et par dix les temps d’attente avant d’accéder aux données. Sur Redis, la compression aurait contribué à allonger la durée de vie des SSD d’un facteur 5.

On note toutefois que ces résultats manquent de détails. Par exemple, ScaleFlux ne précise pas à quoi correspondent exactement les 30 % de coûts en moins sur MySQL, même si l’on se doute que la compression a servi à mettre moins de baies de disques en production pour une capacité similaire.

Photo du ScaleFlux CSD 3000.
Sous le capot du CSD 3000.

Le CSD 3000 est équipé d’une mémoire NAND à cellules TLC, plus rapides, mais moins capacitives que les cellules QLC. Le produit est livré en deux capacités brutes (avant compression) de 4 et 8 To. La promesse est de pouvoir stocker pour finir environ 7 ou 15 To de données à la vitesse des cellules TLC. Concernant les performances, ScaleFlux indique que le CSD 3000 utilise quatre canaux PCIe 4.0. Ses débits atteignent 7 Go/s en lecture et 5,4 Go/s en écriture. Ses vitesses d’accès sont de 1,5 million d’IOPS en lecture et 370 000 IOPS en écriture.

Un ASIC déjà taillé pour les modèles suivants

La puce ASIC SFX3000 que ScaleFlux embarque dans ses SSD est un SoC avec deux types de circuits. D’un côté, huit cœurs ARM Cortex A53 sont disponibles pour appliquer n’importe quels traitements aux données en transit entre le bus PCie et les 16 canaux de bus vers la NAND. De l’autre, quatre firmwares constituent les moteurs logiciels que les cœurs ARM doivent exécuter : chiffrement, compression, placement des données dans la NAND et présentation du SSD au serveur hôte.

Schéma de l'ASIC de ScaleFlux
Schéma de l'ASIC de ScaleFlux.

On note que cet ASIC est capable de communiquer sur 8 canaux PCIe, qu’il peut être accompagné de mémoire DDR4 et qu’il peut s’interfacer avec un accélérateur externe. Ces trois caractéristiques sont absentes sur le CSD 3000, mais seront probablement utilisées dans de futures versions du CSD qui reposeront sur le même ASIC.

Par ailleurs, l’ASIC serait capable d’atteindre une vitesse d’accès de 900 000 IOPS sur les écritures de données compressées, soit plus de deux fois et demie les performances sur CSD 3000. Sans doute que cette vitesse sera possible avec des NAND plus modernes.

Enfin, le firmware gravé dans la puce gère un espace NAND qui pourra grimper jusqu’à 64 To de capacité brute et qu’il peut présenter au serveur hôte comme un SSD de 256 To de capacité utile.

Un SSD qui ne sert qu’aux bases de données

En définitive, la version aujourd’hui commercialisée du CSD 3000 semble avoir été reconfigurée sur le tard, pour être efficace sur les bases de données et rien d’autre.

Dans la démonstration à laquelle LeMagIT a pu assister, un CSD de 4 To se présente bien au serveur hôte comme un disque de 4 To. C’est-à-dire qu’il ne serait par exemple pas possible d’y enregistrer une archive de 6 To. Même si l’ASIC compressait bien l’archive pour qu’elle tienne sur moins de 4 To au moment de l’enregistrement, le système de fichier du serveur hôte empêcherait en amont l’écriture, au prétexte qu’il n’y a manifestement pas assez de place libre sur le volume.

En revanche, cela fonctionne avec une base de données. Ce type d’applications n’enregistre en effet pas tout le fichier de la base à chaque fois, mais uniquement les blocs des enregistrements modifiés. Dans cette configuration, une base de, disons, 1 To, dans laquelle on ajoute un autre téra-octet de nouvelles informations, ne pèsera finalement dans le système de fichiers que 1,5 To.  

Par ailleurs, le firmware a été programmé pour que des enregistrements modifiés soient placés, non pas sur leurs blocs d’origine, mais sur d’autres blocs libres, afin de préserver l’usure des cellules. À la charge des cœurs ARM de se souvenir qu’un numéro de bloc demandé par la base de données correspond à un autre numéro de bloc dans la NAND.

« En fait, nous proposons de la NAND TLC ici, car c’est celle qui a officiellement la bonne rapidité et la bonne longévité pour les bases de données. Mais des essais en laboratoire nous ont montré que nous pourrions sans problème proposer de la NAND QLC plus capacitive, car notre système de compression réduit l’usure du QLC et sa latence d’écriture (pour une certaine taille utile) aux mêmes métriques que celles du TLC », commente JB Baker. Il suggère qu’un futur modèle de CSD avec 16 To de capacité brute sera probablement bientôt proposé.  

L’accélération des autres applications ? En suspens

Photo de l'ASIC de ScaleFlux
L'ASIC de ScaleFlux.

Initialement, ScaleFlux avait la volonté de proposer des SSD capables d’exécuter toutes sortes d’algorithmes, en particulier ceux liés au traitement des données dans l’analytique ou encore dans le domaine de la compression vidéo. À cette fin, trois produits devaient être mis sur le marché. Le CSD 3000 avec son firmware préprogrammé selon tel ou tel cas d’usage, un NSD 3 000 libre de charger de nouvelles fonctions applicatives dans son firmware et une carte PCIe CSP 3000 sans NAND, qui devait servir à accélérer des SSD conventionnels selon un besoin donné.

« Nous avons dû revoir notre copie quand nous avons commencé à présenter nos SSD à des entreprises pilotes. En résumé, elles nous disaient qu’il était formidable d’avoir de la puissance de calcul dans le SSD lui-même. Mais qu’il leur était bien trop compliqué de devoir passer par un logiciel externe pour définir ce que les cœurs ARM devaient accélérer », raconte JB Baker.

« Donc, nous leur avons dit que nous avions compris et nous sommes revenus avec un CSD 3000 livré préinstallé avec une optimisation pour les bases de données », ajoute-t-il. Il indique qu’aucune décision n’est encore arrêtée concernant la commercialisation à terme du NSD 3000. Cela étant, ce produit semble à ce jour avoir disparu du site web de ScaleFlux.

« Cela nous convient de proposer des SSD dédiés à MySQL ou PostgreSQL, qui sont très répandus en entreprise. Mais aussi conçus pour AeroSpike, dont les enregistrements se compressent particulièrement bien […]. »
JB BakerV-P Marketing, ScaleFlux

Il se trouve que les bases de données présentent un autre avantage pour ScaleFlux : les informations étant essentiellement du texte, elles se compressent très bien, pouvant même aller jusqu’à un facteur 5 selon JB Baker. Si le CSD 3000 devait être utilisé pour, par exemple, stocker des vidéos déjà compressées, il ne parviendrait, dans le meilleur des cas, qu’à réduire leur taille de 20 %.  

« Cela nous convient de proposer des SSD dédiés à MySQL ou PostgreSQL, qui sont très répandus en entreprise. Mais aussi conçus pour AeroSpike, dont les enregistrements se compressent particulièrement bien et qui est surtout utilisé par les banques, pour détecter les fraudes dans les transactions financières », dit le responsable marketing de ScaleFlux.

Parmi les projets dans lesquels des CSD 3000 seraient en cours de test, JB Baker évoque des configurations HPE Superdome pour les banques et des services en ligne d’archivage chez des fournisseurs de cloud.

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

Close