Semiconducteurs : ZeroPoint planche sur un accélérateur de RAM

La startup suédoise a mis au point un design de circuit qui compresse les données au sortir du processeur – sans ralentir le flux – afin de réduire les temps de communication avec la mémoire et même virtuellement doubler, voire quadrupler, sa capacité.

Augmenter de 50 % la vitesse de calcul d’un serveur, sans accélérer son processeur, et même doubler, voire quadrupler la capacité utile de sa RAM, sans acheter de barrettes de mémoire en plus. Tels sont les objectifs du cache intelligent que met au point ZeroPoint, une startup créée par des chercheurs de l’université de technologie Chalmers, en Suède.

« Notre technologie consiste à mettre, entre le processeur et la mémoire, un semiconducteur qui élimine les informations inutiles dans les données, de sorte que ces dernières soient transférées plus vite. Et notre particularité est que nous pouvons le faire 1 000 fois plus rapidement que n’importe quel autre dispositif vendu actuellement pour compresser les données à la volée. Tellement rapidement que votre DRAM donne l’impression d’être devenue aussi rapide que la mémoire cache de votre processeur », explique Klas Moreau, le PDG de la startup, lors d’un événement IT Press Tour consacré aux startups européennes qui innovent en matière d’infrastructure.

L’enjeu de ZeroPoint n’est pas de fabriquer le dispositif en question, qui nécessite un petit circuit de calcul entouré de mémoire SRAM, la même que celle utilisée pour fabriquer des mémoires caches. La startup entend plutôt définir une norme industrielle qu’elle pourrait revendre aux fabricants de semiconducteurs. C’est-à-dire à des Intel ou AMD qui pourraient embarquer le dispositif dans leurs processeurs, ou à des Samsung ou Micron qui pourraient l’intégrer dans leurs contrôleurs de barrettes de DRAM.

Résoudre la lenteur de la RAM et sa surconsommation

Dans le détail, la startup fonde ses travaux sur la résolution de deux problèmes. D’une part, les puces de RAM ayant évolué moins rapidement que les processeurs et autres puces de calcul (GPU…), elles sont aujourd’hui environ 15 fois moins performantes pour véhiculer les données. « La conséquence est que le processeur d’un serveur passe actuellement la moitié de son temps à se tourner les pouces en attendant que la mémoire soit prête. », dit Klas Moreau.

D’autre part, il assure que jusqu’à 95 % des bits qui composent les données pourraient être éliminés avec un algorithme de compression sans causer la perte de la moindre information.

« Nous avons développé notre propre algorithme qui ne retient que les parties utiles dans chaque ligne de cache transmise en RAM. Ces lignes de cache pèsent au départ 512 bits (64 octets) chacune. C’est une norme. Mais le processeur n’a pas nécessairement 512 bits à transférer », explique notre interlocuteur.

« À la fin, la quantité de lignes de cache à transférer est moins importante, ce qui signifie que nous allons consommer moins de cycles d’écriture en DRAM. »
Klas MoreauPDG ZeroPoint

« En éliminant les bits vides, en résumant les suites de bits redondantes, nous parvenons à réduire cette longueur à 256 bits, ou à 128 bits, ou à encore moins. Il ne nous reste plus qu’à déplacer les fractions de données de certaines lignes de cache dans les espaces vides d’autres lignes de cache. » La propriété intellectuelle de ZeroPoint est la logique pour éliminer les bits inutiles très rapidement – 5 à 7 nanosecondes par ligne de 512 bits – et le design du circuit pour recoller presque instantanément les fractions de données ensemble.

« À la fin, la quantité de lignes de cache à transférer est moins importante, ce qui signifie que nous allons consommer moins de cycles d’écriture en DRAM. En réduisant cette quantité de cycles d’écriture, la mémoire est plus rapidement disponible pour la prochaine opération. Cela réduit le temps d’attente du processeur de 80 %. » Klas Moreau précise que le fonctionnement inverse se déroule lorsque le processeur lit des données en RAM.

