mercredi 27 août 2008

Puce multi-coeur contre programmeur

Étape majeure vers l'informatique super-intelligente, les puces à quatre, six ou huit coeurs donnent du fil à retordre aux programmeurs-développeurs.

Histoire de coeurs

Les firmes techno évoquent sans cesse l'imminence d'environnements intelligents qui révolutionneront nos usages de l'informatique. Lenovo, Apple, Toshiba, LG et Nokia entrevoient déjà des ordinateurs et des mobiles cent fois plus puissants pour la prochaine décénnie, la fin du tandem clavier-souris et le début d'interfaces multimédia capables de voir, de comprendre, de parler et de prendre des décisions complexes. Directeur recherche-développement de Microsoft, Craig Mundie affirme que « grâce à la puce multi-coeur, le PC deviendra enfin un vrai assistant personnel. La nuit, il triera mes e-mails prioritaires, analysera leurs contenus sémantiques, déterminera avec qui je dois correspondre ou non, établira deux ou trois brouillons de réponses pour chacun d'eux et me les soumettra à mon réveil pour validation ».

Reste à savoir si ces promesses hyperboliques seront effectivement tenues et comment le marché réagira face à ce déluge d'innovations. Cependant, nous avons constaté que la puissance hard est au rendez-vous : le Dual Core a vite fait oublier le Pentium 4. Les interfaces tactiles du iPhone et de ses émules doivent beaucoup aux double voire triple coeurs inside. Ce n'est qu'un début.

Depuis les années 60, les processeurs s'infinitésimalisaient perpétuellement pour une puissance constamment accrue. Toutefois, vers 2005-2006, les deux géants de la microélectronique furent confrontés à la surchauffe puis à la fusion des processeurs. D'où la fabrication de puces multi-processeurs (multi-core chips). Chaque processeur ou coeur étant inférieur/égal à ses ancêtres en termes de performances, la puce devient beaucoup moins énergivore mais drastiquement plus puissante du fait d'une exploitation parallèle de tous ses coeurs. Point besoin de mettre la pression quand plusieurs canaux sont simultanément ouverts.

Les puces à quatre coeurs sont déjà disponibles, le Dunnington à six coeurs d'Intel équipe déjà les serveurs IBM, HP, Sun, Dell et Fujitsu-Siemens. Tout récemment, le géant de la micro a dévoilé son Nehalem à huit coeurs dont la commercialisation est prévue pour 2009. Grâce à son Turbo Mode intégré, le Nehalem met en veille les coeurs inutilisées et redirige l'énergie économisée vers les coeurs actifs (dont la puissance unitaire est augmentée par incrément de 133 Mhz), en toute transparence pour les applications courantes... A l'image d'un lanceur spatial dont les autres moteurs pousseraient un peu plus fort lorsqu'un d'eux s'arrête.

A terme, l'industrie microélectronique manufacturera de véritables orchestres sur silicone : au lieu d'une rangée de processeurs identiques, un ensemble de différents coeurs plus ou moins spécialisés. Dans ses prochaines puces, AMD combinera processeurs classiques et processeurs graphiques. La start-up micro californienne Tilera Corp prévoit l'apparition de puces à mille coeurs vers 2014.

Divers domaines comme la prévision météorologique, l'analyse financière, la modélisation-simulation à grande échelle, l'intelligence artificielle, la robotique, la traduction automatique, les jeux vidéo et la CAO bénéficieront amplement de ces micro-merveilles.

Le coeur du problème

Actuellement, les logiciels reposent sur un traitement séquentiel des données, profitant pleinement de la puissance linéaire des puces mono-processeurs d'antan. Pour faire de même avec les puces multi-coeurs, les logiciels devront effectuer des traitements parallèles/distributifs entre les différents processeurs en fonction de leurs différentes specialités. De telles optimisations ne sont certes pas indispensables pour un traitement de texte ou un navigateur Internet mais le deviennent pour un outil de modélisation climatique, un logiciel d'édition DVD, un mobile multimédia à écran tactile ou un jeu vidéo massivement multi-joueurs.

A ce jour, la programmation en parallèle, thème classique de la science informatique, demeure réservée à quelques aficionados et à la recherche de pointe.

Afin que leurs incontournables partenaires soft rattrapent le coche, les industries hard puisent à grandes brassées dans leurs cassettes. En mars 2008, Microsoft et Intel ont chacune fait don de 10 millions de dollars aux universités de Berkeley et de l'Illinois afin que celles-ci développent des logiciels parallèles pour les ordinateurs et les mobiles. Sun Microsystems, NVIDIA, AMD, HP et IBM ont versé des sommes avoisinantes à l'Université de Stanford,qui créa consécutivement le Pervasive Parallelism Lab. Celui-ci fédère développeurs chevronnés et débutants autour de la programmation en parallèle et élabore une matrice programmatique voire des solutions clés en main pour les mondes virtuels, la robotique et l'analyse de données scientifiques et financières.

A l'automne 2008, Intel publiera la version bêta de Parallel Studio, sa suite de programmation en parallèle pour puces à double/triple/quadruple coeurs, intégrable au Visual Studio de Microsoft. La firme de Redmond veut faire de Windows 7 le premier système d'exploitation véritablement dédié aux puces multi-coeurs... En espérant que ses ingénieurs et ses développeurs se réconcilient enfin avec la fiabilité, Vista n'ayant pas été très dolce pour beaucoup utilisateurs.

Article publié et commenté dans Agoravox


Aucun commentaire: