cherezoff - Fotolia

Demain, les SSD contribueront à la puissance de calcul

ARM, dont les circuits équipent 85 % des SSD, a fait évoluer son design de puces contrôleurs au point d’en faire de véritables processeurs 64 bits à 8 cœurs. Un coup d’envoi pour l’ère du Computational Storage.

Cet article est extrait d'un de nos magazines. Téléchargez gratuitement ce numéro de : STORAGE: Storage 24 : Demain les SSD contribueront à la puissance de calcul

Et si les puces qui contrôlent les SSD servaient aussi à exécuter des calculs pour soulager les processeurs des serveurs ? C’est l’hypothèse que fait très sérieusement ARM, dont l’une des architectures de processeurs est utilisée dans près de 85 % des SSD pour piloter les accès vers les mémoires NAND. Selon un récent billet de blog de Neil Wermuller, le patron des solutions de stockage chez ARM, il se trouve que la dernière évolution de cette architecture, le processeur Cortex-R82, aurait suffisamment de puissance pour exécuter un Linux entier.

Neil Wermuller parle de Computational Storage. « L’idée est simplement de traiter les données à l’endroit où elles se trouvent, c’est-à-dire directement depuis les contrôleurs embarqués dans les SSD. Ce qui pourrait apporter quantité de bénéfices : une latence et une bande passante minimales, plus d’économies d’énergie, plus de sécurité… »

Selon lui, les applications les plus spectaculaires qui pourraient en tirer parti seraient toutes celles qui sont en lien avec le traitement des images : « prenons en exemple le système de vidéosurveillance d’un parking. La caméra enregistre ses images sur des disques, à partir desquels un serveur de traitement les extrait pour reconnaître les plaques minéralogiques. Ce serveur de traitement n’a besoin que d’un tout petit bout d’image, l’endroit où se situe la plaque. Mais il charge chaque image en entier, ce qui remplit la bande passante en données inutiles et ce qui dépense de l’énergie pour rien. Si un programme de reconnaissance était intégré au SSD, le serveur n’aurait plus qu’à récupérer la seule information qui l’intéresse », explique-t-il.

« Il y a l’argument de l’élasticité : plus on installe de SSD dans un système, plus on ajoute de puissance de calcul. »
Neil WermullerDirecteur, Storage Solutions ARM

Il cite d’autres exemples : l’accélération de base de données, la compression, le chiffrement, l’étiquetage. Dans les objets connectés, ces SSD intelligents pourraient eux-mêmes déclencher des processus selon les télémétries qu’ils enregistrent.

« Et puis il y a l’argument de l’élasticité : plus on installe de SSD dans un système, plus on ajoute de puissance de calcul », assène-t-il.

8 cœurs 64 bits pour les CSD, les SSD intelligents

Un SSD ainsi équipé de puissance de calcul prendrait le nom de CSD – pour Computational Storage Drive. La puissance délivrée relève des capacités du nouveau Cortex-R82, le premier processeur de cette gamme à reposer sur une architecture 64 bits. À consommation électrique égale, sa fréquence serait deux fois plus rapide pour exécuter les instructions que son prédécesseur, le Cortex-R8. Il dispose de 8 cœurs et peut adresser jusqu’à 1 To de RAM. L’intérêt d’avoir 8 cœurs plutôt qu’un seul est de ne pas gêner le pilotage classique des accès par un algorithme de traitement, lequel s’exécute donc en parallèle.

En plus des cœurs ARM classiques, le Cortex-R82 dispose d’un accélérateur NEON de type DSP, qui lui permet d’appliquer une seule fonction sur tout un jeu de données à la fois. Ce type de circuit est particulièrement utilisé pour les traitements sur les vidéos et sur le son.

Surtout, ce Cortex-R-là est le premier à intégrer une MMU (Memory Manager Unit). Cette unité de gestion de la mémoire est indispensable au fonctionnement de Linux. Et, selon Neil Wermuller, elle permet aussi au Cortex-R82 de faire correspondre des zones du stockage NAND à sa mémoire, ce qui simplifierait radicalement l’implémentation d’algorithmes de traitement sur un SSD.

Transformer un SSD en serveur Linux

Sur l’aspect logiciel, Neil Wermuller loue les avantages de Linux. Pour sa communauté de développeurs, bien entendu, qui a les capacités de mettre au point les codes exécutables depuis un SSD. Mais pas seulement.

« L’intérêt de mettre un OS comme Linux dans un SSD est que cela apporte aussi au disque la capacité de lire lui-même le système de fichiers créé par le serveur. »
Neil WermullerARM

« L’intérêt de mettre un OS comme Linux dans un SSD, est que cela apporte aussi au disque la capacité de lire lui-même le système de fichiers créé par le serveur. Dès lors, le SSD se rend compte qu’il enregistre et lit des images JPEG, par exemple, là où il ne voyait auparavant que des blocs de données. À partir du moment où le SSD comprend ce qu’il contient, il peut proposer un stockage plus intelligent des données, en les répartissant à la surface des NAND de manière plus optimale pour les applications. »

Troisième argument, Linux est un système serveur par excellence, que l’on peut tailler à la mesure de la mémoire embarquée dans un SSD, une fois qu’on lui a retiré tous les pilotes et les processus qui n’ont rien à y faire. « Une distribution comme la Debian 9, par exemple, se contente de 512 Mo de RAM et de 2 Go de capacité de stockage. Les SSD actuels ont tous bien plus », dit le responsable d’ARM.

Un écosystème se met en place

Le Computational Storage intéresse déjà des fabricants de stockage et, surtout, la SNIA, le consortium qui fédère tous les acteurs des baies de disques pour qu’ils tombent d’accord sur des standards d’interopérabilité.

Parmi les acteurs les plus dynamiques, citons la startup NGD Systems. Celle-ci planche sur des SSD intelligents à embarquer dans les avions pour analyser en temps réel les données de vol. Selon elle, les compagnies aériennes génèrent actuellement des To de données télémétriques par heure, qu’elles doivent ensuite transférer dans des serveurs au sol à des fins d’analyse. Déporter ces analyses directement dans les avions, sans avoir à y installer des serveurs qui consomment trop d’énergie, permettrait de livrer rapidement les bonnes informations aux différents services qui en ont besoin.

NGD a déjà fabriqué une première série de CSD. Lancé en 2019, son ICS 8100 est un SSD de 16 To qui embarque un Cortex-A53 à 4 cœurs, le premier processeur 64 bits qu’ARM a conçu pour les appareils mobiles et que l’on trouve également au cœur de machines comme le Raspberry Pi 3.

Les autres acteurs qui développent déjà des CSD sont initialement partis sur des architectures plus complexes, à base de FPGA. Citons Samsung, le seul grand fournisseur de SSD déjà présent, et son SmartSSD, ainsi que les startups Eideticom, Nyriad et ScaleFlux.

Pour approfondir sur Flash

Close