Et si on divisait par 4 l'empreinte carbone du numérique
Titre : Et si on divisait par 4 l'empreinte carbone du numérique ?
Intervenant : Tristan Nitot
Lieu : Paris, au Palais des Congrès - Devoxx FR 2024
Date : 19 avril 2024
Durée : 45 min 56
Licence de la transcription : Verbatim
Illustration : À prévoir
NB : Transcription réalisée par nos soins, fidèle aux propos des intervenant·e·s mais rendant le discours fluide.
Les positions exprimées sont celles des personnes qui interviennent et ne rejoignent pas nécessairement celles de l'April, qui ne sera en aucun cas tenue responsable de leurs propos.
Transcription (relu sans audio Véro)
Bonjour à tous. Je m’appelle Tristan Nitot et je vais vous parler d’un sujet qui me tient énormément à cœur, qui est l’empreinte carbone du numérique et pas que l’empreinte carbone, l’empreinte environnementale en général, qui est un vrai problème.
Qui suis-je ? Comme je vous le disais, je suis le dernier obstacle entre vous et le déjeuner, donc on va y aller cool, j’ai mis des grosses icônes pour que tout le monde puisse bien suivre.
La première en haut à gauche est un logo Netscape[1] parce que j’y ai travaillé et j’ai remarqué que ça faisait frémir les vieux. Moi-même, je frémis un peu ! J’ai travaillé chez Netscape qui a lancé le projet Mozilla et j’avais la chance d’être dans l’équipe qui a participé à ce lancement, ce qui m’a amené chez Mozilla où j’ai eu l’occasion de lancer Mozilla Europe, de présider l’association et de lancer Firefox[2] en France. Pour ceux qui ne connaissent pas Mozilla Firefox, c’est le navigateur de vos parents, c’est ce qu’on m’a dit une fois : « Ne t’en fais pas, c’est le navigateur de mes parents ! – Oh la vache, alors Netscape, c'est celui de tes grands-parents ? » Bref ! Ensuite, j’ai rejoint une start-up s’appelle Cozy Cloud[3], ensuite, j’ai travaillé chez Qwant[4], le moteur de recherche respectueux de la vie privée, et, pendant que j’étais chez Qwant, Nicolas Hulot a démissionné de son poste de ministre de l’Écologie. Ça faisait déjà des années que j’écrivais sur l’environnement sur mon blog et personne n’en avait rien à cirer. Je me suis dit « là, il va falloir se relever les manches parce que c’est trop important. » C’est là que j’ai décidé de faire bifurquer ma carrière et j’ai pris un poste de responsable sustainability chez Scaleway[5], l’hyperscaler ; ça n'a pas duré parce que la boîte a été réorganisée. Depuis, j’ai rejoint Octo Technology[6] où je suis depuis un an.
Parallèlement, il y a 22~ans, j’ai commencé à écrire sur Internet un blog –~en fait, j’écrivais avant~– standblog.org[7] qui existe toujours, je suis peut-être le dernier, je ne sais pas. Qui a un blog dans la salle ? Oh, la vache, les dinosaures ! Merci. Venez me voir à la fin, on fera un club.
J’ai écrit un livre [surveillance:// ] parce que c’était respectable d’écrire un livre et puis un deuxième parce que pourquoi pas. Ensuite, je me suis dit que j’allais faire un podcast qui s’appelle L’Octet Vert[8], le logo est entièrement dessiné à la main, je crois que j’ai utilisé Paint, ça se voit. Maintenant, chez Octo, il y en a un autre qui s’appelle FRUGARILLA | Numériques essentiels 2030[9] ; je participe aux deux.
J’ai aussi été amené à travailler, collaborer avec des institutions, bénévolement, le Conseil national du numérique[10] , la CNIL ou je suis toujours et, depuis peu, le Cigref[11] où je suis au comité d’orientation stratégique.
Ça, c’était moi et je vais vous raconter une histoire.
Il était une fois Gordon Moore et la loi de Moore
En fait, je pense qu’aujourd’hui vous n’allez pas apprendre grand-chose, désolé, mais vous allez voir les choses différemment et ça, c’est intéressant.
Donc, une histoire ça commence par « il était une fois », donc, « Il était une fois Gordon Moore et la loi de Moore[12] ». La Loi de Moore commence avec un processeur qui s’appelle le Intel 4004. Le Intel 4004 est à la fois une merveille technologique, le début d’une révolution, la révolution numérique, et une bouse infâme. Je m’explique.
Pourquoi, est-il incroyable ? En fait, c’était le premier microprocesseur commercial, novembre 1972.
Avec le recul, on a découvert qu’il existait déjà des microprocesseurs avant celui-ci, mais, pour les acheter, il fallait acheter le jet militaire qui allait autour, donc, forcément, il n’y avait pas beaucoup de clients. Mais on pouvait acheter celui-là commercialement, on pouvait passer commande.
Pourquoi est-ce une sombre bouse ?
Sur le tableau, à côté, je l’ai comparé avec le Intel Core i7 de 2020.
Un Core i7, c’est 64 bits, le Intel 4004, c’est 4 bits. Avec 4 bits, on ne fait pas grand-chose, on ne fait même pas un caractère ; 4 bits, c’est un demi-caractère ; un octet, c’est deux fois 4 bits. Donc, quand le processeur voulait déplacer un caractère, il était obligé de s’y prendre en deux temps : il prenait la première moitié qu’il déplaçait dans la mémoire, il revenait chercher la deuxième moitié, alors que maintenant, on fait ça en 64 bits en un seul coup. Donc grosse différence, sept fois plus.
La fréquence d’horloge, celle qui détermine le rythme des instructions, c’était 0,74 MHz soit 4965 fois plus lent qu’un processeur moderne.
Il y avait un cœur et, maintenant, dans ce processeur, il y a 10 cœurs.
Donc à la fois un truc nul, mais c’était la première fois qu’on avait un truc nul qui, finalement, allait lancer l’industrie du numérique.
La loi de Moore tient son nom de Gordon Moore, cofondateur de Intel, mort l’année dernière au mois de mars. Gordon a découvert, en 1965 –~découvert n’est pas vraiment le bon mot, mais on va dire ça~–, il a édicté la loi qui dit : « Le nombre de transistors, dans un semi-conducteur, double tous les deux ans ». Ce sont des mots compliqués, tout le monde a compris : la puissance des processeurs double tous les deux ans. Et ça s’est vérifié !
Il a observé cette loi, au début, mais surtout ensuite, chez Intel, ils ont décidé que ça allait se produire, qu’il fallait investir en recherche, en développement, en création d’usines pour que ça soit possible. En fait, ce n’est pas vraiment comme Newton qui voit des pommes tomber des arbres. Non ! On décide que la loi va être comme ça et ça a très bien marché.
En bas à gauche, au bout de la flèche, il est indiqué, dans le Intel 4004 2300 transistors. L’échelle est logarithmique, donc c’est 1000, 5000, 10~000, etc., et, à la fin, c’est 50~milliards, donc le processeur en haut à droite, ce sont 50~milliards de transistors, en gros 22~millions de fois plus, donc, en théorie, à peu près 22~millions de fois plus puissant.
Il est important de comprendre que dans la loi de Moore il y a des sous-jacents, il y a des choses qui l’ont rendue possible et on n’en parle pas.
Premièrement, il faut que le prix de un transistor, dans le semi-conducteur, baisse à chaque génération. S’il ne baisse pas, le jour où vous avez un transistor qui vaut dix~centimes avec le Intel 4004 et que vous en mettez 50~milliards dans un Core i7, ça veut dire que vous avez un processeur qui vaut des dizaines de millions de dollars et vous n’en vendez pas beaucoup. Il est donc essentiel de faire baisser le prix du transistor unitaire, de un transistor.
Exactement pour la même raison, il faut aussi que la consommation énergétique du transistor unitaire baisse, sinon il vous faut une centrale nucléaire au cœur du processeur et c’est compliqué, ça revient cher et on n’en vend pas beaucoup.
Il y a aussi des trucs qui ont été un petit peu utilisés pour booster la puissance : la fréquence d’horloge, on l’a vu, beaucoup plus rapide sur un processeur récent que du temps du 4004, mais aussi une augmentation du nombre de cœurs, passer de un à dix, eh bien évidemment ! Forcément !
Mais, il y a un genre de réciproque à la loi de Moore, qui s’appelle la loi de Wirth[13], inventée par Niklaus Wirth qu’on voit ici, qui est un type super puisque c’est l’inventeur du langage Pascal, il a eu le prix Turing, qui est, en gros, le Nobel de l’informatique, donc un sacré monsieur. Il est mort le 2 janvier dernier. Il a dit cette chose-là, on voit bien qu’il était un peu de mauvais poil sur la photo : « Le logiciel ralentit aussi vite que le matériel accélère », et il a raison. Que ça reste entre nous, mais on n’a pas de quoi être fiers, c’est vrai et, en fait, ça se prouve. On disait aussi cette loi autrement, on disait : « Ce qu’Intel vous donne, Microsoft vous le retire. »
[Applaudissements]
Vous n’avez pas fini de rigoler, je vous le dis, en tout cas merci de votre gentillesse. Bref !
Un exemple : la taille moyenne d’une page web a été multipliée par 150 en 25~ans. Est-ce que les pages web, aujourd’hui, sont 150~fois mieux ? Elles sont mieux, quoique ça manque un peu de gifs animés, mais, globalement, elles sont mieux. Est-ce qu’elles sont 150~fois mieux ? Je vous laisse décider !
Un autre exemple, c’est le couple Office et Windows, c’est le graphe qu’on voit en bas. En fait, il faut un processeur beaucoup plus puissant, 60~fois plus puissant rien qu’en fréquence, je ne vous parle même pas du nombre de transistors, et il faut aussi 171~fois plus de mémoire pour faire tourner Office et Windows.
Word a bien progressé. D’abord, il y a un correcteur orthographique, gros progrès, on ne peut pas le nier, c’est quand même mieux, un correcteur grammatical est venu ensuite, moi qui suis nul en grammaire, c’est un bonheur, et, maintenant, on peut mettre des émojis. Est-ce que Word est 171~fois mieux ? Je vous laisse aussi décider. Bon, ce n’est pas gagné.
Un autre exemple que j’aime beaucoup, c’est faire des trucs simples, comme afficher un caractère tapé au clavier, dans le terminal, eh bien, on n’a pas gagné en performance. Quelqu’un a filmé des tas de trucs avec une caméra très haute fréquence et il a regardé combien de temps ça met quand on appuie, sur une touche, le délai jusqu’à ce que ça s’affiche à l’écran. Un Apple 2 de 1976 est cinq~fois plus rapide qu’un Lenovo X1 Carbon, avec Windows, ceci explique peut-être cela. Alors c’est mieux ; déjà le nom claque, X1 Carbon, excusez-moi, mais, en plus, il faut avouer qu’il y a plein de polices de caractères, il y a des couleurs, il y a différentes tailles ; en fait, en gros, il dessine des pixels alors que sur l’Apple 2 tout était codé en matériel et, si vous utilisiez ça, vous pouviez, vous aviez le droit de mettre des caractères en surbrillance, vous n’aviez pas de minuscules, vous n’aviez que des majuscules et, si vous vouliez, c’était en surbrillance.
Comment en est-on arrivé là ? C’est, globalement, que la loi de Moore pousse à rajouter de la fonctionnalité plutôt que d’optimiser du logiciel, c’est cela qu’explique la loi de Wirth.
Pourquoi ? Ce n’est pas une conspiration, c’est juste qu’il paraît que les développeurs sont trop bien payés, ce qui est entièrement faux, je pense qu’on est à peu près tous d’accord, néanmoins certains trouvent qu’un développeur, ça coûte cher. En fait, on lui fait faire une fonctionnalité qui n’est peut-être pas idéalement faite, optimalement rédigée, mais elle est faite et il faut se dépêcher de passer à la suivante. Il y a deux possibilités soit on lui dit : « Je suis sûr que tu peux faire mieux, tu devrais optimiser cette fonctionnalité, tu devrais passer du temps à réfléchir à comment elle pourrait tourner de façon plus élégante, plus propre, machin, utiliser moins de ressources », et, globalement, c’est toujours la même fonctionnalité » ; ou bien : « On va plutôt dédier ce temps-là à faire une autre fonctionnalité ; les concurrents vont avoir tendance à faire des fonctionnalités, il faut aussi qu’on fasse des fonctionnalités sinon on va être dépassé par la concurrence », donc on a la double peine : un, le code n’est pas optimisé et, deux, il est plus gros parce qu’il y a plus de fonctionnalités.
Accessoirement, si vous optimisez votre code aujourd’hui, votre code sera peut-être plus rapide, mais on s’en fout, parce que, dans deux ans, ça ne se verra plus parce qu'il y aura une nouvelle génération de machines –~merci la loi de Moore~– qui seront deux fois plus rapides, dans quatre ans, quatre fois plus rapides, dans six ans, huit fois plus rapides.
Donc, on prend presque toujours la deuxième option qui est de rajouter des fonctionnalités, donc du logiciel plus gros et jamais optimisé.
14’ 25
C’est ainsi qu’on dit, je ne sais pas combien de fois vous l’avez entendu, en tout cas moi je l’entends trop souvent : « Zut alors, mon smartphone est devenu trop lent » ou « mon ordinateur est devenu trop lent » ou « mon serveur est devenu trop lent » ou bien « mes 5000 instances AWS sont devenues trop lentes ». Eh bien, c’est faux, le matériel ne ralentit pas, sauf exceptions. Une fois Apple a un peu ralenti, une histoire glauque, bref ! Ça ne devient pas plus lent, ça tourne toujours à la même vitesse. Par contre, avec le temps, on met du soft, ce que je viens de décrire, c’est-à-dire plus de features et pas optimisé, donc plus gros. Pour une machine qui n’a pas ralenti, le logiciel étant plus gros pour un matériel qui n’a pas changé de spécifications, on a l’impression, en tout cas la user expérience, que ça se traîne plus et qu’est-ce qu’on fait ? On jette ce matériel. Les smartphones sont jetés en moyenne au bout de trois~ans et, dans 80 % des cas, ils fonctionnent encore, parce qu’on les trouve trop lents et les PC, etc., c’est pareil.
Et si a loi de Moore s’arrêtait ?
Donc, là, je dis un truc horrible : et si la loi de Moore s’arrêtait ? C’est compliqué parce qu’on a tous vécu dans la loi de Moore depuis toujours, à moins qu’il y ait des gens, dans la salle, qui aient commencé, comme moi, très jeunes et qui soient encore plus vieux que moi. C’est possible ! J’ai commencé à programmer à 14~ans, en 1980, et ça faisait des années que la loi de Moore existait déjà. En fait, nous vivons dans un monde où la loi de Moore a toujours existé, comme si elle avait toujours existé et comme si elle allait toujours exister. C’est comme les poissons qui sont dans l’eau, qui n’ont aucune idée qu’ils sont dans l’eau, parce qu’elle a toujours été là, tout ça. Nous sommes donc habitués à faire de la merde, collectivement, parce que, de toute façon, ça ira mieux dans deux ans ! Ce n’est pas hyper flatteur.
Comme, en plus, on est payé pour faire du logiciel, c’est compliqué ! D’ailleurs, je vous présente quelqu’un que j’aime beaucoup, qui s’appelle Upton Sinclair[14], écrivain et militant américain, qui disait qu’il est très difficile d’expliquer quelque chose à quelqu’un quand il est payé pour ne pas le comprendre et, globalement, c’est notre cas à tous dans cette salle aujourd’hui, nous sommes payés pour ne pas comprendre qu’on fait de la merde et qu’il faut, donc, faire plus. Je sais, c’est compliqué, mais nous sommes payés pour.
Je vous demande d’ouvrir un peu les chakras parce que je vais vous dire des trucs bizarres, mais qui sont vrais.
Par exemple ça. Un jour, j’ai lu ce livre [Un psaume pour les recyclés sauvages] et ça m’a vraiment éclaté la tête : on donne au héros un ordinateur, il a 16~ans, et il le garde toute sa vie. Waouh ! Vous n’avez jamais entendu parler de loi de Moore ? Dans ce dans ce monde-là, dans ce roman de Becky Chambers, ça n’existe pas, ça n’existe plus, on n’est donc plus dans la loi de Moore. Qu’est-ce qu’on fait ? On optimise les logiciels et on garde le matériel longtemps ! Normal ! On ne fait pas des logiciels de plus en plus gros, avec de plus en plus de features, jamais optimisés en disant que ça ira mieux demain puisque, de toute façon, le matériel ne change pas.
Ça, c’est le tableau de l’impact du numérique en France[15] dans ce qu’on appelle très simplifié, une ACV multi-critères, analyse du cycle de vie multi-critères.
Dans notre métier, l’ordinateur est installé, évidemment on s’en sert, on fait des logiciels, on l’utilise, etc., on est dans la phase utilisation, mais, avant, il y a une phase fabrication du matériel et, après, il y a une phase fin de vie, on n’y pense pas et, ce qui est en amont, la fabrication, on n’y pense pas non plus, ce n’est pas notre métier.
En fait, on voit qu’une grosse partie de l’énergie est consommée pendant la phase de fabrication, plus encore que pendant la phase d’utilisation, mais comme on est en France, avec de l’électricité très largement décarbonée –~merci le nucléaire, qui n’a pas que des avantages~–, en tout cas une électricité qui est très décarbonée aussi avec les barrages électriques, eh bien c’est à la fabrication qu’on émet le plus de gaz à effet de serre, où on consomme le plus d’eau et, évidemment, c’est là qu’on consomme toutes les ressources abiotiques, c’est-à-dire tous les minerais de la terre pour fabriquer le matériel.
Je ne sais pas si vous voyez, les trois que j’ai entourés sont tous supérieurs à 80 % : l’impact du numérique au niveau des gaz à effet de serre, au niveau de l’eau au niveau des ressources, c’est la fabrication, plus de 80 %, donc c’est énorme. Imaginez ! Si on arrivait à se débarrasser de cette ligne fabrication, si on fabriquait une fois pour toutes et, après, qu’on se contentait d’utiliser le matériel qu’on a ! En gros, on aurait divisé par cinq l’empreinte du numérique.
Ça tombe bien, parce que c’est ce qu’il faut faire.
En bas à gauche, ce n’est pas juste un type dans un pick-up qui est mal garé ; à droite ce n’est pas un pédiluve, à droite ce n’est pas un barbecue, c’est le changement climatique [illustré par quatre images, NdT]. Le changement climatique c’est quoi ? Ce sont des événements météorologiques extrêmes, plus fréquents et plus puissants.
Je sais pas si vous avez vu les dernières images de Dubaï, c’est génial, ils ont foutu des hydravions dans le désert. Il y a eu une inondation à Dubaï ! C’est comme si je vous disais, j’avais une photo avant, qu’il y avait des feux de forêt en Bretagne. Eh bien les deux sont arrivés. C’est possible aussi ! Comme quoi !
Donc, on ne peut pas faire comme avant. Ça fait 50~ans qu’on change les ordinateurs hyper fréquemment et qu’on écrit du logiciel pas optimisé, ça serait bien que ça change, à cause de ça, mais pas que.
La petite ligne noire qui monte, c’est la concentration en CO2 dans l’atmosphère. Les couleurs c’est ce qu’on appelle les climate stripes, c’est la température moyenne de la planète Erreur de référence : Balise fermante </ref>
manquante pour la balise <ref>
. La boule de cuivre est fausse, elle a été rajoutée, je tiens à le préciser, ce n’est pas « je suis tombé dessus ! », non ! Ce n’est pas comme ça que ça marche. Il a fallu creuser un trou de 700 mètres de profondeur, deux fois la Tour Eiffel, sortir la terre avec des camions qui tournent au diesel, toute la journée, qu’on met sur les côtés, et, ensuite, il a fallu faire passer ça dans des machines, qui consomment évidemment de l’énergie, avec des produits chimiques qui produisent de l’acide sulfurique et tout ça, ce trou énorme, pour arriver à sortir cette boule de cuivre qui est le pixel qu’on voit, à droite, sur la vue satellite. La zone blanche fait 8 kilomètres sur 12.
Ce que vous voyez en bas à gauche, c’est un lac d’acide sulfurique ; ce que vous voyez à l’extrême droite, c’est un lac d’acide sulfurique et, tout autour, ce sont des tas de terre parce que, évidemment, quand on creuse un trou, ça fait des tas sur les côtés.
C’est une très mauvaise idée d’habiter à côté de Palabora, ce n’est pas bon. En gros, l’acide sulfurique, ce n’est pas un endroit où aller se baigner.
Dieu merci, les mines ne sont pas toutes monstrueuses, il y en a des petites. L’inconvénient, comme elles sont petites, c’est qu’on fait travailler les enfants. Pas génial !
Après il y a les déchets. Là c’est Agbogbloshie, au Ghana. Ce sont des gens qui font brûler notre matériel pour essayer de récupérer les métaux qui sont dedans. Leur espérance de vie est forcément extrêmement courte si vous imaginez les conditions dans lesquelles ils travaillent. Ne rigolez pas, là c’est votre PC qu’on voit.
27’ 00
L’incroyable potentiel de l’optimisation
On va essayer de remonter sur quelque chose d’un petit peu positif, quand même !
On pourrait faire de l’optimisation, ça serait cool. Ça marcherait ? On gagne quoi en faisant de l’optimisation ? C’est ce qu’on va voir maintenant et je vais vous donner trois exemples.
Ce monsieur s’appelle Pierre Byessac, c’est un copain, c’est le fondateur de Gandi.net, peut-être que vous avez des noms de domaines qui étaient là-bas avant, vous connaissez l’histoire. Bref ! Pierre a fait un logiciel en Python qui récupère les horaires de train, qui récupère des fonds de carte OpenStreetMap et ça positionne les trains sur des lignes de train quasi en temps réel, c’est du quasi-temps réel qui a un défaut : son script qui tournait en six heures, donc le temps réel moyen, forcément. Il trouvait que c’était dommage, donc, il s’est dit « je vais optimiser mon code ». Il a fait de la mémorisation : au lieu de recalculer il mettait en mémoire, un genre de cache, les données dont il y avait d’usage et, à ce moment-là, ça s’est mis à tourner beaucoup plus vite, ça s’est mis à tourner 60 fois plus vite. Il est passé de six heures à six minutes, donc fois 60, c’est-à-dire qu’avant Pierre utilisait 60 fois trop de ressources pour faire le boulot. En se creusant un petit peu la tête, il utilise 60 fois moins de ressources. On voit que Pierre est fier. Je pense que c’est l’effet que ça fait quand on a optimisé un truc, « j’ai optimisé de fois 60 ».
Je vais vous présenter un collègue. Lui aussi est fier, vous voyez, même position, « j’ai optimisé de 5400 fois ». Il faisait du machine learning pour un client, il entraînait un modèle et ça prenait 15 heures. Il s’est dit « 15 heures ! Sur une machine qui coûte tellement cher, c’est quand même un peu dommage ! ». En optimisant le truc, il a downcasté les variables, pas besoin de 64 bits, il avait besoin de variables en 8 bits, ça marchait tout aussi bien. Il y avait des tas de cas qu’il explorait et, en fait, ça n’était pas la peine, ça n’avait aucun sens, il a donc fait le tri dans les cas qu’il explorait et bim ! 5400 fois plus rapide. Aurélien, tu peux être fier de toi. Merci.
Là j’en ai un troisième. Lui c’est un peu le boss de fin, il y a beaucoup de zéros, lui c’est 408 millions de fois, il est fier aussi. Matt Parker avait fait un script pour résoudre un problème logique, en plus, le truc qui ne sert à rien dans la vraie vie, outre la satisfaction d’avoir résolu le problème logique. Il voulait savoir s’il était possible de trouver cinq mots de cinq lettres chacun, qui n’aient aucune lettre en commun, pas de doublons. Donc, à la fin, on a utilisé 25 lettres et il en reste juste une qu’il n’utilise pas et il faut que les mots soient dans le dictionnaire. Il avait écrit un script Python, il l’a lancé et ça mettait 32 jours. Il en parle dans un podcast et là, un mec fait : « À mon avis, on peut faire mieux ! ». Il écrit une autre version et là le truc tourne en 15 minutes. Là, il y en a un troisième, dans les commentaires du podcast, qui fait : « Je suis sûr que je peux faire mieux ». Il s’y met, il lance son compilateur Rust, ses machins, il boit des litres de café et hop, il arrive à faire mieux. Après ils collaborent tous et ils arrivent à un truc qui tourne en 6,7 millisecondes au lieu de 32 jours, donc 408 millions de fois plus rapide. Il y a une vidéo YouTube là-dessus, je vous recommande de la regarder, elle est tordante, l’URL est marquée tout en bas, pas très gros, sinon vous cherchez « Matt Parker Someone improved my code by 408 quelque chose » et vous trouverez.
Quand je dis ça, ce n’est pas pour me moquer de Matt. Je pense qu’on peut se le dire, nous sommes entre nous, nous avons tous été Matt Parker un jour. On prend un bout d’algorithme, on part dans le mauvais sens, on fait de la merde et ça consomme beaucoup trop de ressources. Mais c’est le sprint, tout ça, il faut délivrer, il faut passer à la feature suivante, donc on n’optimise pas ça, on le laisse tel quel, on se dit qu’on y reviendra plus tard, peut-être que ce jour est venu, mais bon, et on passe à autre chose. En fait, nous avons tous été Matt Parker, il ne faut pas l’oublier, c’est pour cela qu’il ne faut pas se moquer de Matt Parker.
Et c’est là que de mon cerveau malade est sortie cette idée tordue, que j’ai appelée erooM, Moore à l’envers, désolé Gordon, qui veut dire parce que, forcément, c’est un acronyme : « effort radicalement organisé d’optimisation en masse », c’est vraiment pourri, je suis désolé, mais je me dis que si on arrive à décider, comme la loi de Moore a été décidée, d’optimiser le logiciel en moyenne d’un facteur deux tous les deux ans. Il y a des trucs qu’on pourrait optimiser, on va gratter, 20 %, je dis qu’on ne touche pas à ceux-là, il y en a.
En fait, il faut repérer toutes les fois où on a été Matt Parker et, là, il faut optimiser. Alors peut-être pas à coup de Rust, d’assembleur, de machins multi-cœurs et tout, pour descendre à 408 millions de fois, mais déjà, si on passait de 32 jours à 15 minutes, ou même de 32 jours à un jour ou une demi-journée, ça serait top, parce que ça nous donne un coup de boost sur la moyenne de l’optimisation qui fait qu’on économise beaucoup de ressources et c’est génial parce qu’on libère de la ressource en optimisant. Et souvenez-vous, 80 % de l’impact du numérique, c’est la fabrication du matériel, donc, si on libère de la ressource, on va l’utiliser pour faire autre chose.
Seulement on n’optimise que sous la contrainte.
Par exemple, quand le matériel n’évolue pas, sur des jeux vidéo sur console. On était sûr que le mec avait acheté la console, n’allait pas doubler la RAM, mettre un SSD ou changer le processeur ; le machin était verrouillé de partout, les specs étaient écrites. À une époque, on envoyait même le soft sur un cédérom ou une cartouche pour les plus vieux, donc là, le code devait être optimisé dès le premier jour. Là, on optimisait.
Je ne sais si vous avez vu la sonde Voyager. C’est compliqué, on ne peut pas changer le matériel, on ne peut pas envoyer un technicien, donc on optimise pour le matériel qu’on a, ou bien il y a des patchs qui deviennent de plus en plus importants et on se dit « si je dois le faire tourner tous les jours, il tourne en 23 heures 30, ça va être chaud, il va quand même falloir que j’optimise », sinon on n’optimise pas.
Là, en troisième point, on a une contrainte qui est une contrainte morale, on ne peut pas continuer à faire du caca alors qu’il faut réduire drastiquement nos émissions de gaz à effet de serre. On ne peut pas ! Moralement, on est obligé.
Le problème, c’est que l’actionnaire qui est le patron de votre patron de votre patron du CEO, machin, il est dans cette situation-là, il hésite : : Les dividendes ou la planète ? Je ne sais pas trop ! », et il clique à gauche ! Pas de bol. Je suis d’accord avec vous, il faudrait péter les deux genoux du capitalisme, mais on ne va pas commencer comme ça tout de suite, on va parler d’autre chose.
Las loi de Moore est (presque) morte !
J’ai une bonne nouvelle : on a une contrainte, c’est que la loi de Moore est morte, presque morte. C’est quand même un peu une contrainte. En fait ce truc, cette histoire qu’on s’est racontée pendant toutes ces années, que la puissance gratuite arrivait toute seule, eh bien c’est fini.
J’ai un exemple perso très simple, je suis sûr que ça vous arrive aussi, en tout cas moi je fais la maintenance de toutes les machines de toute la famille, ça t’apprendra ! L’autre jour, ma fille me dit « Papa je me suis acheté un nouvel ordinateur je te rends le MacBook Pro que tu m’avais filé. » Je dis « super ». Comme je suis légèrement maniaque sur le matériel, il était nickel, elle me le rend, du coup je vais voir ma mère, je dis « Maman, tu te souviens, je t’avais filé un MacBook Air, j’ai un MacBook Pro, c’est mieux, c’est plus récent, tu veux que je te remplace ton MacBook Air ancien par un MacBook Pro moins ancien ? » Elle me dit : « Non, ce n’est pas la peine – Écoute maman, ça fait longtemps quand même que tu l’as ta machine, tu es sûre ? – non, ça va, j’utilise Firefox et Thunderbird, ça va très bien ! » Forcément ! Je ne suis pas rémunéré par Mozilla, vous m’excuserez, ce n’était pas un placement de produit ! Peut-être que si ! En tout cas c’est la réalité, elle utilise vraiment les deux, peut-être parce qu’elle ne sait pas utiliser autre chose ! Bref ! Donc, ça marchait très bien, mais j’ai dit « quand même, je vais faire le changement, tout ça » et je regarde : le MacBook Air date de 2012, à la place je lui mets un MacBook Pro qui date de 2016, donc 12 ans pour le vieux et 8 ans pour le jeune et ça marche super bien. Elle ne m’a jamais dit « il faudrait que tu me changes la machine », non, ça marchait super bien parce que la loi de Moore s’est arrêtée. Elle ne s’est pas arrêté en 2012, on va le voir.
Rappelez-vous la loi de Moore et rappelez-vous, ses sous-jacents, la fréquence d’horloge qui augmente, le nombres de cœurs qui augmente, le tout avec une baisse du prix unitaire et une baisse de la consommation électrique.
Eh bien, en fait, la puissance des CPU n’augmente quasiment plus depuis 2015. On est à 3,5 % par an, c’est négligeable, c’est plat.
La loi de Moore n’est pas morte dans le sens qu’on continue à inventer des nouveaux trucs et à augmenter la densité de transistors, mais un CPU x86 aujourd’hui, on a beau jeter des transistors dedans, ça ne s’améliore pas, ça plafonne au niveau du nombre de cœurs et ça plafonne au niveau de la fréquence. Donc, ça ne s’améliore pas. On arrive à optimiser, complètement à la marge, et ça ne sert pas.
Évidemment ce n’est pas bon pour certains actionnaires, d’où l’air embêté du monsieur de Intel et de la dame de AMD ; « elle n’est pas complètement morte, elle boite un petit peu mais ça va aller mieux, je suis sûr qu’elle va repartir. » Non, la loi de Moore a vraiment un sacré coup dans l’aile, mais, évidemment, ce ne sont pas des trucs qu’ils peuvent crier sur tous les toits parce que c’est ce qui a fait leur fortune. Tout à l’heure, j’ai oublié de vous dire que quand Gordon Moore est mort, il était 96e fortune mondiale, parce qu’ils ont quand même gagné beaucoup d’argent dans le process, donc, ils ne voudraient pas que ça s’arrête.
La fréquence d’horloge pareil, ça plafonne, ça ne s’améliore pas et le prix du transistor unitaire ne baisse plus depuis 2011. C’est-à-dire que si vous rajoutez des transistors, en fait vous allez juste augmenter le prix du CPU mais pas sa vitesse. Dommage !
Quand je dis « presque » dans « presque morte », c’est qu’on arrive, avec les GPU, à gratter de la puissance, donc, la consommation électrique des GPU augmente, comme je vous le disais, puisque pour chaque transistor, elle ne baisse plus, mais qu’on met toujours plus de transistors, on arrive à avoir des cartes GPU qui consomment des centaines de watts, ce qui est juste hallucinant et ça ne va pas se calmer. Je sais pas si c’est une bonne ou une mauvaise nouvelle, mais l’IA va coûter de plus en plus cher en électricité. Pour la planète c’est une mauvaise nouvelle. La bonne nouvelle, c’est que le prix est un signal que l’actionnaire comprend assez bien.
Autre prix qui augmente, c’est celui du matériel lui-même, donc les GPU ont un tarif qui augmente
Du coup, maintenant qu’on a vu tout ça, qu’est-ce qu’on fait ?
Eh ben voilà la méthodologie erooM.
On sait qu’au départ, un dev débutant écrit du code, je caricature, illisible et boiteux, et c’est normal ! Je suis passé par là, pire, je crois que j’y suis resté ! Que peut-on faire ? Eh bien, on va lui apprendre à être un bon développeur ; on va lui apprendre à écrire du code plus intelligent, plus clair, plus lisible, plus maintenable, mais aussi plus rapide. En fait, il va apprendre le métier, tout simplement, il va faire du craft. Donc, il faut continuer à pousser dans ce sens de faire du craft, de faire de la qualité, de faire du travail dont on est fier. Et inévitablement, sauf s’il est complètement neuneu, il devient senior avec le temps, donc son code est mieux à tous points de vue.
Et il y a un deuxième temps. Après avoir fait monter les développeurs en compétences, ce qui me paraît fondamental et essentiel ne serait-ce que pour avoir un job intéressant, plutôt que de pisser de la ligne complètement nulle, deuxième étape, on fait du erooM, c’est-à-dire qu’on va repérer les traces de Matt Parker, on va sélectionner les éléments critiques et on va passer du temps à les optimiser. Avec, toutefois, un défaut, pour être parfaitement honnête : si on va trop loin dans l’optimisation on rend le code plus rapide mais plus complexe, donc plus difficile à maintenir. Il faut trouver le juste milieu : jusqu’où pousser le curseur mais ne pas aller trop loin. C’est ce que je vous disais tout à l’heure avec Matt Parker, le mec qui a fait le programme qui tournait en 15 minutes c’était déjà incroyable par rapport à 32 jours et on aurait pu s’arrêter là. Je pense que le truc qui tourne en 15 minutes est maintenable, par contre je suis à peu près certain – d’ailleurs tous les codes de cette vidéo de Matt Parker sont sur github – que celui qui tourne en 6,7 millisecondes, c’est une usine à gaz ultime avec parallélisation des tâches, on commence à chercher des mots sans regarder s’ils sont dans le dictionnaire parce qu’on est encore en train de charger le dictionnaire ; forcément, en 6,7 millisecondes ! Il faut quand même charger le dictionnaire anglais ! Il y a donc des tas de trucs cauchemardesques à faire, mais ils sont arrivés à 6,7 millisecondes, ce qui est rigolo, mais, globalement, c’était du temps perdu. S’arrêter à 15 minutes, c’est probablement ce qu’il aurait fallu faire parce que c’est déjà considérablement mieux que 32 jours.
Ne soyons pas des ayatollahs de l’optimisation pour faire des trucs impossibles à maintenir, arrêtons-nous avant.
Avec ça, on a trois choses, on obtient trois choses avec la loi de erooM :
on fait du numérique respectueux des limites planétaires. Évidemment, comme on libère de la place dans nos machines, comme on libère de la puissance de calcul, eh bien on peut faire de nouvelles choses avec et on ne fabrique plus de nouveaux matériels, on n’en a plus besoin puisque tous les deux ans, on optimise un facteur deux. Donc un, on est écolo, on arrête de niquer la planète, déjà, ce n’est pas complètement la même chose.
Deux, on est fier de soi, on peut poser les bras croisés devant le miroir après s’être rasé en disant « j’ai optimisé mon code, bébé ! », je ne me rase pas, en plus, c’est con.
Et on continue à innover, en fait, en libérant de la ressource ça fait de la place pour continuer à innover qui est quand même la raison, probablement pour vous, en tout cas aussi pour moi, la capacité de faire des nouvelles choses et de s’éclater dans nos métiers.
Voilà. J’ai dépassé de 42 secondes, il y a plus de temps pour les questions.
[Applaudissements]
- ↑ Netscape Communications
- ↑ Mozilla Firefox
- ↑ Cozy Cloud - Historique
- ↑ Qwant
- ↑ Scaleway
- ↑ OCTO Technology
- ↑ Standblog
- ↑ L'Octet Vert par Tristan Nitot
- ↑ FRUGARILLA
- ↑ Conseil national du numérique, CNNum
- ↑ Cigref, réseau de grandes entreprises et administrations publiques françaises
- ↑ Loi de Moore
- ↑ Loi de Wirth
- ↑ Upton Sinclair
- ↑ Étude « iNum » - Impacts environnementaux du numérique en France, Collectif d'experts - 23 juin 2020