ça ne se traduit plus par une augmentation de la puissance.
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.
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.
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 :
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é.
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.
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 !
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é).
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.
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 :