La loi de Moore est morte et c'est une bonne nouvelle

Cela fait plus de 50 ans que le numérique se développe de façon incroyablement dynamique et a changé le monde, grâce à la croissance exponentielle de la puissance de calcul des microprocesseurs. C'est Gordon Moore, co-fondateur d'Intel, qui avait synthétisé cela en une phrase appelée loi de Moore : "le nombre de transistors dans un semiconducteur double tous les 2 ans". Il l'a énoncé en 1965, cela a vraiment commencé en 1971, avec la sortie du premier microprocesseur commercial, l'Intel 4004. Au risque de surprendre, il faut regarder les choses en face : la loi de Moore est morte.

C'est ce graphe, issu du livre de référence sur le sujet, Computer Architecture: A Quantitative Approach, qui le démontre :

Un graphique issu du livre dont le titre traduit en français est 'Architecture des ordinateurs : une approche quantitative'. En abscisse, c'est le temps, de 1978 à 2018. En ordonnée, sur une échelle logarithmique, c'est la performance par rapport au VAX-11/780. Les points sont des processeurs, avec chaque fois leur puissance. de 1978 à 1986, la puissance augmente de 25M par an. De 1986 à 2003, de 52% par an. De 2003 à 2011, de 23% par an. De 2011 à 2015, de 12% par ans. Enfin, après 2025, de 3,5% par an. On voit donc que depuis 2003 la loi de Moore est mal en point, car il faut 41% de croissance annuelle pour qu'elle soit respectée et on était à 23%. Depuis 2015, la courbe semble plate.
*Growth in processor performance over 40 years
*Source : Computer Architecture: A Quantitative Approach, sixth edition - p. 3, figure 1.1

