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 !

[HPC] Intel propose de nouvelles interconnexions entre cœurs de processeur
Qui pourraient accélérer d'un facteur 20 les communications entre 16 cœurs

Le , par dourouc05

5PARTAGES

5  0 
Depuis une dizaine d’années, la course à la performance des processeurs s’est fortement ralentie : pour améliorer les temps de traitement, les fondeurs n’ont plus trouvé de piste révolutionnaire pour transformer des opérations logicielles courantes en instructions matérielles (et, par-là, en réduire le temps d’exécution). Les processeurs pour le grand public sont alors partis dans la mode du multicœur : plusieurs unités d’exécution entièrement indépendantes sont placées sur le processeur, ce qui permet d’effectuer des calculs en parallèle sur ces cœurs.

Cependant, lorsque le nombre de cœurs augmente, même pour des applications prévues pour les exploiter au mieux, la performance est bridée par la communication entre ces différents cœurs. Une très grosse partie des programmes parallèles doit, à un moment ou à un autre, travailler sur les données produites par un autre cœur ou se coordonner (notamment avant d’écrire en mémoire, pour éviter de réécrire les données qui viennent d’y être mises). Toutes ces communications ont un coût non négligeable en temps… et ce coût augmente fortement avec le nombre de cœurs de la machine. Pour exploiter efficacement des processeurs avec un grand nombre de cœurs tout en gardant cette possibilité de synchronisation, il faut regarder plus loin.

Jusqu’à présent, la communication est gérée principalement au niveau du processeur, en exploitant des instructions d’écriture atomique en mémoire du processeur : en particulier, les files d’attente de messages fonctionnent comme un système postal, où chaque cœur peut déposer un message et en réceptionner un. L’idée développée par des ingénieurs de l’université d’État de Caroline du Nord et d’Intel est d’implémenter ces primitives de synchronisation au niveau du processeur. Les circuits logiques correspondants forment alors le QMD (queue management device). Selon les premières simulations, les communications peuvent être accélérées d’un facteur au moins deux — et bien plus dans le cas de nombreux cœurs (jusqu’à un facteur vingt pour seize cœurs).

Il est cependant probable que, comme pendant l’âge d’or des microprocesseurs, plus d’opérations puissent être implémentées du côté matériel, avec une efficacité largement accrue. Le paradigme map-reduce, cher à la programmation fonctionnelle (avec une liste en entrée, travailler sur chaque élément — map — puis combiner les résultats — reduce), puis au traitement de grands jeux de données, pourrait ainsi être partiellement implémenté au niveau matériel. D’autres opérations pourraient être candidates, à la condition que l’implémentation matérielle apporte un gain en efficacité énergétique.

Ces améliorations ne serviront cependant pas à toutes les applications : les seules qui pourront voir une amélioration sont celles qui exploitent plusieurs cœurs. Individuellement, chaque cœur ne sera donc pas plus rapide : à ce niveau, la limitation se situe au niveau de la mémoire — et ce chantier est aussi grand ouvert, pour des ordinateurs encore plus rapides qu’aujourd’hui.

Source : New System Could Break Bottleneck in Microprocessors.

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