La semaine dernière, ARM a annoncé le lancement d’une puce Cortex-R82, laquelle pourra à la fois stocker et traiter les données. Un tel processeur pourrait poser les bases d’une toute nouvelle génération de dispositifs de stockage capables de traiter les données qu'ils stockent. Les contrôleurs de stockage, comme ceuxs fabriquées par Marvell, Psion et par d’autres fournisseurs de baies comme EMC, gèrent les entrées/sorties et la gestion des disques et des SSD, mais délèguent toujours la tâche de traitement des données au CPU. Ce qui oblige à un va-et-vient des données entre deux périphériques distincts pour leur traitement. Mais il existe un type de composant appelé « stockage de traitement » capable justement de traiter les données à l'endroit même où elles sont stockées, sans qu’il soit nécessaire de les déplacer en mémoire. Différentes méthodes - par indexation et par schéma, par exemple - permettent de traiter ces données dans l’espace de stockage. Le traitement sur place élimine la latence liée au déplacement des données et libère le CPU. Il est évident que cela ne peut se faire que sur des SSD.

Les précédentes gammes R5 et R8 conçues par ARM offrent déjà des capacités similaires, mais ces processeurs étant 32 bits, ils sont limités à 4 Go de mémoire. Le R82, premier processeur 64 bits, est capable d'accéder à un espace mémoire beaucoup plus important, de 1 To en l’occurrence. ARM ne fabrique pas de puces. L’entreprise conçoit des designs qu’elle vend sous licence à des fabricants qui se chargent de leur développement. D’après ARM, la puce Cortex-R82 peut intégrer jusqu'à huit cœurs de traitement. Mieux encore, du fait de la cohérence des puces, les cœurs voient tous la même mémoire. Le concepteur affirme que, par rapport à la génération R8, les performances de la puce Cortex-R82 ont été multipliées par deux.

Traitements IA au sein de la puce

La puce Cortex-R82 est également capable de traiter les tâches d'apprentissage machine grâce à la technologie Neon d'ARM, une extension avancée de l'architecture SIMD (Single Instruction Multiple Data) qui accélère les algorithmes et les fonctions de traitement du signal pour augmenter les performances de certaines applications, et notamment les tâches d'apprentissage machine. ARM affirme que la technologie Neon accélère les performances des réseaux neuronaux jusqu'à 14 fois par rapport à la puce R8 de la génération précédente.

Autre fait relativement important à signaler : l'unité de gestion de mémoire Memory Management Unit (MMU) optionnelle permet d’exécuter sur la puce des systèmes d'exploitation riches, comme Linux, séparément du système d'exploitation principal. Ainsi, une baie de stockage peut avoir son propre processeur multicœur, son propre espace mémoire et son propre système d'exploitation pour effectuer à la fois le traitement du stockage et le traitement des données de manière totalement indépendante du système principal. On dispose donc de deux environnements d'exploitation sur la puce et l’on peut attribuer des cœurs aux deux tâches. C’est un élément particulièrement important pour l'apprentissage machine, car la taille des sets de données augmente à une vitesse étonnante, de sorte que le stockage et le traitement permanent des données pourraient submerger les principaux processeurs. Or, moins il y a d'appels vers la mémoire principale et le CPU ou le GPU, mieux c'est.

Bientôt disponible

La puce Cortex-R82 ne fait pas d'exécution spéculative, ce qui signifie que sa capacité de traitement n’est pas équivalente à celle d’une puce Xeon ou Ampere. Mais elle peut effectuer un traitement en temps réel qui pourrait s’avérer très utile pour nettoyer les ensembles de données, traiter les données brutes, décharger la puce principale du traitement initial des données, et libérer le CPU pour le traitement des tâches pertinentes. Pour l’instant, ARM n'a pas indiqué à quel moment sa puce Cortex-R82 serait disponible.