Au CEA, « le cloud face aux enjeux de frugalité »

Au CEA, « le cloud face aux enjeux de frugalité »

« Ça est frugal ?!? »

Avatar de l'auteur
Sébastien Gavois

Publié dans

Sciences et espace

28/03/2022 12 minutes
7

Au CEA, « le cloud face aux enjeux de frugalité »

Via l’un de ses chercheurs, le CEA tente de répondre à une question : « Quel avenir pour le cloud face aux enjeux de frugalité ? ». La réponse n’est en fait pas un cloud unique, mais « des clouds plus petits et plus proches des applications ». D’autres pistes pour améliorer l’efficacité énergétique sont détaillées.

La question de l’empreinte écologique du numérique est sur toutes les lèvres depuis plusieurs mois. Les rapports s’enchainent dans les différentes institutions. L’un des derniers en date est celui de l’Arcep et de l’ADEME, avec quinze propositions et autant d’actions à la clé.

En France, une loi pour réduire l’empreinte environnementale du numérique a pour rappel été publiée au Journal officiel mi-novembre. Un an auparavant, la Commission européenne publiait son rapport final sur les « technologies et politiques efficaces sur le plan énergétique d’informatique en nuage ».

Dans le rapport européen, on apprenait que la consommation énergétique des datacenters de l’UE28 était passée de 53,9 à 76,8 TWh/an entre 2010 et 2018, soit une hausse de 42 % en huit ans. Les chiffres ne sont pas disponibles pour ces dernières années, mais la consommation est très certainement en hausse.

Le CEA ajoute que, au niveau mondial, « les datacenters utilisent aujourd’hui 3 % de l’électricité produite et sa part devrait augmenter considérablement dans les années à venir ». En 2020, elle était estimée à 650 TWh, « soit une consommation supérieure à celle de la France ». Ce chiffre montre aussi le gouffre qui sépare l’Union européenne du reste du monde.

Afin de donner des pistes sur les réflexions actuelles, le Commissariat à l'énergie atomique et aux énergies alternatives propose une interview maison de Florent Kirchner, responsable du département d’ingénierie des logiciels et des systèmes. Il est aussi co-porteur du Programme et Equipements Prioritaires de Recherche(PEPR) « Développement de technologies avancées de cloud ». Il revient sur l’évolution du cloud et les importants changements qui sont en train de se mettre en place.

Cloud vs électricité à l’époque de Tesla… même combat ?

Le chercheur plante le décor : 

« Aujourd’hui, le développement du cloud a atteint un stade que l’on pourrait comparer à celui de l’électricité à l’époque de Nikola Tesla (entre la fin du 19e siècle et le début du 20e siècle), c’est-à-dire qu’on en a identifié les grands principes et qu’on commence à créer les premières infrastructures (pour poursuivre l’analogie avec l’électricité, c’est l’équivalent des premières lignes et des premiers foyers électrifiés)

Le cloud arrive aussi dans les maisons via par exemple le partage de photos, ou des clouds publics tels que ceux proposés par les géants du web comme Google, Apple, Facebook (Meta), Amazon et Microsoft ou encore le chinois Baïdu. Aujourd’hui, plus d’un siècle plus tard, l’électricité est déployée à grande échelle et disponible partout, tout le temps, à la demande. Pour le cloud, cela va être la même chose : il est en train de devenir un outil de calcul et de stockage à la demande – une « commodité » pour utiliser le néologisme anglo-saxon ».

Face à l'explosion en cours sous nos yeux (mais aussi en sous-marin), Florent Kirchner détaille plusieurs volets majeurs pour rendre le cloud plus frugal, c’est-à-dire économe, peu consommateur de ressources.

Le premier concerne « l’implémentation des composants matériels et des logiciels », avec des processeurs « à la fois frugaux et très performants ». Le chef de département du CEA met en avant « le processeur ARM, doté d’une architecture plus simple et donc moins énergivore que les familles de processeurs conventionnels ».

