Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Le « calcul distribué » consiste à répartir sur un grand nombre d'ordinateurs distincts le besoin en puissance de calcul d'un projet global. Ces petites entités de calcul, réparties, sont appelées « unité de travail ». Tous les travaux et tous les ordinateurs sont coordonnés, la progression du projet dépendant de l'état d'avancement de chacune des « unités de travail ».

Avec le « calcul distribué » il s'agit, chaque fois, d'exploiter les ressources réparties de plusieurs milliers ou millions d'ordinateurs au profit d'un seul projet, comme si celui-ci disposait, en puissance, de la somme de puissance de tous ces ordinateurs individuels.

Du point de vue technologique et informatique, le « calcul distribué » consiste à mettre en place un réseau de machines, chacune contenant un code exécutable, identique ou différent sur toutes les machines, mais contribuant à un projet unique final. La coordination et la distribution sont assurées par « le maître du projet », une application de type middleware tournant sur un ordinateur pilotant le réseau et la distribution des besoins.

On peut dire que le « calcul distribué » est la forme utile et légitime (avec un sentiment de beauté, hauteur et grandeur, comme dans le calcul du génome humain) des BotNets (la forme criminelle du « calcul distribué » où les « unités de travail » sont des « bots » « zombifiant » les ordinateurs coordonnés du réseau sous le contrôle d'une ou de plusieurs machines de « C&C - Command and Control »).

Projet global ou solutions techniques triviales :

Le « calcul distribué » est un terme appliqué à la coopération de ressources dans le but de résoudre un projet global.

  • Le terme de « calcul parallèle » est un terme de technologie (locale à un processeur ou à un ou des clusters de processeurs, qu'ils soient multicoeur ou non). Le « calcul parallèle » ignore totalement l'existence et encore moins la finalité d'un projet global. Il ne s'agit pas de distribuer la résolution d'un projet, mais d'une astuce de bas niveau.
  • Le « calcul distribué » ne peut, par nature, être circonscrit à une unité centrale qui est son exact opposé. Dans une unité centrale, on peut pratiquer :
    • Le multiprocessing (multitraitement), sur une unité centrale, est une technologie locale qui n'a rien à voir avec le « calcul distribué », même s'il s'agit d'une forme de distribution du calcul. Le multiprocessing consiste à utiliser deux ou plusieurs unités centrales au sein d'un même système informatique. Le terme fait également référence à la capacité d'un système à prendre en charge plusieurs processeurs ou à la capacité d'attribuer des tâches entre eux.
    • Le multithreading est la capacité d'une unité centrale (ou d'un seul cœur dans un processeur multicœur) d'exécuter simultanément plusieurs processus ou unités d'exécution, pris en charge par le système d'exploitation. C'est une technique par laquelle un seul jeu de code peut être utilisé par plusieurs processeurs à différentes étapes d'exécution. Dans une application multithread, les processus et les threads partagent les ressources d'un ou de plusieurs cœurs, y compris les unités de calcul, les caches de processeur et le tampon de traduction homologue (TLB).

    Alors que le multiprocessing (multitraitement) inclut plusieurs unités de traitement complètes dans un ou plusieurs cœurs, le multithreading vise à accroître l'utilisation d'un seul cœur en utilisant un parallélisme au niveau des threads (fils), ainsi qu'un parallélisme au niveau de l'instruction.

    Comme ces deux techniques sont complémentaires, elles sont parfois combinées dans des systèmes dotés de plusieurs processeurs multithreads et de processeurs dotés de plusieurs cœurs. Ainsi les processeurs i7 d'Intel sont à 4 cœurs pour 8 threads.

  • La répartition automatique vers des solveurs d'instructions en fonction de leur nature (telle instruction va au processeur central, telle instruction va au processeur graphique, etc.) est une forme de parallélisme trivial, de distribution en fonction des compétences microtechniques, mais ne cherche pas, non plus, à résoudre un projet global, au sens humain, dont cette répartition ne peut même pas avoir la sensation.

Calcul distribué imbécile et complicité de crime

Certains « projets », comme la recherche d'extra-terrestres, sont d'une imbécillité crasse. S'il y a des formes de vies extra-terrestres :

  • On s'en fout ! Il faudrait dépenser plusieurs fois, non pas toute l'énergie et les ressources de la Terre, ni même de notre soleil, ni même de plusieurs soleils, mais toute l'énergie et les ressources de plusieurs galaxies (une utopie) pour arriver à envoyer dans l'espace quelques humains (qui ?) dans une sonde. Avec beaucoup de chances, et alors que nous aurons totalement disparus depuis longtemps, y compris ceux dans la sonde
    • au bout de plusieurs milliards d'années de recherches
    • et au bout de plusieurs milliards d'années-lumière de distance
    La sonde trouvera, au mieux, si elle n'a pas explosé des milliards de fois contre des objets de l'espace, des traces d'un unicellulaire ou, au mieux, d'une amibe. Cette sonde, si elle a survécu (aucune chance), ne pourra plus le communiquer à personne. La race humaine, toutes les formes de vie et la Terre elle-même auront disparu.

Nous devrions nous occuper et dépenser le milliardième du coût de ces conneries à creuser des puits pour apporter de l'eau à tous ceux qui meurent de soif, à côté de nous, ici et maintenant. Nous pourrions les sauver tous. Ces BotNets à la Seti@Home sont des complices d'assassinats massifs en série qui me foutent totalement hors de moi.

Selon le Programme alimentaire mondial (WFP - World Food Programme), un enfant de moins de 5 ans meurt de faim toutes les 11 secondes soit près de 8000 par jour ! Données du 04.01.2019).




