En 2008, Intel lance une nouvelle gamme de processeurs grand public sous la marque Core i, avec une révolution : la présence de plusieurs cœurs. Désormais, il faut donc partager le contrôleur mémoire, les accès au matériel (lignes PCIe et autres), etc. entre plusieurs unités de calcul. Une solution simple et relativement efficace est de relier tous ces éléments dans un anneau (inspiré des premiers réseaux informatiques). Pour limiter les délais, celui-ci est doublé : un anneau dans chaque sens. Chacun des éléments y est connecté, ce qui permet à tous les cœurs d’accéder à tous les éléments importants.
Cependant, au vu de la fréquence des processeurs, on ne peut pas considérer que l’information se propage infiniment vite. Par conséquent, pour assurer une certaine synchronisation du signal, les données ne peuvent se propager qu’un élément de l’anneau plus loin par coup d’horloge. Chaque cœur y est connecté indépendamment, mais tous les éléments ne sont pas logés à la même enseigne : par exemple, les accès au matériel externe doivent se partager un point d’accès à l’anneau.
Les mêmes inégalités que précédemment sont répétées, mais amoindries : un cœur proche du contrôleur mémoire aura accès nettement plus rapidement à la mémoire qu’un cœur en plein milieu de la grille. Ainsi, un cœur situé au centre aura intérêt à collaborer avec les cœurs voisins, tandis que ceux proches des contrôleurs auront intérêt à préparer l’information pour les autres cœurs. Il n’y a néanmoins plus d’intérêt à communiquer avec les cœurs dans le même anneau.
Par rapport à la génération précédente, cependant, on peut positionner nettement plus de contrôleurs mémoire sur les côtés (la structure en anneaux était limitée à un contrôleur par anneau) : par exemple, les Xeon à vingt-huit cœurs en auront trois de chaque côté. En effet, ajouter des points d’arrêt dans la grille n’augmente pas les délais pour toutes les communications. Même chose pour les accès au matériel extérieur : ces Xeon auront droit à deux points d’accès pour les lignes PCIe, ce qui augmentera les débits potentiels depuis et vers les cartes graphiques, les SSD ou le réseau (surtout en fibre optique, avec des pointes à cent gigabits par seconde).
Globalement, Intel indique avoir pu diminuer la fréquence et la tension sur les bus de communication de cette grille par rapport aux anneaux tout en augmentant la bande passante totale et en diminuant la latence (sans avancer de chiffre, toutefois) : c’est donc une bonne nouvelle, puisque la consommation “inutile” des processeurs diminuera — cette puissance pourra donc être consommée par les cœurs de calcul directement.
Sources et images : Intel Introduces New Mesh Architecture For Xeon And Skylake-X Processors, Intel Skylake-X and Skylake-SP Mesh Architecture For XCC “Extreme Core Count” CPUs Detailed – Features Higher Efficiency, Higher Bandwidth and Lower Latency.