Présentation
EnglishRÉSUMÉ
Cet article présente les processeurs à très grand nombre de cœurs (manycores), avec les caractéristiques qui les distinguent des multicœurs et des GPU : type et performances des cœurs, décomposition hiérarchique en clusters de cœurs, modèle mémoire (partagée ou distribuée) et développements logiciels. Ils sont utilisés dans deux classes d’applications : le calcul scientifique haute performance pour lequel la performance est le critère clé, et les applications mobiles ou embarquées haute performance à faible consommation.
Quatre exemples sont détaillés : les Xeon Phi d’Intel, le SW26010 utilisé dans le superordinateur TaihuLight, les versions 16,64 et 1024 cœurs de l’architecture Epiphany d’Adapteva et lesmanycoresMMPA2 et MMPA3 de Kalray.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud
INTRODUCTION
Sans prendre en compte les processeurs graphiques (GPU) qui constituent à eux seuls une classe d’architecture, les processeurs à grand nombre de cœurs se distinguent des processeurs multicœurs, non seulement par le nombre de cœurs, mais également par un certain nombre de caractéristiques : le type et la performance des cœurs, la décomposition hiérarchique en clusters (ou nœuds) de cœurs, le modèle mémoire (mémoire partagée ou mémoire distribuée) et les problèmes logiciels liés au fait qu’ils sont presque toujours utilisés comme coprocesseurs. Ces manycores sont utilisés dans deux grandes classes d’applications : celles, comme le calcul scientifique, pour lesquelles la haute performance est le critère le plus important d’une part, et les applications mobiles et embarquées haute performance pour lesquelles les contraintes énergétiques sont fondamentales, d’autre part.
Les différentes caractéristiques sont présentées avec les différentes variantes. Puis quatre exemples de processeurs manycores sont détaillés. Les deux premiers sont destinés au calcul haute performance et dissipent deux à trois centaines de watts :
-
les processeurs et coprocesseurs Xeon Phi d’Intel avec les modèles Knights Corner et Knights Landing ;
-
le manycore SW26010 utilisé dans le superordinateur chinois TaihuLight qui a été de Juin 2016 à Novembre 2017 le premier au TOP500 des superordinateurs.
Les deux exemples suivants sont des architectures destinées aux applications mobiles et embarquées haute performance et dissipent de quelques watts à trois dizaines de watts :
-
les processeurs implantant l’architecture Epiphany d’Adapteva, avec deux versions utilisées à 16 ou 64 cœurs et une version 1 024 cœurs qui semble être un échec ;
-
l’architecture MPPA de Kalray, avec notamment l’étude des versions MMPA2 et MPPA3.
L’approche Xeon Phi, utilisant la mémoire partagée et des cœurs non suffisamment simplifiés par rapport à ceux des multicœurs, a des performances insuffisantes par rapport aux processeurs graphiques, ce qui a conduit en 2018 à son abandon par Intel. Les manycores SW26010 et Pezy SC-2 utilisent une hiérarchisation de cœurs et la mémoire partagée. Ils sont utilisés dans des superordinateurs ayant les meilleures performances au monde. Les processeurs manycores destinés aux applications embarquées haute performance sont prometteurs. Si Adaptera n’utilise que les versions Epiphany 16 et 64 cœurs, Kalray, avec l’architecture MPPA3 dont la puissance dissipée reste de l’ordre de 20 W et avec ses extensions arithmétiques pour la vision par ordinateur et l’apprentissage profond, semble bien positionné dans cette classe d’applications.
Les processeurs manycores ne sont pas la continuité des multicœurs avec un plus grand nombre de cœurs. Le nombre de cœurs est très loin d’une progression exponentielle. Les nouvelles applications de l’intelligence artificielle semblent favoriser les manycores à faible consommation et les aider à trouver leur créneau dans les choix entre multicœur, GPU et FPGA.
VERSIONS
- Version courante de nov. 2023 par Daniel ETIEMBLE
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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. Nombre de cœurs
On peut penser que le grand nombre de cœurs est ce qui caractérise en premier lieu les architectures manycores. En fait, la structure et la complexité des cœurs doivent être prises en compte.
Les processeurs ayant de loin le plus grand nombre de cœurs sont les processeurs graphiques (GPU). Par exemple, le GPU Tesla V100 de NVidia disponible depuis 2017 a 5 120 cœurs. Si certains caractérisent les GPU comme des manycores, ceci est très discutable. En effet, les cœurs des GPU sont le résultat de l’évolution des processeurs graphiques depuis qu’ils sont devenus totalement programmables (voir [H 1 013]). Les cœurs des GPU sont simples, conçus pour un parallélissme massif. Les cœurs ont un grand débit d’exécution, avec des latences importantes. Au contraire, les cœurs des CPU sont conçus pour des applications complexes, avec une logique de contrôle importante, un nombre réduit d’opérateurs de calcul, une hiérarchie de caches et des latences faibles. Les processeurs graphiques (GPU) sont donc une classe d’architecture à part entière, que nous ne considérons pas comme relevant de la problématique manycore.
Les manycores ne sont pas non plus une simple extension du nombre de cœurs des multicœurs. En effet, l’extensibilité des processeurs multicœurs se heurte à un certain nombre de problèmes parmi lesquels :
-
le type et les performances du cœur ;
-
le réseau d’interconnexion ;
-
le modèle mémoire : mémoire distribuée ou mémoire partagée avec les problèmes de cohérence ;
-
la dissipation thermique ;
-
l’environnement logiciel.
C’est la nature du cœur d’une part et la hiérarchisation mémoire d’autre part, qui caractérisent les manycores.
L’évolution des cœurs, présentée par Intel en 2006, est illustrée par la figure 1.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
Nombre de cœurs
BIBLIOGRAPHIE
-
(1) - ESP2. - - https://en.wikipedia.org/wiki/ESP32.
-
(2) - MATTSON (T.) - The future of Many Core Computing : A tale of two processors, - https://cseweb.ucsd.edu/classes/fa12/cse291-c/talks/SCC-80-core-cern.pdf
-
(3) - DONGARRA (J.) - Report on the Sunway TaihuLight System. - http://www.netlib.org/utk/people/JackDongarra/PAPERS/sunway-report-2016.pdf
-
(4) - FU (H.), LI AO (J.), YANG (J.), WANG (L.), HUANG (X.), YANG (C.), XUE (W.)i, QIAO (F.), ZHAO (W.), YIN (X.), HOU (C.), GE (W.), ZHANG (J.), WANG (Y.), YANG (G.) - The Sunway TaihuLight supercomputer : system and applications - In SCIENCE CHINA, Information Sciences, 59, 072001(2016). doi:10.1007/s11432-016-5588-7
-
(5) - INTEL WHITE PAPER - Migrating Offloading Software to Intel® Xeon Phi™ Processor, - February 2018. https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/migrating-offloading-software-paper.pdf
-
...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Adapteva : http://www.adapteva.com/
Caffe : http://caffe.berkeleyvision.org/
Intel Xeon Phi : https://www.intel.fr/content/www/fr/fr/products/processors/xeon-phi/xeon-phi-processors.html
Kalray : https://www.kalrayinc.com
OpenVx : https://www.khronos.org/openvx/
SYCL, https://www.khronos.org/sycl/
TensorFlow : https://www.tensorflow.org/
Tilera : https://en.wikipedia.org/wiki/Tilera
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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