ARM peut se targuer d’être au cœur du supercalculateur Fugaku, numéro 1 du Top 500 depuis mi-2020. Le rapport performance/consommation de ce supercalculateur est par contre loin d’être le meilleur : il ne se classe que 26e de la liste Green 500. Sur l’efficacité, Fugaku fait jeu quasi égal avec Summit – second au classement général, avec des processeurs IBM POWER9 22C : ces performances sont trois fois plus importantes, pour une consommation… multipliée par trois.

Traitement des données : sur place ou à emporter ?

Florent Kirchner affirme qu’ARM est quoi qu’il en soit « de plus en plus intégré dans les supports de calcul et de stockage du cloud, associé à des accélérateurs matériels qui optimisent certaines parties de calcul très consommatrices (comme les circuits de la société Kalray, une spin-off du CEA) ». Vous pouvez d’ailleurs retrouver un portrait de cette entreprise française dans notre magazine #3, disponible dans notre boutique.

Cette dernière a pour rappel récemment levé 5,2 millions d’euros pour « préparer sa prochaine génération de microprocesseurs ». Son créneau : des puces « capables d’analyser à la volée une quantité extrêmement importante de données, proche de là où ces données sont générées, et d'interagir en temps réel avec le monde extérieur ».

Le CEA veut aller plus loin avec de « nouvelles architectures et accélérateurs visant à réduire drastiquement l’énergie nécessaire pour du calcul sur des données massives, notamment par des solutions de calcul en mémoire qui réduit le transfert de données et donc son coût énergétique ». Samsung propose déjà des solutions du genre avec son SmartSSD et sa HBM-PIM. 

Le premier peut directement effectuer des calculs sur les données dont il dispose, sans avoir besoin de passer par le CPU de la machine ; cela permet « d’importants gains de performances […] tout en libérant le processeur qui peut gérer plus efficacement d'autres tâches ». Dans le second cas, la mémoire HBM-PIM (High Bandwidth Memory-Processing-In-Memory) intègre « de la puissance de calcul pour l'intelligence artificielle ».

Dans sa feuille de route pour limiter l’empreinte carbone de l’industrie électronique, le CEA mettait justement en avant la relocalisation des « opérations de calcul et de traitement des données au plus proche voire au sein même des composants ». Le but est de limiter la consommation d'énergie liée au transport des données, permettant aussi de diminuer les latences « tout en garantissant au citoyen la confidentialité de ses données ».

Rappelons que stocker ses données en Europe ne garantit par leur confidentialité ; le Cloud Act américain en est la preuve. La question de la souveraineté est pour rappel le fil rouge de notre magazine #3.

Mémoires non volatiles et puces neuromorphiques

Le CEA met aussi en avant le développement « des mémoires non volatiles pour remplacer les mémoires traditionnelles SRAM ou Flash ». Elles seraient donc capables de garder leurs données quand elles ne sont pas alimentées, tout en ayant de bonnes performances ; dans la lignée de la 3D Xpoint d’Intel par exemple.

Pour le CEA, ces mémoires non volatiles seraient « pour certaines, 20 000 fois moins gourmandes en énergie que les mémoires traditionnelles ». Cerise sur le gâteau, elles faciliteraient « la mise en œuvre de puces neuromorphiques qui, à l’instar du cerveau, sont capables d’analyser de nombreuses données sensorielles (images, sons, odeurs) et de les traiter avec une excellente efficacité énergétique ».

Plusieurs travaux sont en cours, notamment par Julie Grollier du CNRS qui veut mettre au point des processeurs neuromorphiques pour ordinateurs : « Ils pourraient se révéler plus rapides, plus robustes aux erreurs et consommer jusqu’à 10 000 fois moins d’énergie que les processeurs actuels ». Intel aussi est sur les rangs du calcul neuromorphique et dispose déjà de plusieurs générations de produits.

Autre pilier, selon Florent Kirchner, « optimiser l’applicatif, c’est-à-dire les logiciels ». Cette approche multi-facettes se retrouve aussi dans les évolutions de l’infrastructure informatique du CERN.

Les chercheurs se mobilisent ainsi « pour adapter ces outils aux contraintes de calcul et de stockage dans le cloud, et permettre par exemple d’exploiter au mieux les complémentarités entre les algorithmes, et les composants électroniques sur lesquels ils opèrent ». Sur des systèmes de traitement des masses considérables de données, la moindre petite optimisation peut avoir des conséquences importantes. 

