Présentation
En anglaisRÉSUMÉ
Les ensembles de données gigantesques de beaucoup d’applications modernes et des techniques matérielles comme l’empilement 3D de puces dans les DRAM HBT ont donné une nouvelle actualité au calcul en mémoire ou calcul près de la mémoire. L’article présente les problématiques correspondantes : localisation du calcul, quantité de calcul, coordination entre CPU et l’accélérateur en ou près de la mémoire. Cinq exemples significatifs récents sont présentés et discutés : le circuit Untether AI Bocqueria, le circuit Cebras WCS-2, le projet Ambit, la puce PIM d’UPMEM et le circuit Aquabolt-XL de Samsung.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
The huge data sets of many modern applications and hardware techniques such as 3D chip stacking in HBT DRAMs have given new momentum to in-memory or near-memory computing. The article presents the corresponding issues: computation localization, computation quantity, coordination between CPU and in /near memory coprocessor. Five significant recent examples are presented and discussed: the Untether AI Bocqueria chip, the Cerebras WCS-2 chip, the Ambit project, the UPMEM PIM chip and the Samsung Aquabolt-XL chip.
Auteur(s)
-
Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Saclay
INTRODUCTION
Depuis plusieurs décennies, l’écart entre les performances de processeurs et des mémoires DRAM, connu sous le nom de « mur mémoire », n’a cessé de croître. Différentes techniques sont utilisées pour limiter la croissance de cet écart :
-
hiérarchies de caches, pour rapprocher instructions et données du processeur ;
-
multithreading matériel pour limiter les attentes mémoires ;
-
augmentation des débits des DRAM avec des générations successives : DDR, GDDR, HBM.
Rapprocher les calculs des données mémoire est une technique étudiée depuis les années 1960. Des réalisations comme les Vector IRAM ont été proposées dans les années 1990. Calcul en mémoire ou près de la mémoire devient d’actualité en fonction de deux phénomènes :
-
Beaucoup d’applications modernes utilisent des ensembles de données gigantesques. Minimiser les transferts entre CPU et mémoire principale DRAM devient une obligation.
-
Les techniques matérielles de réalisation de circuits, comme l’empilement 3D de puces dans des DRAM HBM (High Bandwith Memory) permettent de faciliter le calcul près de mémoires DRAM.
Calculer près ou en mémoire pose un certain nombre de questions :
-
Où effectuer le calcul ?
-
Quelle est la quantité de calculs nécessaire ?
-
Comment organiser la coordination entre le CPU maître et l’accélérateur matériel en ou près de la mémoire ?
Ces questions sont détaillées.
Cinq exemples récents de réalisation sont discutés :
-
L’architecture Untether AI Boqueria est un accélarateur pour inférence dans les réseaux de neurones. Il est constitué d’une grille 2D de 729 blocs SRAM, chaque bloc comprenant 512 SRAM de 640 octets et 512 processeurs élémentaires. Les calculs sont proches des SRAM.
-
Le circuit Celebras WS2 est un circuit constitué d’un wafer de 850 000 cœurs (2,6 . 1012 transistors) pour l’apprentissage profond. Les cœurs, interconnectés en grille 2D au niveau du wafer, ont un ratio 50 : 50 de logique (calcul) et de mémoire SRAM.
-
Le projet Ambit modifie la structure interne d’une DRAM pour réaliser un certain nombre d’opérations de base : copie, Not, And, Or, etc.
-
La société UPMEM a conçu et testé des puces PIM comprenant un processeur réalisé en technologie DRAM avec un jeu d’instructions complet pour le calcul entier, sans flottants ni instructions SIMD à côté de bancs mémoire DRAM. On a des calculs près des bancs mémoire DRAM.
-
Le circuit Aquabolt-XL de Samsung empile des puces DRAM avec la technologie TSV et insère dans l’empilement des puces avec des unités de calcul entre les bancs mémoire. L’unité de calcul a un nombre réduit d’instructions de type RISC 32 bits contrôlant notamment des instructions SIMD d’additions et multiplications sur des flottant 16 bits.
KEYWORDS
memory wall | processing in memory | processing near memory
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Électronique - Photonique > Électronique > Architecture et tests des circuits numériques > Calcul en mémoire ou près de la mémoire > « Mur mémoire »
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. « Mur mémoire »
Le mur mémoire résulte de la différence d’évolution des performances des processeurs et des mémoires DRAM.
2.1 Temps d’accès des DRAM
Comme le montre la figure 1, de 1980 à 2010, la performance des processeurs a augmenté de 60 % par an, alors que la performance des DRAM n’a augmenté que de 7 % (latence) et de 20 % (débit). L’amélioration des performances des processeurs s’est ensuite ralentie, de l’ordre de 20 %. L’écart continue cependant de se creuser.
HAUT DE PAGE
Dans l’approche Von Neuman classique, rapprocher les données mémoire des processeurs se réalise par l’introduction au sein de la puce processeur de petites mémoires SRAM pour ranger instructions et données utiles au calcul. La hiérarchie de caches s’est complexifiée avec les générations successives de processeurs, comme le montre la figure 2. D’une génération à la suivante, il y a un niveau de cache supplémentaire, seul le cache de dernier niveau étant à l’extérieur de la puce CPU.
Avec l’approche « mémoire logiquement partagée », le problème se complique avec les multicœurs et les clusters de multiprocesseurs, comme l’illustre la figure 3. La cohérence des caches doit être assurée pour le processeur multicœur et entre les différents multicœurs. Le lecteur intéressé trouvera plus de détails dans les articles [H 1 002] et ...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
« Mur mémoire »
BIBLIOGRAPHIE
-
(1) - SING (G.) et al - Near-Memory Computing: Past, Present, and Future - arXiv, 2019 https://arxiv.org/pdf/1908.02640.pdf
-
(2) - PATERSON (D.) et al - A case for Intelligent RAM, - IEEE Micro, vol. 17, n°2, pp 34-44, March 1997.
-
(3) - KOZIRAKIS (C.E.) et al - Scalable Processors in the Billion-Transistor Era : IRAM, - Computer, Vol. 30, N° 9, pp 75-78, Sept. 1997.
-
(4) - CALPIN (J.M.) - Memory Bandwidth and System Balance in HPC System, - https://sites.utexas.edu/jdm4372/tag/memory-bandwidth/
-
(5) - FARBER (R.) - How High-Bandwidth Memory Will Break Performance Bottlenecks, The Next platform, - October 21, https://www.nextplatform.com/2021/10/21/how-high-bandwidth-memory-will-break- performance-bottlenecks/
-
(6) - GHOSE (S.), BOROUMAND (A.), KIM (J.S.), GÓMEZ-LUNA...
DANS NOS BASES DOCUMENTAIRES
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive