Quel est le futur des logiciels ? Une explosion encore croissante ?

Intel - Loi de Moore

Loi de Moore et performance selon Intel

Où va la technologie ? Bien futé celui qui le prédira. Cependant, depuis 1965, la loi de Moore se vérifie année après année. La Loi de Moore est simple : « Quelque chose » (le nombre de processeurs, la performance, la vitesse…) double tous les 18 mois. Cette loi a été critiquée, reprise, interprétée et modifiée, mais toujours vérifiée.

Depuis plusieurs années, les limites de cette loi semblent être atteintes. Mais chaque barrière technologique a été dépassée. Il y a dix ans on annonçait la fin de la croissance linéaire de la puissance des microprocessurs, mais les technologies multi-cœurs ont permis de continuer cette folle croissance.

L’objet de cet article n’est pas de discuter de la véracité et du futur de la loi de Moore. Les 163 articles dans Google Actualité le mois dernier montrent la constante réflexion autour de cette tendance. La question importante, c’est : pourquoi cette loi stimule-t-elle de façon si importante le monde des technologies depuis les 30 dernières années ?

Surement parce qu’avant d’être une loi technologique, c’est une loi économique. C’est ce que Gordon Moore appelle lui-même une prophétie auto réalisatrice. La Loi de Moore est un leitmotiv pour l’industrie électronique… qui met les moyens marketing et techniques pour atteindre les objectifs de la loi.

Quel est alors l’impact de cette loi sur l’environnement ? Y-a-t-il un corollaire “vert” ou “durable” à la loi de Moore ? Une réponse a été donnée par Jonathan Koomey du Stanford and Lawrence Berkeley National Laboratory. Selon Koomey, le nombre de calcul par kWh doublerait tous les 18 mois. Dans un précédent article, nous citions une étude d’Intel sur laquel Koomey avait travaillé. La loi de Koomey est plutôt satisfaisante car l’amélioration de l’efficience des processeurs est bien une réalité. Peut-on en déduire que tout va dans le bon sens ? Non, répond kooney : les besoins des logiciels en ressources matérielles (processeur, mémoire, etc.) explosent. Besoins qui mènent à une obsolescence programmée du matériel. Ce phénomène se retrouve dans tous les logiciels : OS, logiciels open source, logiciels commerciaux… Les besoins en mémoire, en espace disque et en CPU explosent, mais, en même temps, les logiciels sont de plus en plus lents.

Quelle est la raison de ce phénomène de bloatware (obésité du logiciel) ? Le logiciel subit-il la loi de Moore ? Peu probable. Même si on peut corréler certaines données à une croissance similaire à la loi de Moore. De plus le logiciel dépend de nombreux paramètres : langage de programmation, qualité de programmation, processus et structure de l’équipe, projet open source… Alors existe-t-il une loi qui caractérise l’évolution du logiciel comme la loi de Moore ? Cela permettrait de dégager des axes d’amélioration. Car même si des bonnes pratiques de développement sont à mettre en place (Domaine dont nous parlons régulièrement), une remise en question plus profonde est, peut être, nécessaire. Peut-être qu’avec la meilleur des volontés les développeurs n’y pourront rien ?

Pour comprendre la complexité du bloatware, on peut se poser la question suivante sur le cas particulier de la parallèlisation : Même si le matériel nous offre des capacités de parallèliser les calculs avec des processeurs multi-cœurs ultra efficaces, pourrons-nous utiliser toute la capacité de ces technologies ?

Appuyons-nous sur une loi qui essaye de décrire le comportement de l’informatique. Une loi moins connue que celle de Moore, mais toute aussi discutée est la loi de Amdahl (1967) : elle essaie de caractériser la capacité de l’informatique à traiter le parallélisme.

La loi d’Amdah énonce que lorsque l’on parallélise un calcul, une partie ne peut être réalisée qu’en série. Je ne rentre pas dans les détails, d’autres le font très bien (Intel). Pour vulgariser : ce n’est pas en mettant 9 femmes enceintes que l’on va accoucher un bébé en un mois ! Dave Probert, architecte du noyau Windows, cite la loi d’Amdahl comme une nouvelle force à dépasser dans l’innovation logicielle. Barrière technique renforcée par la multiplicité et l’hétérogénéité des processeurs multi-cœur. Encore une excuse de développeur pour ne pas se fouler me direz vous ? Peut-être pas… surtout si l’on tient compte d’une autre loi (promis, c’est la dernière) : celle de Lehman.

Que dit cette loi ? Lehman estime que l’évolution d’un logiciel est une inévitable, pour différentes raisons. Il a énoncé 8 lois entre 1964 et 1996, voici 3 lois qui nous concernent :

1 – Modifications perpétuelles : Un logiciel doit constamment être adapté sinon il devient de moins en moins utile

2 – Complexité croissante : Au fur et à mesure que le logiciel évolue, sa structure a tendance à se complexifier.

6 – Continuelle augmentation : le contenu du logiciel doit continuellement augmenter pour satisfaire le besoin utilisateur

Une étude sur le projet Firefox confirme en partie ces lois.

Est-ce encore une fois une prophétie auto-réalisatrice ? Ce qui est clair c’est que pour l’instant aucun projet (Windows, Linux, Firefox …) n’a cassé ces lois. Structure trop complexe et trop importante, contraintes économiques, intérêt à réutiliser du code déjà développé, volonté … Ou peut être que la loi de Moore n’est pas prête a être abandonnée car elle est une excuse pour continuer dans cette voie.

Les constats comme celui de Koomey renforcent cette idée et permettent aux éditeurs de logiciel de s’affranchir de toute contrainte matérielle. D’autant plus que le nuage est la pour nous sauver… Un corollaire “vert” ou “durable” à la loi de Moore et pour le domaine logiciel n’est pas encore pour demain.


Commentaires

tout a fait d’accord.

bien que le saas soit à la mode, il y’aura tjs un besoin de soft pour toutes les plateformes :)
ne serait-ce que pour la confidentialité de certaines données qu’on ne veut pas voir sur le net :)

photoboy (non vérifié) le 05/01/2011

Une étude sur le projet Firefox confirme en partie ces lois.”

You don’t have permission to access /~migod/846/2008-Winter/project/YanShahab-ProjectReport-FirefoxEvolution.pdf on this server.

Mince ! (non vérifié) le 05/01/2011

Excellent article, merci Olivier.

Question ouverte: est-il démontré que le fait de paralléliser un traitement sur plusieurs coeurs/processeurs le rends nécessairement moins consommateur d’énergie ? Comme c’est la charge CPU qui détermine pour beaucoup la consommation du processeur, n’est-il pas parfois plus intéressant de sérialiser (pour lisser la charge) plutôt que de paralléliser (en atteignant des pics) ? Il me semble que les exemples d’économie que l’on observe aujourd’hui (IBM par exemple) sont plus liés à l’optimisation des traitements plus qu’à la parallélisation des traitements.

Lionel (non vérifié) le 05/01/2011

Merci pour cet article Olivier, l’avenir de nos processeur passe t-il par une “dématérialisation” des cœurs ? un élément de réponse dans cet article qui rejoins le sujet d’Olivier Philippot :

http://www.futura-sciences.com/fr/news/t/informatique/d/une-puce-a-mille…

Marc Boitel le 05/01/2011

@Mince : Effectivement, le pdf n’est plus accessible. Slide disponible ici après inscription : http://www.slideworld.com/slideshows.aspx/Firefox%E2%80%99s-Evolution-an…

@Lionel : l’analyse de la relation entre sérialisation et parallélisation est compliquée. Les traitements série atteignent de toute façon leurs limites. A noter, AMD vient d’annoncer au CES un nouveau type de processeur : un croisement entre CPU et GPU, l’APU (Accelerated Processing Units)dans une gamme nommée Fusion et qui résouds le problème de sérialisation/parallélisation (source :http://sites.amd.com/us/Documents/48423B_fusion_whitepaper_WEB.pdf). Les promesses : parallélisation mieux gérée, moins de silicium, consommation moindre… J’espère que cela contredira mon article !

Olivier Philippot le 05/01/2011

Merci Olivier pour cet article complet.

Nicolas Brunet le 06/01/2011

Excellent article Olivier.

L’énoncé de toutes ces lois me fait penser au cycle des Robots d’Asimov et, quelque part, me fait aussi peur !

Denis Meudec le 07/01/2011

J’ai vraiment apprécié votre travail. Vous français sont des gens merveilleux, généreux et intelligent. Ici au Brésil nous avons beaucoup à apprendre de vous. J’habite à Rio de Janeiro et nous avons beaucoup de travail à faire pour restaurer l’environnement et la qualité de vie à notre peuple. Newton Almeida ENVIRONNEMENT RIO DE JANEIRO http://www.limpezariomeriti.blogspot.com

Newton Almeida (non vérifié) le 13/01/2011

Poster un nouveau commentaire

Le contenu de ce champ ne sera pas montré publiquement.