Certains multiplient les coeurs processeur comme les pains. C'est justement le cas des chercheurs de l'Université de Princeton qui indiquent avoir élaboré une puce avec 25 coeurs. Baptisée Piton, cette dernière a été conçue pour être facilement intégrable dans un ordinateur pouvant accueillir 8 000 puces 64-bits de ce type, pour un total de 200 000 coeurs processeur. Ce système ne devrait cependant pas voir le jour rapidement, mais demeure un scénario d'usage possible. Piton a été conçue pour être flexible et rapidement scalable, tout en assurant la synchronisation des coeurs lors du traitement parallélisé de tâches. L'objectif des chercheurs a été de concevoir un design de puce pouvant être utilisé dans des grands datacenters traitant les requêtes en provenance des réseaux sociaux, des outils de recherche et de services cloud, dont les temps de réponse sont étroitement liés à la puissance des serveurs.
Piton est l'un des rares processeurs open source à être basé sur un design OpenSparc, qui est une version modifiée du processeur Oracle OpenSparc T1. De nombreux CPU et architectures open source sont déjà en cours de conception dont par exemple RISC-V utilisée par SiFive pour créer un nouveau processeur ou encore l'Open Core Foundation qui essaie de fournir un design open source du processeur SH2 d'Hitachi présent dans la console de jeux Saturn de Sega sortie en 1994. Il est intéressant de noter que les chercheurs ont choisi Sparc comme l'architecture de choix pour le design processeur. Utilisé par Oracle dans ses serveurs haut de gamme conçus pour les bases de données, la popularité de cette architecture faiblit. Fujitsu par exemple a dernièrement indiqué s'en détourner au profit d'ARM pour ses gros serveurs, en particulier pour le supercalculateur Post-K qui sera déployé au Japon en 2020.
460 millions de transistors embarqués dans Piton
Chaque puce Piton compte 25 coeurs positionnés sur 5 lignes, une topologie largement répandue en tant que design mesh. Chaque coeur opère à une fréquence d'horloge de 1Ghz sachant que de multiples puces dans une baie peuvent être chaînées entre elles via un système de pont. Ce point relie également la puce à la DRAM et au stockage. Le design mesh n'est pas une nouvelle idée et a été utilisé dans les puces par des sociétés comme Tilera, désormais intégré à Mellanox. Mais ce qui rend Piton unique est le cache distribué et les liens unidirectionnels qui pourraient permettre à tous les coeurs d'être placés ensemble dans un gros serveur, sachant que chaque coeur partage aussi sa mémoire.
Chaque coeur dispose de 64Ko de cache L2, totalisant 1,6 Mo de mémoire de second niveau pour chaque puce. Un mini-routeur dans chaque coeur facilite la communication rapide avec d'autres coeurs. Chaque coeur a également une unité en virgule flottante, dédiée principalement au calcul parallèle à grande échelle. Le nombre de coeurs dans les CPU ne cesse de grimper, particulièrement dans les puces serveurs et pour jeux-vidéo pour donner un surcroît de puissance. La prochaine génération de processeurs AMD basés sur l'architecture Zen en comptera 32, tandis que le dernier Xeon E7 d'Intel dispose de 24 coeurs.
Les chercheurs de Princeton indiquent que Piton est la plus grosse puce du monde académique. Un postulat qui ne peut pas être basé sur le nombre de coeurs car des chercheurs du VLSI Computing Lab de l'Université de Californie ont déjà présenté en juin dernier KiloCore, une puce contenant 1 000 coeurs. Cela étant, les 460 millions de transistors embarqués dans Piton en font la puce la plus importante dans ce milieu bien que les plus puissants processeurs actuels pour serveurs en compte plusieurs milliards. Les chercheurs qui ont fabriqué Piton ont utilisé un procédé de gravure 32 nm d'IBM.