Emploi Start-up Evénements 01 Avis d'expert Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

Les machines multicœurs : un casse-tête pour les développeurs

L'essor des plates-formes multicœurs nécessite une généralisation de la programmation parallèle. Mais les développeurs ne sont pas encore prêts.
laisser un avis
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Au début du mois de février, Gartner a tiré la sonnette d'alarme. Dans un communiqué, le cabinet d'analyse explique que la multiplication des cœurs de calculs dans les serveurs va trop vite, que les logiciels ne sont pas encore prêts pour utiliser une telle capacité. “ L'impact [des machines multicœurs] est similaire à celui d'un moteur Ferrari dans un go-cart. La puissance est là, mais son exploitation est très limitée car le design n'est pas approprié ”, explique Carl Claunch dans ce communiqué.

Ainsi, selon l'analyste de Gartner, il sera possible, en 2009, d'avoir des serveurs à 256 unités de calculs (processeurs à 8 cœurs, multiplié par 32 sockets), alors que les logiciels de virtualisation ne pourront pas en gérer plus de 64.

Un point de rupture majeur pour l'informatique

Mais le problème du multicœur ne se limite pas seulement aux serveurs. Les postes de travail aussi deviennent multicœurs, tirant dans leur sillage l'ensemble de l'industrie logicielle. Malheureusement, selon un sondage Evans Data, seuls 3 % des développeurs ont, durant les six derniers mois de 2008, introduit dans leur code des instructions permettant de gérer le parallélisme, ce qui est trop peu.

“ C'est un vrai point de rupture dans l'histoire informatique, estime Eric Vernié, en charge des relations techniques avec les développeurs chez Microsoft. Avec le développement séquentiel, la loi de Moore s'appliquait sans problème, et le développeur pouvait aisément profiter du gain de puissance. Avec les machines multicœurs, ce gain est beaucoup plus difficile à obtenir. ”

En effet, si l'on veut qu'un logiciel tire parti d'une plate-forme multicœur, il faut généralement le réécrire. Il faut identifier les parties que l'on peut faire tourner en parallèle et introduire les instructions pour gérer les différents fils d'exécution (threads) au niveau des unités de calculs (allocation mémoire, répartition des tâches, etc.). “ C'est assez difficile à réaliser et à déboguer. Jusqu'à présent, ce domaine de la programmation était plutôt réservé aux experts du calcul scientifique. Aujourd'hui, même des développeurs chevronnés ont des difficultés à mettre en œuvre la “parallélisation” ”, précise Eric Vernié.

Une tendance inéluctable

Le problème, c'est que l'on n'a plus vraiment le choix. La course aux gigahertz n'est physiquement plus tenable, et les ordinateurs optiques ou quantiques n'en sont qu'à leurs débuts. A moyen terme, les gains de performances dans les logiciels passeront forcément par l'exécution parallèle. Intel, d'ailleurs, a bien compris l'urgence de la situation. Il prépare une gamme d'outils baptisée Parallel Studio. Destinés à aider les développeurs dans la conception de leurs programmes, ces outils sont actuellement en version bêta et devraient être disponibles en version finale au deuxième trimestre.

De son côté, Microsoft compte intégrer de nombreux nouveaux outils dans Visual Studio 10, qui devrait sortir d'ici à la fin de l'année. L'éditeur proposera une programmation par “ tâches ”. Il s'agit d'une classe qui permettra de manipuler les fils d'exécution de manière plus abstraite et donc plus confortable. “ La programmation par threads est très proche du matériel, ce qui n'est pas vraiment compatible avec les langages de haut niveau ”, souligne Eric Vernié.

Bref, la balle est maintenant dans le camp des développeurs.

débat
7 avis d'internautes
Les machines multicœurs : un casse-tête pour les développeurs
java
par francopoulo
le 02/03/2009 19:48:27
Erlang est déjà là
par nodrygo
le 02/03/2009 21:35:00
pas une grande quantité de threads
par francopoulo
le 03/03/2009 17:18:00
programmation parallèle
par Chanfank
le 02/03/2009 20:06:32
2 remarques sur le multithreading...
par s1234
le 02/03/2009 21:49:19
Prise en charge au sein de l'OS
par goth59
le 03/03/2009 08:59:58
effectivement
par passage587469555
le 05/03/2009 10:40:37
publicité
débat
7 réactions
 
effectivement
posté le 05/03/09 à 10:40 par passage587469555
pas une grande quantité de threads
posté le 03/03/09 à 17:18 par francopoulo
Prise en charge au sein de l'OS
posté le 03/03/09 à 08:59 par goth59
2 remarques sur le multithreading...
posté le 02/03/09 à 21:49 par s1234
Erlang est déjà là
posté le 02/03/09 à 21:35 par nodrygo
à lire aussi
SUR LES MÊMES THÈMES
Apple face à la grogne des développeurs iPhone
2010 sera-t-elle l’année de Ruby ?
Bada, l’OS de Samsung qui va déchaîner la tempête ?
Sécurisez vos applications Web dès leur conception
Google annonce Android 2.0 et livre un nouveau SDK
Le noyau de Symbian est désormais open source
Surveiller ses bureaux... avec un routeur Cisco
Téléphoner via Firefox va devenir banal
Un concours de développement d’applications mobiles ouvert aux étudiants
Nokia met à la disposition des développeurs un kit pour OVI
Palm ouvrira en septembre une boutique en ligne pour le Pre
Javascript et PHP, de plus en plus utilisés dans l'open source
Nokia veut-il se débarrasser lentement de Symbian?
La version iPhone du framework Mono est disponible en bêta
La communauté Debian se déchire face à une nouvelle politique de développement
Microsoft ouvre son « AppStore » aux développeurs
Créer des extensions Firefox devient plus simple
Microsoft fournit gratuitement sa méthode de développement sécurisé
Une API pour Google Analytics
OS mobile cherche développeurs
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.