Certains projets scientifiques nécessitent de telles puissances de calcul qu'il faudrait plusieurs siècles aux ordinateurs actuels pour effectuer certains travaux. En mutualisant la puissance de calcul inutilisée des millions d'ordinateurs des particuliers, il est possible de créer de colossales machines virtuelles au service de l'humanité.

Je vous suggère d'offrir le temps pendant lequel votre ordinateur est en veille (ne fait rien) à des projets qui serviront l'humanité toute entière ! La notion de service à l'humanité couvre, dans mon esprit, des travaux de véritables recherches scientifiques, sur le génome humain, les maladies, la subsistance de l'humanité etc. ... et pas du tout les concentrés d'inutilités pompant l'argent qui sauverait des vies sur terre pour la recherche et l'interprétation de signaux extra-terrestres...

Ces projets collaboratifs créés des communautés. Les internautes mettent volontairement à la disposition d'un projet la puissance de calcul de leurs ordinateurs, lorsque ceux-ci ne font rien. Les projets sont découpés en petites tâches confiées à ces ordinateurs distribués et, chaque fois que l'ordinateur d'un internaute est au repos (état d'attente dit "Idle") il prend en charge une fraction de tâche d'un projet.

Si vous n'avez pas les moyens d'avoir des clusters comme ceux-là, et que votre besoin en puissance de calcul est phénoménale, faites appel au « calcul distribué ».


Calcul distribué - Cluster 1
Calcul distribué - Exemple de Cluster

Calcul distribué - Cluster 2
Calcul distribué - Exemple de Cluster
Calcul distribué - Cluster 3
Calcul distribué - Exemple de Cluster
Calcul distribué - Cluster 4
Calcul distribué - Exemple de Cluster




Ce site francophone liste un grand nombre de projets ayant besoin de puissance de calcul en « calcul distribué ».