Alors que revoilà le « cloud at the edge »

Le CEA met également en avant une autre piste, plus large : « agir sur le système dans son ensemble ». Il rappelle, s’il en est besoin, qu’un « cloud est un ensemble de machines branchées en réseau dans un datacenter, le Cloud dans son intégralité est en fait un ensemble de datacenters qui se "parlent" ». 

Problème selon le chercheur : les clouds sont « souvent situés à une grande distance des applications qu’ils traitent – par exemple, pour deux personnes faisant une visioconférence à quelques kilomètres d’écart, les données vont parfois transiter par des datacenters implantés à plusieurs centaines de kilomètres ». Une solution à ce problème existe depuis longtemps, elle est baptisée : « cloud at the edge » ou cloud de terrain.

Il s’agit, comme leur nom l’indique, de « clouds plus petits et plus proches des applications ». Plutôt que faire transiter des données sur des centaines de kilomètres, on place les serveurs à proximité de l’endroit où les données sont produites. « C’est une révolution en marche en ce moment. Si on prend du recul, c’est une sorte de galaxie de clouds qui est en train d’émerger », ajoute le chercheur.

On pourrait comparer cela aux CDN qui placent les données au plus proche des internautes, évitant ainsi de surcharger les tuyaux d’Internet.

« Un vrai enjeu de frugalité »

En plus de l’économie sur les allers-retours des données, les clouds locaux « peuvent se spécialiser grâce à la connaissance du type de données à traiter, et ainsi augmenter leur efficacité ». Florent Kirchner reconnait néanmoins que « l’impact de cette économie doit être analysé scientifiquement, selon les cas d’usage ».

Dans tous les cas, les clouds locaux ne peuvent pas grand-chose si les données doivent être partagées entre des utilisateurs éparpillés (avec une visioconférence internationale par exemple) ou si « la quantité de données nécessite des puissances de calcul très importantes, comme dans la simulation numérique d’un avion ».

La répartition des calculs entre le cloud général et le coud at the edge « est un vrai enjeu de frugalité : si l’on se trompe, on va soit surconsommer sur les clouds at the edge parce qu’on va les sur-solliciter avec des calculs pour lesquels ils ne sont pas dimensionnés ou, à l’inverse, on va construire des datacenters qui vont tourner à vide car on ne leur aura pas alloué les tâches appropriées ».

« Les algorithmes d’orchestration sont donc des enjeux clés des clouds décentralisés », explique le chercheur. Selon la Commission européenne, la consommation de l’Edge computing devrait atteindre les 12 % de l’ensemble des datacenters européens d’ici à 2025. 

Sensibiliser l’humain… à condition de bien le faire

Dernier point et pas des moindres : « la sensibilisation de l’humain ». Florent Kirchner a une idée derrière la tête : « Cela pourrait passer par la visualisation de nos usages sur le cloud, qui permettrait de voir où sont les points chauds ou froids de notre territoire numérique. À partir de là, un bilan énergétique serait présenté. On pourrait ainsi proposer à l’utilisateur des solutions pour diminuer sa consommation, et ainsi son empreinte carbone – à l’instar de ce qui existe déjà pour l’électricité ».

Il souhaite également que soient mis en place des outils « pour superviser et adapter cette consommation "à la volée" afin de gagner en efficacité énergétique ». Il s’agirait de « jumeaux numériques » des infrastructures physiques, dont la mise en place nécessitera des « recherches poussées en modélisation, simulation, et optimisation »… mais aussi en bonne volonté de la part des géants du Net pour détailler leur infrastructure.

Si on pouvait déjà avoir une fiche d’information standardisée du cloud se serait un bon début… mais ce n’est pas gagné, loin de là. Depuis le 1er janvier, les opérateurs doivent pour rappel indiquer à leurs clients la quantité de data consommée et son équivalent en émission de gaz à effet de serre. Le succès n‘est guère au rendez-vous, d’autant que certaines dénoncent une « méthodologie démontrée comme foireuse ».