« En réduisant cette quantité de cycles d’écriture, la mémoire est plus rapidement disponible pour la prochaine opération. Cela réduit le temps d’attente du processeur de 80 %. »
Klas MoreauPDG ZeroPoint

Il sort sa calculatrice : éliminer 80 % du temps gâché à attendre, permet au processeur de traiter 1,5 fois plus de données par jour, sans consommer plus d’électricité. Ce qui permet de dire qu’un traitement intense, l’entraînement d’un modèle d’IA par exemple, se terminera plus rapidement et aura donc totalisé une empreinte carbone 30 % inférieure à celle qu’il aurait eue sur des serveurs ordinaires. « En clair, notre solution vous permet de réduire le coût global de possession de vos serveurs d’environ 20 à 25 % », argumente-t-il.

Une quinzaine de designs qu’il reste à implémenter

La solution de ZeroPoint se complète d’un pilote qui avertit le système d’exploitation que les 16 Go de données, par exemple écrits par le processeur en RAM, ne remplissent pas les 16 Go de RAM physiquement installés dans une machine. Ce pilote assure par ailleurs un suivi du taux de réduction obtenu, pour dire au serveur quelle quantité de mémoire libre il peut encore utiliser avant de paginer des contenus moins nécessaires pour les stocker sur des disques.

Cela dit, le principe de la technologie de ZeroPoint peut s’adapter à tous les étages de la mémoire : entre le cache L2 et L3 du processeur, entre le processeur et la RAM, entre la RAM interne et la RAM installée sur un autre nœud via une connexion CXL, entre une RAM et un SSD NVMe, entre un SSD NVMe et un SSD SATA, etc.

ZeroPoint a breveté un design pour chacun des scénarios, soit près d’une quinzaine. Par exemple, dans un processeur, le circuit qui s’interconnecterait entre les cœurs et le cache L3, baptisé Cache-MX, pourrait virtuellement doubler la capacité de ce cache en n’augmentant que de 10 % sa taille physique sur la puce.

« En fait, chaque étage impose des caractéristiques physiques particulières. Mettre notre dispositif entre un processeur et ses douze barrettes de DRAM, par exemple [le design Ziptilion], demanderait de l’implémenter sur une puce avec 4 000 broches. Il est peut-être plus réaliste de penser que notre solution se concrétisera d’abord sous la forme d’une carte PCIe reliant la RAM interne d’un serveur à une RAM distante en CXL [design DenseMem], voire à une RAM embarquée sur la même carte PCIe », reconnaît Klas Moreau.

À date, deux designs ont été implémentés. Un circuit SuperRAM pour accéder plus rapidement à une mémoire lente sur un équipement embarqué. Et un circuit SphinX qui compresse et chiffre les données entre un processeur et sa RAM dans un serveur classique.

Ces circuits auraient été gravés au sein d’autres puces, lesquelles sont conçues par des acteurs des semiconducteurs dont on ignore l’identité. Ces puces seraient déjà sorties des usines de TSMC. LeMagIT croit comprendre, selon les documents auquel il a eu accès, qu’il s’agirait de processeurs ARM ou RISC-V. « Nous allons étudier comment nous interconnecter avec des processeurs x86 » confirme, à demi-mot, Klas Moreau.

Le design DenseMem qui accélère et compresse des RAM connectées en CXL pourrait être implémenté à son tour en 2025. Un contrat avec un fabricant de cartes PCIe serait en cours de signature.

« Notre modèle commercial est celui des royalties sur notre design, comme ARM. C’est-à-dire que nos futurs partenaires doivent déjà valider notre design, l’expérimenter dans le leur… C’est une stratégie qui mettra nécessairement du temps à se mettre en place », conclut le PDG de ZeroPoint.

Pour approfondir sur Processeurs et composants