Skip to content. | Skip to navigation

Emergences

Lettre d'information n° 11

Image emergences pour impression
Personal tools
You are here: Home 2010 Lettre d'information n° 11 Charles Thacker : un nouveau regard sur le multicoeur
Document Actions

Charles Thacker : un nouveau regard sur le multicoeur

Invité vedette de Isca, la conférence de référence sur les architectures des processeurs, en juin 2010, à Saint-Malo, le chercheur américain Charles Thacker a suggéré aux scientifiques de re-considéder les choix opérés jusqu'ici dans le domaine du multicoeur. Morceaux choisis...

Invité vedette de Isca, la conférence de référence sur les architectures des processeurs, en juin 2010, à Saint-Malo, le chercheur américain Charles Thacker a suggéré aux scientifiques de re-considérer les choix opérés jusqu'ici dans le domaine du multicoeur. Morceaux choisis...

 

"Que de progrès en 40 ans ! Comparez l'ordinateur Alto de 1972 et le PC familial de 2010. La mémoire est passée de 128 Ko à 6 Go. Facteur 48 000 ! L'espace disque ? De 2,5 Mo à 700 Go. Facteur 280 000 ! Stockage, bande passante ou semi-conducteurs : on a connu des croissances exponentielles. Cela dit, la loi de Moore est souvent mal comprise. Ecrite en 1965, elle constatait simplement que le nombre de transistors sur une puce doublait tous les 18 mois et que cette tendance pourrait se maintenir dans un avenir proche. Elle a tenu 50 ans, mais... l'informatique arrive au pied d'un mur. Puissance, fréquence d'horloge, complexité : l'époque où tout cela augmentait rapidement est révolue. Ce constat nous oblige à trouver une façon différente de construire nos futurs systèmes.
(...)

Reconsidérer nos choix

Nous devrions reconsidérer la façon dont nous avons pris nos décisions dans le passé. Pertinents à l'époque, ces choix ne le sont plus autant aujourd'hui au regard des nouveaux matériels. Nombre de technologies qui sous-tendent ce que nous faisons ont changé dans les 10 dernières années. Ce qui nous semblait alors une bonne idée ne l'est donc plus forcément. Exemple : la cohérence de mémoire (1). Dans les années 1970, ce n'était pas un problème. Et puis les choses sont devenues plus élaborées avec des protocoles à grande échelle dont la complexité est montée en flèche. Intel est ainsi devenu le plus gros consommateur de méthodes formelles. Pourquoi a-t-on privilégié cette cohérence de mémoire plutôt que le passage de message ? Peut-être parce que la programmation était plus facile, ou alors parce que cela marchait bien à petite échelle et que nous n'avons pas mesurer la complexité qu'un usage à grande échelle allait introduire. (...)

Autre champ de questionnement : la programmation par verrous. Elle reste difficile et les bugs sont fréquents. Je m'interroge de savoir si la mémoire transactionnelle ne constitue pas une alternative. Certes, qui dit transaction dit... spéculation. Et si la transaction échoue, on aboutit à une perte d'énergie. Dans ce domaine de recherche, le principal problème résulte de notre manque d'expérience en mémoire transactionnelle. Il nous faut plus d'implémentations, plus de vrais systèmes, plus de bancs d'essais.
(...)

Systèmes moins énergivores

Si on regarde les processeurs, après la fin de ce que j'appelle la guerre de religion entre Risc et Cisc des années 1980 (2), les choses sont devenues plus élaborées. On s'est lancé dans le parallélisme au niveau instruction (ILP), avec des hiérarchies de cache multi-niveau, des multi-processus... Bref : des exécutions spéculatives partout. Pas une bonne chose en cas de défaillance ! Par ailleurs, la plupart des programmes séquentiels ne font pas montre de beaucoup d'ILP. L'énergie n'est pas utilisée d'une façon si judicieuse. Concrètement, un utilisateur n'a pas besoin de 100 Watts pour travailler sur un simple Power Point. C'est peut-être plus intéressant d'avoir un ordinateur qui tient plus longtemps sur sa batterie.
(...)

A mon avis, il existe donc d'autres voies à explorer en matière de processeurs. Regardez la puce expérimentale en nuage de Intel (3) : passage efficace de message, pas de recours à la cohérence mémoire, bon réseau de communication entre les coeurs, faible consommation électrique...
(...)

De même, a-t-on encore besoin de l'interruption hardware qui engendre tant de complexité ? Je n'en suis pas persuadé. On pourrait s'en passer.

 

 

Charles Tacker à la une du magazine de l'ACM de juillet 2010

----

Notes :

(1) Aussi appelée cohérence de cache.
(2) RISC : Reduced instruction set computer. Le microprocesseur à jeu d'instruction réduit. CISC : Complex instruction-set computer. Microprocesseur à jeu d'instruction étendu. D'abord opposées, ces architectures matérielles de microprocesseurs ont fini par se rejoindre avec l'apparition d'hybrides comme le Pentium.
(3) Single-chip cloud computer. Une puce prototype à 48 cœurs de traitement programmables intègrant un réseau à grande vitesse pour le partage d’informations. Les données peuvent être transférées d'un coeur à l'autre en quelques microsecondes. Le système peut allumer ou éteindre ces coeurs en fonction de la charge pour utiliser moins d’énergie.