L'université de Californie (États-Unis) a conçu une puce électronique contenant 1.000 cœurs programmables indépendamment. Six cent vingt-et-un millions de transistors sont à l’œuvre pour un taux de calcul maximum de 1,78 billion d'instructions par seconde. Fabriquée par IBM, cette puce se destine à des tâches intensives, notamment pour le traitement de données scientifiques ou la gestion des data centers. Elle n’est toutefois pas prête de tourner sur nos ordinateurs ou nos smartphones…


au sommaire


    Alors qu'Intel a récemment annoncé la commercialisation de son premier processeur pour PC de bureau grand public doté de dix cœurs de calcul, une équipe de l'université de Californie, à Davis (États-Unis), a fait cent fois mieux. Ces chercheurs ont conçu une puce électronique qui contient 1.000 cœurs indépendants. Autrement dit, chaque processeur peut exécuter son propre programme séparément.

    Baptisée KiloCore, la puce en question a été fabriquée par IBM selon le design conçu par l'équipe du professeur Bevan Baas à l'UC Davis. Elle rassemble 621 millions de transistors pour un taux de calcul maximum pouvant atteindre 1,78 billion d'instructions par seconde. Un cœur fonctionne donc à une cadence moyenne de 1,78 GHz et il transmet les données directement à ses homologues, sans passer par un contrôleur mémoire central. Selon la taxonomietaxonomie de Flynn (classification des architectures processeur), il s'agit d'une architecture MIMD (Multiple instructions, multiple data, en anglais, qui peut se traduire par Multiples flux d'instructions, multiples flux de données) à mémoire distribuée. Les informations sont échangées par paquets sous forme de messages.

    C'est cette indépendance qui distingue le KiloCore des processeurs graphiquesprocesseurs graphiques multicœurs (GPU), très utilisés par les supercalculateurs et les serveurs d'applicationsapplications de cloud computing. Les GPU ont recours à une architecture SIMD (Single instruction, multiple data ou unique flux d'instruction, multiples flux de données) où chaque cœur de calcul applique la même opération à différentes données. Une puce telle que le KiloCore peut donc réaliser des calculs plus complexes puisque chacun de ses processeurs s'apparente à un ordinateur indépendant.

    La spécificité de l’architecture du KiloCore est qu’il utilise une mémoire distribuée et non partagée par un contrôleur central. © Andy Fell, UC Davis
    La spécificité de l’architecture du KiloCore est qu’il utilise une mémoire distribuée et non partagée par un contrôleur central. © Andy Fell, UC Davis

    Un KiloCore pourrait fonctionner avec une simple pile AA

    L'autre avantage très important qu'offre cette technologie concerne l'efficacité énergétique. Les cœurs non utilisés peuvent se mettre hors service afin d'économiser de l'énergieénergie. Ainsi, selon ses concepteurs, le KiloCore peut exécuter 115 milliards d'instructions par seconde en dissipant 0,7 WattWatt, ce qui permettrait par exemple de l'alimenter avec une simple pile AA.

    « Le KiloCore exécute les instructions de façon 100 fois plus efficace que le processeur d'un ordinateur portable moderne », peut-on lire dans le communiqué de presse de l'UC Davis. Cependant, une telle puce électronique n'est pas pensée pour être utilisée dans des ordinateurs ou des smartphones grand public. En revanche, l'équipe du professeur Baas dit l'avoir testé sur plusieurs applications requérant une grande capacité de calcul : chiffrementchiffrement de données, traitement vidéo ou encore du codagecodage-décodage via une liaison sans fil.

    Le KiloCore serait notamment très bien adapté pour des applications liées à la recherche scientifique ou des serveurs de cloud computing qui gèrent de grandes quantités de données parallèles. S'il n'y a pas encore de projet commercial, l'équipe de l'UC Davis planche déjà sur une évolution de la puce actuelle dont nous devrions entendre parler l'année prochaine.