Ce qu'on y voit, c'est que depuis 2015, les processeurs de type x86 (qui équipent les PC et les serveurs et descendent de l'Intel 4004) ne progressent quasiment plus en performance. On a beau les concevoir de façon de plus en plus complexe, avec de plus en plus de transistors, de coeurs, la capacité à traiter des mots de plus en plus longs (4, puis 8 puis 16 puis 32 et enfin 64 bits), la puissance délivrée par ces processeurs a cessé de doubler tous les deux ans — comme le promettait la loi de Moore — depuis bien longtemps.

En un sens, la loi de Moore se vérifie toujours, on continue bien d'augmenter le nombre de transistors dans un processeur, certes à une moindre vitesse, mais le souci c'est que dans les processeurs x86, ça ne se traduit plus par une augmentation de la puissance.

Les lois connexes connaissent aussi l'essoufflement

Il y a deux lois connexes qui accompagnent la loi de Moore. La première, c'est que la consommation électrique de chaque transistor doit baisser à chaque génération. Sinon, comme on multiplie ces transistors, la consommation d'un processeur exploserait : il y a 22 millions de fois plus de transistors dans un processeur récent que dans l'Intel 4004, lequel consommait 0,5 W. S'il consommait 22 millions de fois plus, un processeur moderne nécessiterait 11 MW, il faudrait donc une centrale nucléaire pour faire tourner 100 processeurs !

La seconde loi, c'est que le prix unitaire d'un transistor doit aussi baisser à chaque génération. Un Intel 4004 valait 450$ de 2023. Un processeur moderne, comportant 22 millions de fois plus de transistors, vaudrait donc 9'900 milliards de $.

Ces deux lois ont été vérifiées pendant longtemps mais malheureusement, elles se sont essoufflées elles aussi. C'est ainsi que certains processeurs x86 modernes valent plusieurs milliers d’euros et consomment jusqu'à 350 W.

Les implications de la fin de la loi de Moore

On pourrait paniquer face à la fin de la loi de Moore. Mais en fait, c'est une opportunité !

En effet, depuis que la loi de Moore existe, on a pu valider l'existence de la loi de Wirth, qui stipule que les logiciels ralentissent aussi vite que le matériel accélère. On disait à une époque "Ce qu'Intel vous donne, Microsoft vous le reprend". Les exemples illustrant la loi de Wirth ne manquent pas. C'est ainsi que pour afficher à l'écran un caractère saisi au clavier, un Apple 2 des années 1980 est 5 fois plus rapide qu'un ordinateur moderne sous Windows, que les pages Web sont 150 fois plus lourdes qu'il y a 25 ans.

La raison est toute simple : le temps de développement étant coûteux, on préfère l'utiliser à créer de nouvelles fonctionnalités plutôt que d'optimiser le logiciel existant. On a donc droit à une double peine : le logiciel devient plus gros (car avec plus de fonctionnalités pas toujours utiles) et très rarement optimisé. Mais cela importait peu tant que la loi de Moore se vérifiait : une nouvelle génération d'ordinateurs allait arriver et accélérer les logiciels devenus trop lents. Il suffisait de changer le matériel, même s’il fonctionnait encore très bien, ce qu’on a fait pendant 50 ans.

La fin de la loi de Moore se vérifie dans la vraie vie

Comme beaucoup d'informaticiens, je fais la maintenance informatique des ordinateurs de toute la famille. C'est ainsi que dans le parc familial, j'ai encore des machines avec des processeurs Intel de 2011 et 2012 qui fonctionnent encore sous MacOS et sont utilisées au quotidien pour des tâches bureautiques. Ici, une copie d'écran alors que je réinstalle les applications pour donner l'ordinateur à un nouvel utilisateur :

Copie d'écran d'un MacBook Air. Deux fenetres sont affichées. La premiere permet l'installation de Firefox. La seconde est la fenêtre A propos de ce Mac quqi affiche que c'est macOS Catalina version 10.15.7. Niveau matériel, la machine date de mi-2012 et dispose d'un processeur 2GHz Core i7 double coeur avec 8 Go de mémoire.

Après 12 et 13 ans respectivement, ces machines donnent encore entière satisfaction et font tourner des logiciels modernes. Il y a quelques années, c'était une situation qui n'était pas envisageable ! Grâce à la fin de la loi de Moore, c'est une réalité.

Faire durer le matériel et réduire l'empreinte environnementale du numérique

Le fait d'utiliser des ordinateurs pendant 12 ans au lieu de 2 ou 3 comme dans les années 2000 n'est pas anodin. En effet, nous avons tous conscience du changement climatique, du fait qu'il faut réduire rapidement l'empreinte environnementale des activités humaines, y compris celle du numérique.

Or, dans le numérique, l'essentiel de cette empreinte provient de la fabrication du matériel : c'est là qu'il consomme de l'eau, des ressources, beaucoup d'énergie, et émet le plus de gaz à effet de serre. Ce constat est encore plus valable en France où l'électricité qui alimente les ordinateurs provient d'énergies très bas carbone, nucléaire en tête, suivi par les barrages hydrauliques et les autres renouvelables.

Comment innover avec de telles contraintes ?

Si la loi de Moore est arrêtée pour les processeurs x86, et si on doit réduire l'empreinte environnementale du numérique, peut-on continuer à innover, ou bien sommes-nous contraints à moins faire de numérique ?

Oui, il est possible de continuer à innover tout en conservant le matériel existant et sans en acheter de nouveau. Pour cela, on peut compter sur l'optimisation logicielle.

En effet, dans toutes les couches des systèmes d'information, il y a des tas de logiciels qui n'ont pas été optimisés du fait de la loi de Wirth. Certains sont peu gourmands et peu utilisés. D'autres sont très mal optimisés et consomment des dizaines, des centaines voire des milliers de fois plus qu'ils ne devraient. J'ai ainsi vu des applications s'accélérer d'un facteur 60 sur une simple optimisation. J'ai vu des systèmes de Machine Learning aller 5400 fois plus vite après une bonne optimisation. Et le meilleur exemple (ou est-ce le pire ?) est celui de Matt Parker, qui a vu son travail corrigé pour tourner... 408 millions de fois plus rapidement !

La loi d'erooM

Tout comme la loi de Moore était la décision d'Intel d'investir dans de la recherche et du développement et donc dans des usines de production innovantes pour soutenir l'amélioration des semiconducteurs, on peut décider d'investir dans l'optimisation logicielle. On peut décider d'optimiser le logiciel d'un facteur deux tous les deux ans. Cela signifie que cela libère la moitié de la ressource informatique tous les deux ans. Ainsi, tous les deux ans, on se retrouve avec deux fois plus de ressource que nécessaire. Cette ressource, autrefois gaspillée et maintenant libérée, pourra être dédiée à de nouvelles applications, de nouveaux usages, tout en évitant le renouvellement du matériel, donc en réduisant de façon drastique l'empreinte du numérique. Cela permet aussi aux développeurs de monter en compétences en faisant du travail de meilleure qualité, avec l'intérêt pour eux d'être fier de ce travail.

"erooM", c'est Moore, à l'envers, mais c'est aussi un "backronym" signifiant « Effort Radicalement Organisé d’Optimisation en Masse » (désolé).

La méthodologie Plasma : erooM à l'échelle du système d'information

Pour déployer la loi d'erooM à l'échelle du système d'information, on peut utiliser une méthodologie appelée PLASMA, pour Portfolio-Led Application Sustainability Management. Elle consiste à passer en revue le portefeuille applicatif du SI avec l'approche APM (Application Portfolio Management) pour déterminer où les investissements en optimisation doivent être réalisés, souvent sur les applications les plus gourmandes en ressources, utilisées à grande échelle et dont la valeur business est la plus importante. À l'inverse, on pourra se préparer au décommissionnement des applications les plus gourmandes et les moins porteuses de valeur.

En conclusion

Tout l'intérêt de la loi d'erooM, déployée au sein d'un SI avec la méthodologie Plasma, c'est d'atteindre trois objectifs qui pouvaient sembler jusqu'à présent contradictoires :

  • L’empreinte environnementale du SI est divisée par 4, ce qui joue un rôle important alors que la réglementation CSRD est en cours de déploiement.
  • Coté satisfaction des équipes de développeurs, chacun est fier de faire du travail de qualité, un point essentiel en termes de marque employeur sur un marché de l'emploi tendu.
  • La DSI, en réduisant son budget matériel, peut allouer une part plus importante aux nouveaux projets (Greenfield) et continuer à innover dans le numérique.