Aidez la science avec Folding@Home

Formation

En Semi-présenciel Paris

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En semi-présentiel

  • Lieu

    Paris

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Les sites et dates disponibles

Lieu

Date de début

Paris ((75) Paris)
Voir plan
7 Cité Paradis, 75010

Date de début

Consulter

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

Bonjour à tous.

Une fois n'est pas coutume, ce tutoriel ne sera pas véritablement consacré à l'informatique. Ce que je vous propose, c'est d'aider la science en utilisant la puissance inutilisée de votre processeur. Je vais d'abord vous présenter le projet (ressortez vos cahiers de sciences nat' ^^ ), puis je vous montrerai le logiciel à installer. Je vous demande également de lire l'annexe, il y a des choses importantes en ce qui concerne le côté sans danger...

Attention, le contenu de ce tuto n'est désormais plus à jour. La version 7 de Folding@Home rend inutiles tous les réglages que j'explique en long, en large et en travers dans les sept dernières sous-parties...

J'en suis désolé, et j'espère que vous saurez vous débrouiller pour installer et utiliser le logiciel tous seuls.

Si vous êtes intéressés pour reprendre ce tutoriel, envoyez-moi un MP, je ne peux plus m'en occuper.

De quoi s'agit-il ?

Le projet Folding at Home est un projet qui utilise la technique de la distribution de données. Il est mené par une équipe de l'université de Stanford (Californie), le Pande group, dont l'objectif est de comprendre le repliement des protéines.

Le site officiel du projet

De nombreux résultats ont d'ores et déja été publiés grâce à ce projet, leur liste est disponible ici, en anglais.

La distribution de données

C'est une technique qui permet d'utiliser plusieurs processeurs afin de réaliser plusieurs calculs simultanément. C'est donc une méthode de calcul en parallèle.

Un des projets de distribution de données les plus connus a été Seti@home. Le Seti est un organisme américain qui écoute les ondes électromagnétiques issues de l'espace, dans l'espoir d'y déceler une trace d'une vie extraterrestre (souvenez-vous d'une pub pour une boisson gazeuse à l'orange... HELLOOOOOO ! :lol: ). Vous avez tous en tête ces grandes antennes dans le désert du Nevada, non ?

Devant la montagne de giga-octets de données à traiter, un logiciel a été conçu, que tout geek qui se respecte a téléchargé sur son ordinateur. Ce programme télécharge un peu de données à partir du serveur du Seti, les analyse en utilisant la puissance inutilisée du processeur (ainsi il ne gène pas l'utilisation normale de l'ordinateur), puis renvoie les données traitées au Seti, qui en déduit que, non, finalement, ce n'est pas aujourd'hui qu'on découvrira des extraterrestres... ;)

D'autres projets existent aussi, en particulier BOINC, qui regroupe au sein d'un même logiciel de nombreux projets de calcul distribué.

Je ne parlerai que de Folding@Home dans ce tuto, car je n'ai pas envie de tester TOUS les clients de calcul distribué qui existent... Vous restez malgré tout libres de créer un tutoriel si le coeur vous en dit !

Tous fonctionnent selon le même principe, mais pour cela, une capture d'écran s'impose. Voici, au moment où j'écris ces lignes, la charge de mon processeur (notez que je tourne sous Windows, mais ce logiciel existe aussi sous linux, sous Mac et même sous PS3 !) :

Eh oui, sur mon Athlon64 X2 4000+, double coeur à 2,1 GHz, tout neuf, plus des trois quarts de mon processeur sont inutilisés !

D'où l'idée de rentabiliser tout ça... Voici la même machine, 2 minutes plus tard. Je me suis contenté de lancer Folding@Home :

Et pourtant, je peux TOUT faire normalement, sans aucun ralentissement de ma machine. Je surfe sur internet, je peux jouer à des jeux vidéos ; actuellement, je suis en train d'installer la nouvelle version de mon antivirus, de taper ce tuto, et Windows Update tourne en tâche de fond (véridique ! ) !!!