Quelques réseaux de calcul distribué

  1. Seti@home - La vie intelligente extraterrestre
    Seti@home (Search for Extra-Terrestrial Intelligence) est probablement le plus connu et le plus médiatisé des projets en calcul distribué.

    Après quelques idées lancées depuis le début du 20ème siècle, les scientifiques privilégient, en 1959, la radio astronomie pour l'écoute des signaux et la recherche de signes de vie extraterrestre intelligente. De 1975 à 1980, la NASA subventionne des études préparatoires pour définir le projet qui sera connu sous le nom de SETI. Les sommes engagées sont modiques et démarrent à 280.000 US$/an pour atteindre 1.000.000 US$/an en 1980. Ce budget saute à 3.790.000 US$ en 1981. Il est stoppé en 1982 pour reprendre sur les mêmes bases en 1983 et atteindre 4.806.000 en 1988. A partir de 1989, la part du budget allouée à la Recherche et Développement est stoppée et seule subsiste la part opérationnelle (utilisation de l'Observatoire d'Arecibo et analyse du signal). Cette part opérationnelle qui est de 2.260.000 US$ en 1989, passe à plus de 12.000.000 US$ en 1991/1992/1993. Le Congrès stoppe les dépenses de « simples curiosités ». Le 12 octobre 1992 (500ème anniversaire du Columbus Day) la NASA restructure le projet qui prend le nom de HRMS (High Resolution Microwave Survey). Comme il renaît de ses cendres, il est appelé, par dérision, le "Projet Phoenix", nom qui lui est resté.

    Seti@home débute officiellement le 17 mai 1999. Plus de 3 millions d'internautes laissent leurs ordinateurs allumés afin qu'ils reçoivent des requêtes du projet Set@home et travaillent sur l'analyse des signaux recueillis par le radiotélescope d'Arecibo dans l'espoir de découvrir d'éventuels signaux extraterrestres. Le radio télescope d'Arecibo à Puerto Rico balaye le ciel en permanence. Chaque jour, c'est 35 gigas octets d'ondes radioélectriques qui sont captées. On tronçonne tout cela en petits bouts de 0,35 mégas octets. C'est cela que l'on soumet à l'analyse en calcul distribué. Cela s'appelle une "unité de travail".

    L'argent foutu en l'air, dans les étoiles

    Lorsque l'on pense au nombre de puits que l'on pourrait creuser, avec l'argent foutu en l'air (sans jeu de mots, au sens propre et au sens figuré) de Seti, pour apporter de l'eau à ceux qui meurent chaque jour de soif, sur terre...


    Seti@home sur Boinc
    Seti@home - Site officiel
    Searching for Good Science: the Cancellation of NASA's SETI Program
    Calcul distribué: le projet Seti@home menacé par une faille de sécurité

    Calcul distribué - Seti@home
    Calcul distribué - Seti@home


  2. Folding@home - Repliement du protéome humain
    Folding@home est un autre projet connu et partagé par une vaste communauté. Comprendre le pliage des protéines, leur assemblage et les maladies qui y sont liées. Les protéines sont indispensables aux êtres vivants. Presque tout, dans le corps humain, met en jeu ou est constitué de protéines. Les protéines sont de grosses molécules constituées de longues chaînes de molécules plus petites, appelées acides aminés. S'il existe seulement 20 acides aminés différents dans toutes les protéines, une seule protéine peut parfois être constituée de plusieurs centaines d'entre eux.
    Folding@Home - Site officiel

    Calcul distribué - Folding@home
    Calcul distribué - Folding@home


  3. Fightaids@home - Travail sur le virus du Sida
    Le projet FightAIDS@Home cherche un moyen d'éradiquer le VIH. Démarré en 2002, ce projet s'appuyant sur le « calcul distribué » a rejoint le « World Community Grid » le 21 novembre 2005 et utilise la plateforme de calcul distribué BOINC.
    Site officiel de FightAIDS@Home (anglais)
    Site officiel du World Community Grid (français)


    Calcul distribué - FightAids@home
    Calcul distribué - FightAids@home

    Calcul distribué - FightAids@home
    Calcul distribué - FightAids@home


  4. Décrypthon - Association Française contre les Myopathies
    Initié par l'AFM (Association Française contre les Myopathies) dans le cadre du Téléthon 2001, Décrypthon a été rendu possible par la contribution de plus de 75 000 volontaires qui ont prêté bénévolement la puissance de calcul de leurs PC. Grâce à cette mobilisation sans précédent en France, les calculs (comparaison de 559275 séquences protéiques, au moyen de l'algorithme d'alignement local de Smith-Waterman) ont pu être effectués en moins de deux mois.
    Decrypthon


    Calcul distribué - Décrypthon
    Calcul distribué - Décrypthon

    Calcul distribué - Décrypthon
    Calcul distribué - Décrypthon