"Some class science projects get out of hand. That is certainly the case with Patrick Miller’s graduate course in do-it-yourself supercomputing at the University of San Francisco. On April 3, his students plan to assemble the first "flash mob supercomputer" in the school gym."
"Last week, the class put out a call for about 1,200 volunteers to bring their computers to the Koret Gym here for a day and plug them into a shared high-speed network."
Merci à Karen O’Rourke, qui nous signale cet article de John MARKOFF dans le New-York Times d’aujourd’hui, Hey, Gang, Let’s Make Our Own Supercomputer
L’article relate le projet d’un groupe d’étudiants de Patrick Miller de l’université de San Francisco, Flash mob computing. Ces étudiants ont imaginé de réaliser pour le 3 avril prochain, un
super-ordinateur sur le principe du flash mob, c’est à dire en mobilisant de façon simultanée, la puissance de calcul de centaines d’ordinateurs personnels. En soi, le principe du calcul distribué est déjà bien connu. Normalement, la participation à ces projets se fait sur la base du volontariat, même si certaines plateformes de P2P instillent des chevaux de Troie chez les utilisateurs non avertis[1] pour utiliser à leur insu, un espace calcul sur leur ordinateur. Nombre de projets, basés sur ce principe réussissent à mobiliser une puissance de calcul impressionnante. Certains atteignent 35000 gigaflops ; ce serait le cas du projet de simulation des tremblements de terre au Japon. D’autres poursuivent des visées plus fantaisistes, tel le projet SETI@home consacré à la recherche d’une civilisation alien.
Ce qui distingue le projet des étudiants de Patrick Miller des autres formes de calcul réparti, c’est d’abord le fait qu’il
est supposé rassembler physiquement les participants munis de leur ordinateur portable dans un seul lieu (un gymnase) pendant un laps de temps déterminé. Ce rassemblement géographique permettrait de créer un réseau local offrant une plus grande vitesse d’interconnexion par rapport au réseau internet, ce qui serait donc plus proche d’un système de calcul parallèle que d’un système de calcul distribué (merci pour les explications Yves !). Ensuite, ce projet est mené uniquement dans le but de réaliser une performance : faire tourner un programme qui calcule la puissance du réseau distribué. Dans le cadre d’un gymnase, la performance technique rejoindrait l’idée d’une performance sportive.
Techniquement le projet pose des problèmes de coordination assez intéressants : -
la nécessité d’imposer un standard pour les équipements électroniques et pour les systèmes d’exploitation (Linux) -
une puissance minimale requise pour les machines participant à l’opération : le nombre est à priori un atout, sauf pour les éléments trop faibles qui ralentiraient le système entier.
Le plus remarquable dans la gestation de ce projet, c’est de voir que la cogitation collective des étudiants vise d’abord et avant tout à inventer des systèmes de coopération. Montrer qu’en étant petits et nombreux nous pouvons faire mieux que les puissants, est fort gratifiant lorsque nous sommes petits et nombreux. Il suffit de le vouloir, il suffit de se mettre d’accord, il suffit de faire corps ensemble, moyennant une harmonisation des équipements. Cependant, hors la démonstration de puissance de la multitude, aucun autre objectif n’est envisagé dans l’immédiat. A quoi voudrait-on employer une telle puissance de calcul ? Quel projet est porté par cette multitude sinon de s’affirmer comme puissance ? En soi ceci peut-il constituer une politique, un projet ?
"Nous espérons que le flash mob computing démocratisera les superordinateurs" disent les organisateurs. Ils estiment qu’avec le flash mob computing, des projets collectifs et citoyens pourraient être organisés autrement que par une organisation centralisée :
"Today, supercomputing is controlled largely by governmental organizations, academic research institutions, animation studios, and recently human genome companies. This means that the problems that get solved by supercomputers are narrow in scope and tightly controlled. We want to change that. We think that a group of folks should be able to get together and study whatever they want, and they should be able to use a supercomputer to help them. So if a highschool science class wanted to study the ozone hole using a supercomputer model, they could create a FlashMob supercomputer in a few hours and start running their model today. If a group of neighbors were worried about how a local gas station’s underground gas tank might leak into the drinking water if the tank ever cracked, they could use Flash Mob Computing to model the scenario. In short, we hope Flash Mob Computing will democratize supercomputing. That is to say, it will make supercomputing accessible to everyone. To us, that’s a very exciting idea.".
Mais peut-on imaginer des projets de cette envergure menés sans un minimum de centralisation ni recours à des compétences scientifiques confirmées ? A partir d’un certain niveau de complexité et d’exigence, on peut se demander en quoi des initiatives non-institutionnelles se différencieraient des projets de recherche plus académiques ?
Quoi qu’il en soit des lourdeurs organisationnelles sans doute inévitables, ce modèle de coopération, une fois rodé, pourrait s’avérer intéressant pour des associations citoyennes qui disposent d’une base déjà suffisamment large et d’un bon réseau de compétences.
Pour le moment, les étudiants visent la performance, il veulent s’inscrire dans le top 500 des plus grosses puissances de calcul. A défaut d’autre objectif, et comme il faut bien faire quelque chose de cette puissance de calcul, ils
envisagent pour plus tard, une méga session de jeu vidéo.
Tant que cette puissance de calcul, réalisée comme simple potentiel, n’est pas employée, quelle est sa signification ? A-t-elle seulement une réalité ?
Je vois un rocher en équilibre sur une corniche élevée, je me dis qu’il recèle un potentiel énergétique qui aurait de quoi me fracasser le crâne si jamais il me tombait dessus. Mais le rocher est seulement là, en attente d’une vocation, peut-être en attente du passage de quelque démon que la providence aurait de bonnes raisons d’écraser ? Bien sûr, la providence n’a aucune raison de s’intéresser à moi. A défaut d’avoir une cible, on peut spéculer sur le passage d’un alien ou passer le temps à jouer aux osselets.
Il y a le dispositif de défense qui prémunirait d’un danger, mais on ne connaît pas l’agresseur ; c’est de l’angoisse. Il y a du désir, mais il est sans objet ; c’est de l’ennui. Peut-on mettre cette puissance de calcul au service de la recherche d’un objet digne du désir ?
Les flash mobs m’ont toujours fait penser au mouvement des oiseaux migrateurs dans la période d’énervement qui précède l’arrivée de l’hiver. Aux premières bises froides, on voit les oies s’agiter, elles simulent des regroupements, amorcent un envol, puis reviennent se poser sur le lac pour se chamailler entre-elles. Ce petit cirque peut durer un bon moment avant qu’elles ne se décident au voyage.
[1] Ils n’ont pas lu la licence. Qui donc serait en mesure de lire de telles licences, touffues, jargonneuses, écrites à la loupe, et pour un peu à l’encre sympathique ?
Samedi 4 avril, "la foule des fanas de l’informatique rassemblés dans le gymnase Korey de l’université de San Francisco offrait un contraste saisissant avec le contingent de nageurs, basketeurs et leveurs de poids qui fréquentent habituellement ce gymnase" (N.Y. Times). Le fameux rassemblement-éclair qui devait relier des centaines d’ordinateurs personnels ou portables pour constituer un superordinateur, a enfin eu lieu avec plus de 600 participants. Mais l’expérience n’a pas été à la hauteur des attentes.
Selon l’article de John Markoff dans le New York Times du 5 avril, "malgré une préparation méticuleuse et deux générateurs portables délivrant 225 kilowatts, les organisateurs n’ont pu obtenir qu’un résultat partiel - 180 milliards d’opérations mathématiques à la seconde - pour résoudre une série complexe d’équations algébriques."
Pour rappel, le but de l’opération était de dépasser les 500 milliards d’opérations par seconde afin de se placer dans le Top 500 des superordinateurs, relevant ainsi le défi, pour une association de personnes, de faire aussi bien, sinon mieux, que les superordinateurs montés par l’armée ou par des grandes compagnies.
J’ai demandé encore l’avis de Yves, mon super spiperman. Il ne peut faire que des supputations à partir des informations assez lacunaires que les participants ont dispersé sur le forum du site de flashmobcomputing ; il semblerait qu’en retirant les 8% de machines trop faibles qui ralentissaient le réseau, la puissance de calcul aurait pu être multipliée par 3. Mais le réseau n’était pas conçu pour être reconfigurable au pied levé. C’est ce que semble confirmer Zac dans le forum : "We didn’t have enough computers to make the top 500, or so goes my understanding, but we proved the concept. I think it would be great for this to happen again and I know things will be a lot better written. It SHOULD be flexible so that if one node fails the whole thing doesn’t go down."
Le problème de ce réseau parallèle, c’est que les maillons faibles handicapent l’ensemble du réseau. C’est ce que rapporte Christopher M. Paul dans le forum : "The same is true in parallel computing if one node dies they all fail, also as a result you can only process infomation as fast as the slowest node so if someone brought in a 500 MHz laptop and pluged it in for example the whole flash mob would only be able to process at 500 MHz and not 1300 MHz." Il suggère pour finir, que l’on exige des participants des processeurs plus puissants.
Dans ces conditions on assisterait à la construction d’une société qui exclut les maillons faibles et les amateurs de low-tech. Un réseau mieux conçu (sur le modèle des réseaux distribués plutôt que parallèles) permettrait par contre d’accueillir la participation des petits et gros processeurs en tirant profit de l’apport de chacun.