Heu... o_O ? Avec ton processeur chargé à bloc, tu n'as aucun ralentissement ?

Eh non ! Car toute l'astuce réside dans le fait que les programmes utilisant la distribution de données s'exécutent avec la priorité la plus basse ! Ils n'utilisent vraiment que les miettes que leurs laissent les autres logiciels. On ne s'en rend même pas compte !

Évidemment, plus je vais utiliser mon processeur (je vous parlai des jeux tout à l'heure...), moins il va en rester pour ces logiciels, et les calculs seront moins rapides. Mais c'est mieux que rien, et puis, je vous l'ai dit, on ne sent rien ! Dans certaines entreprises, les ingénieurs réseaux ont installé sur tous les postes des logiciels de calcul distribué (sans forcément en avoir averti leur direction...). Les employés ne se doutent de rien !

À ce propos, sachez qu'il n'est pas nécessaire que votre ordinateur soit allumé 24/7 ! Évidemment, passer son temps à arrêter et relancer le logiciel n'est pas très efficace, mais si vous avez votre ordinateur allumé plusieurs heures d'affilée, votre contribution au projet sera utile malgré tout !

Notez également que Folding@Home est compatible avec la veille et la veille prolongée (sous Windows, en tout cas). Évidemment, aucun calcul ne sera effectué dans ces conditions, mais le logiciel ne plantera pas.

Enfin, il n'est pas nécessaire d'avoir un processeur surpuissant pour aider la science ! Les calculs s'effectueront évidemment plus lentement, mais c'est bien aussi ! Bon, ne vous pointez tout de même pas avec votre vieux P1 à 200 MHz sous Windows 95, parce que là, vous en aurez des ralentissements ! (Ah bon, vous en avez déjà ? ^^ )

Ici, je vous l'ai dit, il ne s'agit pas de chercher des petits hommes verts, mais de plier des protéines (ce qui à mon avis est plus utile, mais je ne rentrerai pas dans la polémique. ;) ).

Le repliement des protéines

Dans les organismes vivants, les protéines sont à la base de tout. Pour faire une comparaison, c'est comme les programmes pour un ordinateur. Dans un ordinateur, tout est programme (vous n'avez qu'à voir le nombre de processus dans mes captures d'écran...). Ces programmes communiquent entre eux, certains lancent d'autres programmes, les contrôlent, les stoppent ; d'autres interagissent avec l'extérieur, etc.

Nous ne sommes qu'un tas de protéines !

Pour rappel (je vous avais prévenus, sortez vos cahiers de biologie, interrogation écrite à la fin du tutoriel ! :D ), les protéines sont synthétisées grâce à l'ADN (entre autres). Tout juste synthétisées, les protéines ressemblent à une chaînette d'acides aminés. La protéine est donc linéaire, mais très rapidement, elle se recroqueville selon un processus mystérieux, pour prendre une forme particulière qui dépend de cette protéine. Une fois pliée (fold en anglais), elle acquiert sa fonctionnalité (comme quand on compile un programme).

Le pliage se produit parce que chaque acide aminé va pouvoir attirer ou au contraire repousser ses voisins, de la même manière qu'un aimant va attirer ou repousser un autre aimant, en fonction de leur polarité. Il ne s'agit pas de calculs très complexes, mais plutôt très nombreux. Il n'est pas rare d'avoir des protéines de plusieurs dizaines de milliers d'acides aminés, ce qui devient très long à simuler sur un ordinateur. Il faut environ 1 jour pour simuler 1 nanoseconde... Une protéine se plie en une dizaine de microsecondes... Et il y a plein de protéines différentes...

Mais à quoi ça sert de simuler ce pliage ? Il suffirait de regarder avec un microscope quelle forme a la protéine, non ?

Oui, bien sûr, sauf qu'on utiliserait une technique de diffraction aux rayons X au lieu d'un microscope, ou encore une technique de Résonnance Magnétique Nucléaire. Ce sont des techniques très lourdes, nécessitant des appareils très coûteux et très volumineux, pesant plusieurs tonnes et remplissant une pièce. De plus, les calculs nécessaires sont très nombreux et très complexes. En bref, ce sont des méthodes réservées à la recherche...

