IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

La nouvelle structure d'interconnexion des cœurs d'Intel est maillée
Pour une meilleure bande passante dans les processeurs avec de nombreux cœurs

Le , par dourouc05

0PARTAGES

8  0 
Les derniers processeurs d’Intel, tant pour le grand public (gamme i9) que pour les entreprises (Xeon), proposent un très grand nombre de cœurs : les i9 montent jusque dix-huit cœurs sur une même puce, les Xeon vingt-huit. Cependant, à l’intérieur de chaque puce, les cœurs étaient jusqu’il y a peu connectés de la même manière qu’en 2008, avec une architecture circulaire prévue pour huit cœurs au plus. Cette dernière faisait sentir ses limites, tant en termes de latence que de bande passante ou de consommation énergétique. C’est pourquoi la génération qui arrive très bientôt sur le marché profitera d’un changement très profond : cet anneau est remplacé par des mailles. Ce changement est annoncé plus tardivement qu’AMD, dont l’Infinity Fabric avait été annoncé début 2016, bien avant la confirmation des plans de processeurs de trente-deux cœurs et plus.

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.



S’il faut connecter plus de cœurs, les transmissions deviennent bien trop lentes, vu le nombre d’éléments connectés à l’anneau : si l’envoi d’un paquet d’information au cœur voisin peut se faire en un coup d’horloge, le plus éloigné peut prendre une dizaine coups, pour huit cœurs ; avec une vingtaine de cœurs, cette solution n’est pas adaptée. Dans ce cas, l’anneau peut être doublé, avec une architecture d’interconnexion des deux anneaux. Chaque anneau peut avoir son propre contrôleur mémoire, pour éviter de ralentir ces accès — nettement plus fréquents que les échanges entre cœurs. Néanmoins, la communication entre deux cœurs peut prendre nettement plus de temps, si chacun des deux cœurs est dans son propre anneau et loin des interconnexions.



Cette architecture ne peut plus s’adapter aux processeurs avec un grand nombre de cœurs sans limiter leur performance. Pour cette génération à venir, l’anneau a complètement disparu : maintenant, tous les éléments sont reliés dans une grille, la communication peut se faire selon un bien plus grand nombre de chemins (si certains sont déjà très chargés). De telle sorte, la latence peut être fortement réduite ; vu le nombre de liens supplémentaires, la bande passante augmente également.

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.



Cette nouvelle architecture s’imposera dans tous les processeurs à venir du fondeur s’ils disposent d’un grand nombre de cœurs — l’architecture en anneau étant largement suffisante pour les processeurs les plus courants, jusque huit cœurs. Elle n’a probablement pas été dictée par AMD, mais est plutôt en développement depuis deux à trois ans — ce qui n’empêche qu’elle tombe très bien, d’un point de vue commercial. Il restera à voir comment elle s’adaptera dans les années à venir avec encore plus de cœurs par puce… mais déjà comment elle fonctionne maintenant, par rapport aux anneaux.

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.

Une erreur dans cette actualité ? Signalez-nous-la !