Intel propose de nouvelles interconnexions entre cœurs

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. Un 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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s