Eh non, tous les Zéros ne font pas des études d'informatique... Votre serviteur passe le plus clair de son temps dans une faculté de santé... La biologie est un domaine passionnant : si ça vous intéresse, il est encore temps de vous réorienter !

Mais surtout, ce qui nous intéresse, c'est la phase de pliage. Il serait très pratique de pouvoir déduire la forme (et donc la fonction) d'une protéine simplement à partir de sa structure linéaire.
De plus, parfois, on ne sait pas encore pourquoi, certaines protéines se plient mal. Elles obtiennent alors une fonctionnalité différente de leur fonctionnalité initiale (comme une mutation), et ce phénomène est responsable de maladies telles que la maladie de la vache folle. On pense aussi que la maladie d'Alzheimer, de Parkinson, ou encore certains cancers, sont dus à ce phénomène. Le but de Folding@Home est de comprendre tout ça, et cela passe par une intense phase de simulation, à laquelle je vous propose de participer.

Il est donc vital pour des millions de gens qui souffrent, ou qui souffriront de ces maladies, que le mystère du repliement des protéines soit résolu le plus rapidement possible.

C'est pour ça, très chers Zéros, que toute la communauté scientifique a besoin de vous !

Pour en savoir plus...
Remarquez que le site français est un peu obsolète... Les cours de biologie sont corrects, mais la page de téléchargement n'est pas toujours à jour. Il vaut mieux passer par le site officiel en anglais.

Les logicielsLe principe

Dans l'université de Stanford, il y a des serveurs qui contiennent les données initiales des molécules à calculer. L'internaute doit installer un logiciel client sur son ordinateur ou sa PlayStation 3. Ce logiciel client va télécharger une unité de travail à partir du serveur. Cela prend deux minutes grand maximum... Puis il se met au boulot ! Le client va calculer le repliement de la protéine qui lui a été confiée. Cela peut prendre plus de 2 jours, voire une semaine ! Imaginez qu'avec votre processeur qui tourne à fond pendant deux jours, vous ne pouvez simuler qu'une nanoseconde du repliement d'une protéine ! Vous comprenez maintenant pourquoi les chercheurs ont fait appel aux internautes...

Une fois son unité de travail terminée, le client la renvoie au serveur qui lui en confie une autre, etc.

Une unité de travail, c'est un morceau de protéine à un moment précis. Par exemple, votre ordinateur va calculer ce qui se passe entre la 54e et la 55e nanoseconde, pour la protéine X. Vous aurez donc, parfois, l'impression que votre ordinateur calcule plusieurs fois la même protéine, mais il n'en est rien.

Chaque unité de travail porte un identifiant du type Project: 2420 (Run 3, Clone 53, Gen 8). Le projet, c'est le sujet d'étude d'une équipe de chercheurs : il s'agit le plus souvent du repliement d'une protéine en particulier. Ce projet est découpé en plusieurs parties (Run), elles-mêmes divisées en sous-parties (Clone), selon un schéma voulu par les scientifiques. Quant à Gen, cela représente le temps. La première unité de travail d'une sous-partie sera Gen 1, quand elle aura été calculée et renvoyée au serveur, celui-ci créera la Gen 2 et l'attribuera au prochain client qui passe par là, etc.

Le serveur a besoin d'une unité de travail pour générer la suivante, il est donc nécessaire que le client la renvoie dans un délai raisonnable. Les unités de travail possèdent donc une deadline. Il s'agit d'une date avant laquelle l'unité de travail doit être renvoyée au serveur. S'il ne l'a pas reçue à cette date, il la réattribuera à un autre client. Imaginez par exemple que vous ayez formaté votre disque dur alors que votre client était au beau milieu de son unité de travail, le serveur attendrait indéfiniment, pour rien... Si votre ordinateur est trop lent, ou pas assez souvent allumé, il est possible que vous dépassiez la deadline... Dans ce cas, quand votre client enverra son travail au serveur, vous ne gagnerez aucun point.