Écrit par Sébastien Gavois

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Cloud vs électricité à l’époque de Tesla… même combat ?

Traitement des données : sur place ou à emporter ?

Mémoires non volatiles et puces neuromorphiques

Alors que revoilà le « cloud at the edge »

« Un vrai enjeu de frugalité »

Sensibiliser l’humain… à condition de bien le faire

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (7)


Et bien ce n’est pas gagné :fou:



Il serait intéressant d’indiquer l’emplacement de l’indicateur Optimisation d’un algorithme. J’ai clairement l’impression que déjà pour commencer ces têtes blondes nous vendent des soi-disant algos capables de manger tout type de données, cela n’existe pas. Il est nécessaire de créer l’algo adapté à son métier. On trouvera peut être un produit étagère mais généralement c’est la pire des solutions car absolument pas optimisé.



Ensuite encore faudrait il que la notion d’optimisation soit enseignée !!! Personnellement face à des niveaux masters, je reste pantois… Ils ignorent réellement le sens de ce mot. Ayant passé pas loin de 15 ans à travailler dans l’embarqué (logistique) nous n’en avons clairement pas la même vision.



J’ai également assisté à la soutenance d’un doctorant qui n’hésitait pas à avancer une consommation de plusieurs Go de datas pour 1 résultat d’algo. Au vu du sujet que je connais bien, je suis inquiet. Encore plus quand j’apprend qu’un bureau au CNRS l’attend :/


yep, c’est déprimant, et les framework aident pas toujours (pour quelques uns que je connais dans le web)
et les dev’ qui font confiance au framework “c’est lui qui gère”, sauf que le framework en question peut pas tout anticiper, et ce qui est optimum pour un traitement ne l’est pas pour un autre …
j’ai fait des modifications sur un traitement, au lieu d’une trentaine d’heure c’est tombé à ~5 (quoique y’avait peut-être pas que mon code, y’avait peut-être des modifs réseau aussi, je sais plus)
une autre fois je crois que j’avais pu gagner en perfs d’un facteur 10 000 (oui, genre un script de 3h qui tombe sous la seconde), et pour ce gain j’y avait pas passé 6 mois hein, peut-être une semaine à décortiquer le truc quand max



