La programmation par contraintes pour sauver l'environnement
Par Jean-Marie Chauvet
La France qui s'était bien tardivement mise au financement privé de ses universités avec, en particulier, la loi LRU de 2007 qui s'inspirait pour ces partenariats public-privé des pratiques américaines déjà anciennes, y plaçait alors de grands espoirs. (Le trouble jeté dans les cénacles hexagonaux de l'enseignement par le trop fameux « Classement de Shanghaï » n'y était d'ailleurs probablement pas pour rien : notre prestigieuse et plus que bicentenaire Ecole des Mines relevait elle-même le gant en publiant son propre classement mondial des universités et des grandes écoles, ne s'y octroyant elle-même — suprême élégance — que le dixième rang !) Mais ces ambitieuses espérances furent largement tempérées par la timidité et à tout le moins le manque d'enthousiasme constaté dans la mise en place de ces fondations destinées à lever de l'argent privé.
Alors que la loi Pécresse visait a priori les industriels français pour les encourager à participer au financement de l'enseignement supérieur — une idée qui est loin d'être naturelle sous nos cieux — c'est Microsoft qui s'était alors avancé pour se prêter au jeu. Un premier partenariat signé en octobre 2007 avec Sciences Po comportait, notamment, le soutien financier de deux chaires (« Humanités scientifiques », sur le rôle de l'innovation dans la société contemporaine, et « Régulation » sur l'innovation et les questions de propriété intellectuelle — on voit assez bien les ficelles du dispositif). M. Martin-Lalande, député du Loir-et-Cher organisateur du passage éclair de l'impétueux Steve Ballmer à l'Assemblée Nationale proféra alors cette sentence impérissable : « ce partenariat permet à Microsoft d'acquérir de la respectabilité ». Décidément, on ne change pas notre classe politique nationale !
Le — donc — respectable Microsoft signait ensuite un partenariat avec l'Université de Lyon 1 sur les questions de systèmes de soins et de gestion du dossier médical. Mais les efforts de Microsoft culminaient avec la création en 2007 du Laboratoire commun de recherche INRIA - Microsoft Research qui fêtait ses deux ans d'existence et présentait ses premiers résultats en janvier dernier à L'Ecole polytechnique — en pleine agitation de campagne KES. La semaine dernière, le respectable Microsoft culminait à nouveau, dans les mêmes lieux — mais cette fois en pleine agitation préparatoire au Point Gamma, décidément ! — pour inaugurer la nouvelle chaire Polytechnique - CNRS - Microsoft : « Optimisation et Développement durable ».
Fruit de deux ans d'un laborieux travail de préparation qui doit beaucoup à la ténacité et à l'énergie d'Eric Boustouller et de ses équipes menées notamment par Marc Jalabert et Pierre-Louis Xech, l'initiative ne manque pas d'un certain courage dans le climat actuel qui prévaut dans la recherche et les universités françaises. La chaire OSD — puisqu'il faut sacrifier à l'anglais international à mon plus grand désespoir, cette chaire de l'X et du CNRS est officiellement baptisée Optimization for Sustainable Development, d'où OSD (ODD serait, je le reconnais, plutôt curieux en anglais !) — est animée par Philippe Baptiste, chercheur CNRS et directeur du Laboratoire de recherche informatique de l'Ecole Polytechnique (unité mixte de recherche CNRS / Ecole Polytechnique) et par Youssef Hamadi, responsable du « Constraint Reasoning Group » à Microsoft Research Cambridge et co-responsable du projet « Adaptative Combinatorial Search » au sein du Centre de Recherche Commun INRIA-Microsoft Research.
Car voilà bien le thème finalement retenu, bien dans l'air du temps : la programmation par contraintes au secours de l'environnement.
L'idée peut sembler au premier abord fort étrange au béotien. En quoi, ce qui dans mes souvenirs confus de la discipline alors naissante de l'Intelligence Artificielle de la fin des années 70, début des années 80, apparaissait comme une ramification algorithmique éthérée adulée d'une cohorte obscure de zélateurs de la cinquième génération, d'Edimbourg et d'Alain Colmerauer pouvait-elle prétendre à lutter contre le changement climatique et préserver l'environnement ?
En 2008, dans le cadre de la Clinton Global Initiative, l'Université de Cornell avait alloué $50m à un nouveau centre de recherche, le Center for a Sustainable Future destiné à encourager la recherche multidisciplinaire pour un avenir durable pour tous. (La durabilité de l'avenir me pose un problème presque philosophique dans ses termes, mais passons...) Et c'est précisément en ce moment que se tient son premier Symposium, CompSust09, pour — accrochons-nous — la « durabilité calculatoire » (meilleur que le « comput durable » me semble-t-il, pour essayer de tradiure computational sustainability ?).
Perplexité à nouveau.
C'est qu'en fait, en plus de vingt ans, les domaines théorique et pratique de la programmation par contrainte se sont particulièrement développés, défrichant de nouveaux champs d'applications et récoltant les fruits de profondes découvertes théoriques. C'est ce qui transparaissait dans le séminaire scientifique de l'après-midi qui suivit l'inauguration officielle du matin, en « téléprésence » vidéo de la Secrétaire d'Etat Nathalie Kosciusko-Morizet qui rayonnait de voir réunis là deux de ses centres d'intérêt, écologie et numérique.
- L'optimisation combinatoire stochastique était le premier sujet abordé par Pascal Van Hentenryck. On s'y pose la question d'optimiser tout une série de mesures (ou de contraintes) dans un univers de données probabilisé. C'est cette prise en compte des probabilités qui la distingue des techniques « dures » de la recherche opérationnelle et qui est particulièrement adaptée aux données en ligne — qui sont engendrées au vol sans distribution connue a priori — et aux problèmes liés à l'environnement lui-même incertain.
- Une excellente introduction à la première grande problématique que l'on pourrait qualifier d'économique ou de bio-économique dont l'objet est d'optimiser l'usage des ressources naturelles sur la base de modèles économiques de la gestion de l'environnement.
- La seconde grande problématique est évidemment liée à l'optimisation de la production d'eau et d'énergie et à l'optimisation de leur distribution et leur usage. Des applications immédiates : optimisation de la distribution et de l'usage de l'énergie électrique dans les usines, réduction de la consommation des datacenters informatiques des géants de l'Internet et du cloud computing, optimisation de la charge et de la décharge des batteries pour des applications qui vont du lecteur MP3 au moteur des voitures électriques...
Au passage ce dernier sujet était abordé en profondeur par Bernard Ourghanlian à l'occasion du lancement de SIMBIOSYS, communauté française dédiée à la simulation, qui notait qu'à « budget transistors » égal, et pour un budget énergie que l'on veut faire décroître, chaque coeur d'une puce multicoeurs disposait donc de moins de watts que son cousin monocoeur. La réponse technologique à ces nouvelles contraintes réside dans le développement de puces manycores, plutôt que multicoeurs, constituées de plusieurs coeurs hétérogènes aux fonctions dédiées (logique, graphique, I/O, etc.), qui se prêtent alors à une planification et une optimisation de la dépense énergétique en fonction des tâches allouées. Cette révolution annoncée à l'échelle du matériel entraîne aussi son lot de bouleversements à venir à l'échelle des logiciels systèmes et des logiciels applicatifs reposant sur cette nouvelle architecture. Se posent non seulement les problèmes de parallélisation des algorithmes, pour utiliser la multiplicité des coeurs, mais la question plus pressante de l'interopérabilité de jeux d'instruction et de langages de programmation conceptuellement différents pour ces coeurs hétérogènes : la programmation d'un coeur graphique NVidia, par exemple, est bien différente de celle d'un coeur logique base X86. (Des projets comme LLVM sont ici intéressants à suivre de ce point de vue.)
En conclusion de cette journée sur un campus inondé de soleil, Rick Rashid en personne, le patron et fondateur de Microsoft Research, donnait un aperçu à couper le souffle des travaux de recherche en cours dans son organisation.
- Réseaux de capteurs. Ici, une mention particulière pour l'utilisation de capteurs communicants (IEEE 802.15.4) autoalimentés pour surveiller la température de ses datacenters — voici donc l'invasion des genomotes, anticipée par les Xipehuz de Rosny aîné ! En retour de boucle, ces données mesurées sont utilisées en temps réel pour modifier l'algorithme de répartition des travaux sur les serveurs afin de refroidir la salle. Au registre de la protection de l'environnement, étaient également présentées des applications de réseaux de capteurs en hydrologie et en météorologie (SensorMap).
- Santé. Les projets tournent ici autour de la médecine personnalisée et l'application des technologies d'Intelligence Artificielle à la recherche de nouvelles molécules et de vaccins. (Clin d'oeil à mon complice de jadis, Alain Rappaport.) En Europe, Microsoft a créé avec l'Université de Trento en Italie un laboratoire joint de recherche sur la modélisation des systèmes biologiques de même nature.
- Preuves de code. C'est le sujet théorique creusé, en particulier, par le laboratoire joint de recherche créé avec l'INRIA en France. Nous avions récemment vu comment la saisie, sans commission rogatoire, des travaux de recherche du laboratoire public par le (respectable !) géant au généreux porte-monnaie leur insufflait une seconde vie dans F#.
- Education et Enseignement. Rick Rashid rappelait également les projets de Tablet PC pour les écoliers, l'utilisation de robots pour enseigner la programmation avec Microsoft Robotics Studio, la version moderne et in real life de la tortue virtuelle de Logo qui fit la joie d'une toute jeune génération affairée au rez-de-chaussée du Centre Mondial Informatique et Ressource Humaine — dans ces âges reculés pré-Internet où la mémoire titube. Il y a enfin l'extraordinaire WorldWide Telescope qui fait resurgir tout le merveilleux scientifique (Maurice Renard) de notre enfance.
Rick Rashid concluait sur une note résolument futuriste en dépeignant Kodu un langage de programmation visuelle à l'intention des enfants (Cocoa d'Apple avait connu un modeste début tout à fait comparable (KidSim), fruit de l'imagination fertile de Larry Tesler ; sans parler de Logo de Seymour Papert). Mais ici, le patron de Microsoft Research ne s'en cache pas, son idéal serait d'apprendre aux enfants le computational thinking, à penser, finalement, comme un ordinateur. Outre la difficulté technique que présente cette ambition quasi-philosophique à l'heure où l'on n'arrête pas de redéfinir les frontières du calculatoire et le territoire de la computation — elle va durablement sauver l'environnement et incessamment nous protéger des pirates numériques nous dit-on — il me semble qu'on peut légitimement se demander si c'est vraiment souhaitable...
Beaux sujets pour l'épreuve de philosophie du Bac 2009, ce 18 juin :
Est-il possible, est-il moral de penser comme un quadcore ? Vous rédigerez votre analyse en F#, en faisant référence aux oeuvres étudiées pendant l'année, puis la prouverez. (On rappelle que tout usage de genomotes ou de réseaux sociaux pendant l'épreuve est strictment interdit et donnera lieu à une riposte graduée.) Vous avez quatre heures.
Les 10 derniers articles mis en ligne
- Comment intégrer Sap Solution Manager dans la gouvernance du SI ?
Benjamin Rouger est Chef de projet SAP Solution Manager chez KPF - Applications mobiles : 50 milliards de téléchargements d'ici 2012
- Citrix supporte Microsoft RemoteFX et lance XenDesktop 4 Feature Pack 1
- Colloque de l’Arcep sur la neutralité des réseaux
- Vers une augmentation des dépenses en semi-conducteurs
- SAP BusinessObjects XI 3 Web Intelligence
- Grammaires des conduites à projet
- Quelles seraient les conséquences du départ de Chine de Google ?
- Wikipedia s'ouvre à la vidéo en format libre
- Secteur IT : la confiance est de retour




































le 19/03/2010 à 12:29