On peut configurer son client avec un pseudo et une équipe. Pour chaque unité de travail terminée, le serveur va donner à ce pseudo un certain nombre de points (en fonction de la taille du calcul qui a été confié au client). Il y a aussi la possibilité de former des équipes, afin de renforcer l'esprit communautaire. On peut également, sans aucun problème, installer plusieurs clients, un sur chaque ordinateur que l'on possède, et les configurer avec le même pseudo et la même team, ce qui a pour effet de multiplier la vitesse à laquelle on gagne des points !

Une version actualisée
en temps réel
est disponible ici :
kakaostatsLa team du Site du Zéro est la n°53653, nous étions 5 dessus quand j'ai commencé à rédiger ce tuto (note : en Juillet 2007) ! Cette team a été créée par rapha222 en mars 2007. Merci à lui ! N'oubliez pas de mentionner ce numéro dans votre client ! Et vive le SDZ !
La page de stats de la team est ici : http://fah-web.stanford.edu/cgi-bin/ma [...] teamnum=53653 .
De nombreux sites tiennent à jour des statistiques plus détaillés. En particulier, le site kakaostats.com.
Après un pic à plus de 244 utilisateurs en août 2008, l'équipe rassemble aujourd'hui 173 processeurs (le 26 février 2009). Ca monte et ça descend...

Il y a donc un classement des internautes, et un autre des équipes.

ATTENTION : Ce n'est pas un jeu !

Folding@Home est un projet très sérieux, je vous ai expliqué plus haut que son but final est de sauver des vies ! Il ne s'agit donc pas d'une compétition contre les autres membres, où le but serait d'engranger le plus de points possible, mais plutôt d'une course contre la montre, afin que l'on puisse le plus rapidement possible trouver des remèdes contres ces terribles maladies dont vous serez, malheureusement, nombreux à mourir...

C'est pour cela que les membres du Pande Group ont décidé de ne pas rendre publiques les sources de leur logiciel. Folding@Home n'est pas un projet libre, tout simplement parce que s'il l'était, n'importe qui pourrait truquer son client, renvoyer au serveur de fausses molécules, dans le seul but d'avoir beaucoup de points... Il est hors de question de détruire un projet scientifique d'envergure internationale, simplement pour le "plaisir" d'être classé TOP 10 !

Les données sont cryptées quand elles transitent sur Internet, justement pour éviter que des petits malins n'injectent de faux résultats dans le système. N'oubliez pas que le but n'est pas d'optimiser le code dans le but de gagner quelques FPS, mais au contraire d'assurer l'intégrité scientifique des calculs. De plus, sans vouloir vous vexer, à l'université de Stanford il y a des informaticiens chevronnés, ce ne sont pas les petits jeunes du SDZ qui vont leur dire où sont leurs bugs ;) !

Rendre le projet open source n'apporterait aucun bénéfice. De plus, le Pande Group a décliné ses clients sous plusieurs plateformes ! Il n'est donc pas nécessaire de recompiler le programme pour l'exécuter sur votre vieille station BSD, ou sous votre Linux favori !

Enfin, tous les résultats des calculs seront mis dans le domaine public, et seront donc accessibles gratuitement par tous les scientifiques qui en auraient besoin, quelle que soit leur nationalité. Ce n'est que de la science, pas du commerce !

On peux noter également que certaines parties du code, notamment les core, sont pour la plupart open-source...
En savoir plus

Mais assez discuté : voyons maintenant les différents logiciels disponibles au téléchargement.

Les clients

Rendez-vous ici, sur la page d'accueil. Sur cette page se trouve un lien vers la version la plus à jour, ainsi que des liens vers les versions beta, et un autre vers les vieilles versions.

A partir de ce point, mon tutoriel n'est plus à jour ; j'en suis désolé.
La version 7 de Folding@Home est sortie, et semble rendre inutile toute la suite de ce long...

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Aidez la science avec Folding@Home

Prix sur demande