Le marché des superordinateurs est en pleine évolution. Il y a peu, on ne parlait que d’Intel et de ses Xeon. Puis sont venues les expériences avec ARM. AMD s’est relancé dans la course avec ses Epyc. Maintenant, Tachyum vient annoncer ses processeurs Prodigy, pour donner un nouveau coup de fouet : soixante-quatre cœurs par puce (contre vingt-huit chez Intel, trente-deux chez AMD), huit canaux de mémoire (comme AMD, contre seulement six chez Intel). Ils ne sont pas encore prêts pour le déploiement — on espère les voir sur le marché en 2020. Il n’empêche qu’ils ont de quoi surprendre : ils utilisent une conception radicalement différente, toutes les instructions étant forcément exécutées dans l’ordre dans lequel elles arrivent au processeur (alors qu’Intel et AMD les réordonnent pour utiliser au maximum tout le processeur, sans faire attendre certaines parties inutilement).
Les Prodigy disposent de leur propre jeu d’instructions, ce qui leur permet de faire table rase Intel étant poings et mains liées par la rétrocompatibilité, par exemple. Le compilateur doit être spécifiquement pensé pour l’architecture : si le processeur ne réordonne pas les instructions, c’est parce qu’il attend que le compilateur s’en charge. À cette fin, Tachyum a d’abord développé un compilateur selon cette contrainte (un dérivé de GCC 7.2, pour le moment), puis seulement un processeur qui en bénéficie.
Cette conception permet de réduire l’utilisation de transistors sur la puce — chaque cœur est ainsi beaucoup plus petit et peut être plus efficace (notamment parce que l’information a moins de distance à parcourir). Ainsi, sur moins de trois cents millimètres carrés (les Xeon montent jusque sept cents), Tachyum arrive à embarquer soixante-quatre cœurs, huit canaux de mémoire ECC (gérant la DDR4 et la DDR5), deux canaux supplémentaires pour de la mémoire à très haut débit HBM3, septante-deux canaux PCIe 5, deux ports Ethernet 400 Gb/s. En d’autres termes, les entrées-sorties de ces processeurs sont hors normes ! Ils seront fabriqués par TSMC sur son processus à 7 nm.
Plusieurs versions de ces puces sont prévues, en coupant les fonctionnalités non nécessaires selon les charges de travail à exécuter. Cela permet ainsi d’augmenter la densité, donc de réduire les coûts pour les utilisateurs.
L’architecture en elle-même n’est pas très différente de ce qui se fait dans le reste de l’industrie. Chaque cœur dispose de trente-deux registres de soixante-quatre bits pour des entiers, trente-deux registres vectoriels de deux cent cinquante-six ou cinq cent douze bits, sept registres de masques. À chaque coup d’horloge, un cœur peut charger deux valeurs en mémoire, effectuer deux opérations de multiplication-addition, une écriture en mémoire, un incrément d’adresse, un branchement. En moyenne, cela lui permet donc d’effectuer 1,72 instruction — huit microopérations par cycle.
Tout ceci n’est possible que grâce aux annotations écrites par le compilateur, qui groupe explicitement des instructions par paquets de quatre à seize octets. Toute l’exécution spéculative est aussi gérée par le compilateur, ce qui évite de perdre des transistors pour ce faire — et de créer des failles, accessoirement.
Une autre idée derrière Prodigy est d’exploiter le processeur à fond, tout le temps. Selon les simulations actuelles, un cœur Prodigy passerait moins de vingt pour cent de son temps à attendre que des données à traiter arrivent (par rapport à la moitié du temps pour la défunte architecture Itanium d’Intel, basée sur des principes similaires, où le compilateur devait effectuer une bonne partie du travail). De même, dans un centre informatique moderne, la plupart des processeurs sont rarement utilisés : un tiers du temps chez Amazon EC, quarante pour-cent du temps chez Facebook. Le reste du temps, les processeurs consomment, mais n’effectuent aucun calcul, alors qu’ils pourraient être utilisés pour des tâches d’apprentissage automatique.
Sources : Kleiner Supercomputer-Chip soll Intels Xeons schlagen, Hot Chips 2018: Tachyum Prodigy CPU Live Blog.
Partager