LA TECHNOLOGIE MPPA®
UNE ARCHITECTURE "MASSIVELY PARALLEL PROCESSOR ARRAY"
L'architecture MPPA® DPU Manycore de Kalray
Une architecture "massively parallel processor array",
au coeur du processeur DPU de Kalray
Le monde est confronté à une explosion de données pour laquelle les technologies actuelles n’ont pas été conçues et qu’elles ne peuvent pas toujours traiter efficacement. L’industrie a besoin d’un nouveau type de processeur. Entrez dans l’ère des processeurs intelligents.

L’architecture globale du processeur Kalray de 3ème génération MPPA® DPU (Data Processing Unit) alias Coolidge™ est basée sur une architecture « Massively Parallel Processor Array », qui se caractérise par l’association de clusters de calcul connectés entre eux, à la mémoire externe et à l’I/O interfaces via deux interconnexions indépendantes.
Les interconnexions du processeur MPPA® DPU (Data Processing Unit) sont adaptées à différents types de transferts de données. La première interconnexion est une AXI Fabric bus grid, pour utiliser l’accès en lecture/écriture des cœurs aux mémoires et aux périphériques connectés par PCIe. La seconde interconnexion par un RDMA NoC (Network-on-Chip), qui prend en charge les transferts de données vers ou depuis les interfaces réseau Ethernet et connecte tous les clusters entre eux.
Le partitionnement robuste nécessaire au fonctionnement sûr du processeur est réalisé à la granularité du cluster de calcul et repose sur la configuration des unités de gestion de la mémoire (MMU), des unités de protection de la mémoire (MPU), et sur la désactivation ou non du réseau sur liens de puce.

L'architecture unique du processeur MPPA® DPU
(Data Processing Unit)
Le cluster du processeur DPU (Data Processing Unit) Coolidge™ est partitionné entre une zone sécurisée et une zone d’application utilisateur. La zone sécurisée comprend un coeur (RM Core) dédié aux fonctions de sécurité et de sûreté, associé à une banque mémoire isolé.
La zone applicative utilisateur regroupe 16 cœurs (PE Core) et un moteur de transfert de données (DMA) connectés à une mémoire locale de 4 Mo appelée SMEM et composée de 16 banques.
Les 16 cœurs fonctionnent selon deux modes possibles :
- Un mode SMP (« Symetric Multi-Processing ») destiné aux applications hautes performances : les coeurs PE se comportent comme un processeur multi-coeur.
- Un mode AMP (“Assymetric Multi-Processing ») destiné aux applications en temps réel : les coeurs PE se comportent alors comme 16 CPUs indépendants.
Les cœurs du processeur DPU (Data Processing Unit) Coolidge™ implémentent tous la même architecture, de type VLIW (« Very Long Instruction Word »). L’architecture VLIW est utilisée sur les processeurs embarqués pour le traitement et la prévisibilité du signal, ainsi que pour une résilience accrue aux attaques de sécurité Meltdown et Spectre.
Sur un cœur VLIW, le parallélisme exploitable entre les instructions est détecté par le compilateur puis implémenté dans le code binaire en marquant les instructions exécutables en parallèle. Cela permet d’avoir des cœurs au comportement temporel précis, plus compacts pour une capacité de traitement donnée, ce qui permet également l’intégration d’un plus grand nombre de cœurs.
La solution retenue est de coupler étroitement chaque cœur à un coprocesseur spécialisé TCA (« Tightly Coupled Accelerators ») dans la réalisation d’opérations matricielles mixtes de précision.
Les données sont transférées par blocs de 32 octets entre la mémoire et les registres du coprocesseur, selon le déroulement du programme exécuté par le coeur. Lorsque ces données sont traitées par le coprocesseur, elles sont interprétées comme des tableaux de quatre lignes et d’un nombre variable de colonnes selon la taille des éléments : nombres entiers compris entre 8 et 64 bits, nombre à virgule flottante 16 ou 32 bits.
Le fonctionnement sur des données bidimensionnelles permet au coprocesseur d’atteindre une intensité de calcul élevée, jusqu’à seize produits scalaires entre des vecteurs de huit éléments et seize accumulations par cycle.
La solution de Kalray offre à la fois une puissance de calcul très élevée capable de traiter des volumes de données considérables tout en minimisant la consommation d’énergie ; ainsi que des capacités d’effectuer des traitements hétérogènes à la volée.
Le produit principal est une carte PCIe standard, hautement configurable pour les besoins de composabilité, basée sur le processeur MPPA® DPU de Kalray mettant en œuvre des interfaces de pointe, y compris PCIe GEN4 x16 et 2x100Gb Ethernet. A titre d’exemple, couplé au dernier processeur PCIe GEN4 AMD, le MPPA® DPU peut être utilisé comme un accélérateur offrant une bande passante full duplex allant jusqu’à 256 Gbit/s.
L’un des principaux avantages de l’architecture « Massively Parallel Architecture Array » utilisée sur les processeurs manycore est la possibilité d’évoluer de 1 à N clusters. Ce fut en effet l’une des principales motivations de l’invention des processeurs « manycore », c’est-à-dire intégrer des centaines de cœurs dans un seul morceau de silicium avec une capacité d’évolutivité élevée qui surmonte les limitations traditionnelles des processeurs multi-cœurs dans ce domaine.
Au niveau de la puce, l’évolutivité existent, c’est-à-dire que vous pouvez ajouter plusieurs processeurs MPPA® DPU (Data Processing Unit) pour augmenter les performances de votre système. Que ce soit au sein d’une implémentation monolithique ou d’une implémentation multi-puces, la capacité d’évolutivité du cluster est unique à l’architecture MPPA®.
En conclusion, tirant pleinement parti de l’architecture brevetée MPPA® DPU de Kalray et de la technologie FinFET 16 nm, le processeur MPPA® DPU Coolidge™ est un processeur évolutif à 80 cœurs conçu pour les systèmes intelligents. Il offre une alternative unique aux approches conventionnelles telles que GPU, ASIC et FPGA, apportant une valeur unique à de multiples applications des Data Centers aux systèmes Edge ou embarqués.

Le processeur MPPA® DPU Coolidge™
L’architecture MPPA® (Massively Parallel Processor Array) est une technologie manycore révolutionnaire développée par Kalray, qui confère aux processeurs DPU (Data Processing Unit) une plus grande puissance de traitement tout en consommant moins d’énergie.
Téléchargements

Processeur
MPPA® DPU Coolidge™
Livre Blanc

Processeur
MPPA® DPU Coolidge™
Brochure produit
Commencez dès maintenant !
Vous souhaitez en savoir plus sur notre technologie MPPA®
et les solutions associées ?
Contenus associés
Un environnement logiciel pour le développement d'applications sur les processeurs de Kalray, utilisant des standards de codage ouverts.
Une carte PCIe programmable basse consommation qui peut être utilisée en mode accélération ou autonome.
Cette présentation de Kalray décrit le cœur VLIW KV3 (composant clé du processeur MPPA® DPU) et l’expérience de Kalray dans le développement de son backend de compilation LLVM.
Des cartes entièrement programmables permettant d'apporter les avantages de la technologie MPPA® DPU aux data centers, et d'offrir des solutions plus performantes et plus flexibles.