Sobriété numérique, loi de Moore et effet rebond
L'optimisation dont on a fait preuve était-elle une fausse bonne solution ?
Bienvenue dans cette nouvelle édition de Transformations. 👋
Cette semaine, on va parler de la loi la plus célèbre dans le monde de l’informatique, de l’impact qu’elle a eu sur l’environnement, mais surtout sur notre façon de penser les logiciels. On verra aussi que malgré ça, elle offre une lueur d’espoir.
Dans l’informatique, on entend parler depuis plus d’un demi-siècle de la loi de Moore. Cette loi empirique a évolué au fil des années, mais on peut la synthétiser de la façon suivante :
À coût égal, l’efficacité des microprocesseurs double tous les 2 ans.
On peut débattre de la notion d’efficacité, tantôt basée sur la fréquence de calcul, la taille des processeurs, le nombre de transistors… Il n’empêche qu’en termes de puissance disponible pour l’utilisateur final, on constate qu’elle s’est vérifiée depuis l’arrivée de l’Intel 4004 dans les années 70.
Seulement voilà, quand on s’intéresse aux enjeux de RSE1, on prend conscience d’un phénomène socio-économique appelé l’effet rebond. Et dans le numérique, on a vraiment fait les cochons en combinant cet effet rebond à la loi de Moore.
L’effet rebond, qu’est-ce que c’est ?
Pour faire simple, l’effet rebond désigne l’augmentation de consommation liée à la réduction des limites à l’utilisation d’une technologie2. L’exemple le plus célèbre de ce phénomène est l’arrivée de la machine à vapeur de James Watt. Bien moins consommatrice en charbon que celles de ses prédécesseurs, elle a entrainé une augmentation de la consommation charbon en Angleterre, du fait d’une plus grande rentabilité. C’est le paradoxe de Jevons, quand l’effet rebond dépasse la consommation initiale.
Vous voyez peut-être où je veux en venir avec la loi de Moore. J’ai aujourd’hui dans ma poche une machine 2000 fois plus puissante que l’ordinateur familial que je bidouillais ado, mais je râle toujours autant quand un logiciel prend trop de temps à exécuter une instruction.
Évidemment, on est en mesure aujourd’hui de faire des applications de plus en plus complexes, répondant à de nouveaux enjeux. Mais on a aussi été trèèès fainéants dans la conception des logiciels.
Sans rentrer dans les détails, on s’est facilité la vie avec des frameworks de plus en plus magiques à l’utilisation et on a oublié tous les principes de bases d’optimisation. On s’en foutait, les machines pouvaient facilement faire tourner les logiciels les plus gourmands.
Résultat des courses, on a besoin aujourd’hui d’un processeur multi-cœur et de 4Go de RAM pour utiliser un logiciel de traitement de texte pour particuliers. Et c’est la configuration minimale requise…3 À titre de comparaison, on a envoyé des gens sur la lune avec 256Ko de RAM.
Je ne jette pas la pierre, j’étais en première ligne pour en profiter. Les vieux cons comme moi ont déjà entendu (ou dit) « Ne t’emmerde pas avec la gestion de la mémoire, il y a un garbage collector4 ». La grande majorité des jeunes diplômés aujourd’hui ignorent tout simplement l’existence du GC.
Mon ordi est vieux, il fatigue, il rame… pourtant, c’est principalement du silicium, ça ne s’use pas ! La batterie fait des cycles plus courts, mais on peut la changer. Le vrai problème, c’est qu’à chaque mise à jour de mes logiciels préférés, on en demande toujours plus à ma machine. Ça se traduit d’abord par des ralentissements, puis par une surchauffe des composants qui sortent de leur plage de température nominale de fonctionnement, et donc des défaillances.
En réponse à la loi de Moore, Niklaus Wirth a d’ailleurs proposé dans les années 90 une autre loi, qui synthétise cette idée :
Les programmes ralentissent plus vite que le matériel n'accélère.
Résultat, on remplace le matériel. Quand on sait que la fabrication des terminaux est responsable de 75% de l’impact carbone du numérique et qu’elle nécessite l’extraction de terres rares, ça pique un peu.
Avec le cloud computing, on s’en rend encore moins compte, car la puissance de calcul est déportée. Il est naturel aujourd’hui de poser des questions à ChatGPT sans se rendre compte de la taille du datacenter derrière, qui gère plus de 100 requêtes par seconde. Et par effet rebond, plus OpenAI arrivera à optimiser ces calculs, plus GPT sera performant, plus on l’utilisera et plus on construira des machines pour le faire tourner…
Comment on sort de ce cercle vicieux ?
Vous l’avez compris, le progrès quasi inéluctable des composants électroniques a un impact de plus en plus néfaste sur l’environnement, alors comment est-ce qu’on s’en sort ?
Je suis personnellement assez en phase avec l’analyse de Jean-Marc Jancovici sur le fait qu’il y ait 3 chemins vers la décarbonation : l’optimisation, la sobriété, et la pauvreté (cette dernière étant une sobriété subie plutôt que choisie). Dans son analyse, l’optimisation est un moyen, mais ne se suffit pas à elle seule.
Dans le secteur du numérique, cette analyse se confirme. L’ADEME et l’Arcep ont réalisé une étude prospective conjointe5, avec différents scénarios qui mettent en évidence le besoin d’une sobriété dans les usages.
Je suis de ceux qui pensent que sobriété et innovation ne sont pas antinomiques. On a pendant des années numérisé à outrance, juste parce qu’on le pouvait. Pas question pour autant d’être désormais Amish (argument souvent employé par les détracteurs de la sobriété). L’innovation est nécessaire, et je suis le premier à me réjouir de pouvoir passer un scanner et peut-être demain d’avoir une IA qui assistera les médecins dans la détection de signes avant-coureurs de cancers.
On peut très bien innover en se focalisant sur le numérique utile et essentiel. La notion d’utile et essentiel est d’ailleurs un choix de société que nous devrions faire sans trop tarder.
Pour en revenir au sujet initial, la loi de Moore est peut-être finalement une opportunité. On le sait, on fait depuis plus de 20 ans des logiciels qui souffrent d’obésité algorithmique. On peut donc aujourd’hui, a matériel équivalent, gagner très largement en performance en travaillant sur l’optimisation logicielle. Cette optimisation permettrait de conserver le matériel plus longtemps, tout en continuant de profiter de l’innovation technologique. Tristan Nitot6 a d’ailleurs théorisé ça sous la forme d’une loi de Moore inversée, la loi d’erooM7.
Ça ne plait pas à tout le monde. Dans le monde du logiciel, il faudrait dire au revoir à cette paresse technique. Côté matériel, puisque qu’on pourrait innover en conservant nos terminaux actuels, ce serait moins de ventes pour les fabricants.
Et si vous vous demandez si c’est possible, sachez que la plupart des banques traditionnelles tournent encore avec des logiciels écrits il y a 50 ans, qu’on garde pour leur fiabilité inégalée par les langages de programmation modernes.
Le blocage n’est pas technique, c’est encore une fois un choix de société, comme l’est par exemple l’indice de réparabilité mis en œuvre depuis 2021.
J’ai encore dans un placard mon Macbook de 2007 en polycarbonate blanc. Qui sait, ce sera peut-être mon outil de travail en 2037.
Merci d’avoir lu cet article. Si vous l’avez aimé, parlez-en, partagez-le ou transférez-le à quelqu’un que ça peut intéresser. C’est le meilleur soutien que vous puissiez m’apporter.
Pour ne pas louper les suivants, inscrivez-vous !
Vous pouvez aussi me suivre sur Linkedin pour une actualité plus fraiche.
Accompagner les entreprises dans leur transformation digitale, c’est mon métier. Vous voulez échanger sur ce sujet et la façon dont ça impacte votre métier ? Contactez-moi pour en discuter.
Ah ! Et aussi… Les éditions précédentes sont évidemment disponibles.
Responsabilité Sociale et Environnementale
D’après Wikipédia
Sous-système de gestion automatique de la mémoire qui recycle la mémoire préalablement allouée puis inutilisée, aussi appelé ramasse-miettes
Fondateur de Mozilla Europe (entre autre) et source d’inspiration pour moi depuis plus de 15 ans