en fait on a “trop” de puissance de calcul, donc tout le monde s’en fout quand en test sur des petits volumes ça prend 1 ou 2 seconde, sauf qu’une fois en prod avec de gros volumes, ben ça se voit beaucoup plus, et du coup c’est galère de tout reprendre car ça n’a pas été pensé pour la erf au début :‘(


J’ai commencé ma “vie” sur un 286 avec 20 Mo de disque et quelques ko de mémoire. Avance rapide, aujourd’hui je bosse entre autre sur des trucs énormes avec 512 ko de stockage.
J’ai fait un peu de tout don’t du Web.
Un jour un dev me dit que le système prend trop de temps faut tout changer, obtenir une information prend 2h14 (une requête SQL). Il m’a fallu une journée pour lui faire comprendre comment la réécrire pour qu’elle s’exécute en 2s (pas des chiffres au hasard, vrais chiffre).
Toute la journée durant il m’a maintenu que c’était pas possible. A un moment il me dit “j’ai fait ce que tu as dit et ça retourne rien”. Je regarde sa requête, je vois “WHERE xyz = 1 AND xyz = 2”… Tu m’étonnes…



Des exemples comme ça j’en ai plein. Ça commence par exemple par ne pas mettre de break dans une boucle à partir du moment où le boulot est fait. (Une journée passée avec un dev et un profiler, et hop, et
90% du temps d’exec en moins)



Pour moi le cloud est l’inverse de la frugalité. Le problème étant la formation. Sur le cloud, on peut monter en puissance facilement, c’est génial ! Donc même pas besoin de penser une seconde à l’optimisation… C’est pas l’algo qui est le problème voyons, c’est le système qui est mal dimensionné.



Au moins quand tu es sur de l’embarqué, avec pas de place, une source d’énergie limitée, y’a plus trop d’alternative… Ceci dit j’ai croisé des gens très mauvais qui faisaient de l’embarqué.


xlp

J’ai commencé ma “vie” sur un 286 avec 20 Mo de disque et quelques ko de mémoire. Avance rapide, aujourd’hui je bosse entre autre sur des trucs énormes avec 512 ko de stockage.
J’ai fait un peu de tout don’t du Web.
Un jour un dev me dit que le système prend trop de temps faut tout changer, obtenir une information prend 2h14 (une requête SQL). Il m’a fallu une journée pour lui faire comprendre comment la réécrire pour qu’elle s’exécute en 2s (pas des chiffres au hasard, vrais chiffre).
Toute la journée durant il m’a maintenu que c’était pas possible. A un moment il me dit “j’ai fait ce que tu as dit et ça retourne rien”. Je regarde sa requête, je vois “WHERE xyz = 1 AND xyz = 2”… Tu m’étonnes…



Des exemples comme ça j’en ai plein. Ça commence par exemple par ne pas mettre de break dans une boucle à partir du moment où le boulot est fait. (Une journée passée avec un dev et un profiler, et hop, et
90% du temps d’exec en moins)



Pour moi le cloud est l’inverse de la frugalité. Le problème étant la formation. Sur le cloud, on peut monter en puissance facilement, c’est génial ! Donc même pas besoin de penser une seconde à l’optimisation… C’est pas l’algo qui est le problème voyons, c’est le système qui est mal dimensionné.



Au moins quand tu es sur de l’embarqué, avec pas de place, une source d’énergie limitée, y’a plus trop d’alternative… Ceci dit j’ai croisé des gens très mauvais qui faisaient de l’embarqué.


Travailler sur de l’embarqué, zut dans l’IoT faut bien faire croire que c’est nouveau, n’est pas un gage de compétence malheureusement :fou:



Même remarque :francais: travailler longtemps dans le même domaine n’est pas non plus un gage de compétence, encore faut-il aimer ce que l’on fait et que l’on cherche à se perfectionner.



Un exemple classique, j’ai un petit nouveau à former qui est bien motivé et tout et tout, mais au premier problème il va chercher une ressource toute faîte sur le net (du Base64 ici) au lieu de voir ce qui merde dans l’objet à sa disposition (et oui il avait le code dispo). C’est dommage… Je n’imagine même pas le résultat avec celui qui n’est pas motivé :fou:


Parlez a un dev, je me demande si l’optimisation est quelque chose de prévue dans sa formation et every day work…



Le cloud at the edge ce serait au final faire massivement du peer to peer?
L’idée est bien mais elle n’est que moins rentable pour tous les géants du secteur je pense.
On nous promet ensuite du web3 block chain, nft, crypto, qui en plus d’être inutiles sont trop consommatrices d’énergie. Une bonne premiere solution serait d’interdire tout ça :)


Article dont la lecture m’évoque une discussion avec un collègue au labo : plus on développe des “machins” frugaux (composants électroniques), et plus l’effet est souvent le contraire de celui esconté. On a désormais des circuits électroniques extrêmement optimisés, aussi bien en performances qu’en coût, mais leur impact écologique ne cesse de croire … à cause de leur nombre.



En gros, c’est comme les téléviseurs/écrans : de nos jours, ils consomment très nettement moins que ce qu’on connu nos (grands) parents, mais on en a aussi nettement plus qu’un par foyer désormais. Au final, on n’a rien gagné.



Ceci dit, le “cloud” pour tout et n’importe quoi, est-ce vraiment utile ???


Le cloud c’est juste une solution de facilité dans beaucoup de cas. Prends le “serverless”. C’est génial on peut exécuter du code à la demande sans serveur… Oh wait…
Un jour y’avait un soucis assez simple sur une appli Web. Je regarde le dev (plus de 20 ans de carrière) qui me dit “ah moi je sais pas, je suis développeur, je connais rien au réseau”… On parle d’un gar qui fait depuis 5 ans du Web. Et je ne parle pas de l’aspect sécurité…



Donc voilà avec du cloud tu peux faire des trucs qui marchent sans presque rien comprendre. C’est génial. Plus besoin de gens compétents. Évidemment tu le payes, ne serait-ce que sur la facture d’électricité.