# SETI@home

SETI@home (abréviation de SETI at home, pouvant se traduire par SETI à la maison) est un projet de calcul distribué utilisant des ordinateurs branchés sur Internet. Il est hébergé par le Space Sciences Laboratory de l'université de Californie à Berkeley et est accessible au public depuis le 17 mai 1999$^,$$^,$.

## Recherche scientifique

Il y avait deux objectifs originaux à SETI@home. Le premier était de prouver la fonctionnalité et la viabilité du calcul distribué. Le deuxième était de faire du travail scientifique en supportant une analyse observationnelle cherchant à détecter de la vie intelligente non terrestre.
Le premier but est généralement considéré comme complètement atteint. La plate-forme BOINC, un développement du SETI@home original, supporte plusieurs projets de calcul distribué dans un vaste éventail de disciplines.
Le deuxième but est, jusqu'ici, un échec. Aucune preuve de signal radio extraterrestre n'a été trouvée par SETI@home. Cependant, une absence de preuve n'étant pas une preuve d'absence, le projet se poursuit.
SETI@home effectue la recherche de transmission radio extraterrestre à partir des observations faites par le radiotélescope d'Arecibo, Puerto Rico. Les données sont prises « passivement » pendant que le télescope est utilisé pour d'autres projets scientifiques. Elles sont numérisées, emmagasinées et expédiées aux installations de SETI@home en Californie. Par la suite, elles sont divisées en petites unités de fréquence et temps qui sont analysées à l'aide d'un logiciel afin d'y déceler un signal, c'est-à-dire une variation qui se distingue du bruit cosmique et qui contient de l'information.
Le point crucial de SETI@home est que les millions d'unités produites sont envoyées à des ordinateurs personnels qui utilisent le logiciel et qui, une fois l'analyse terminée, retournent les résultats à la source. Ainsi, une analyse de données nécessitant un temps de calcul faramineux pour un seul ordinateur devient faisable par la « distribution » de la tâche à une grande communauté d'internautes.
Le logiciel recherche quatre types de signaux qui pourraient se distinguer du bruit cosmique :
* Des pics dans la densité spectrale de puissance ;
* Des montées et descentes de forme gaussienne dans la puissance de transmission, qui pourraient représenter le passage du lobe principal du radiotélescope sur une source radio ;
* Des triplets (trois pics de puissance dans un rang) ;
* Un signal pulsé, c'est-à-dire un signal non pas émis en continu mais sous la forme d'une série d'impulsions.
Un signal radio extraterrestre peut être affecté de bien des manières par le milieu interstellaire et par le mouvement de la source par rapport à la Terre. Le signal potentiel est donc traité de plusieurs façons (bien que toutes les méthodes de détection ne soient pas exploitées) afin d'avoir les meilleures chances possibles de le distinguer du bruit cosmique ambiant. Un signal radio extraterrestre intelligent provenant d'une autre planète ayant une vitesse et une accélération différente de la Terre subira une variation de fréquence en fonction du temps. Le logiciel SETI@home recherche également ces variations.
Le logiciel fonctionne un peu comme lorsque l'on tourne le bouton de fréquence d'un poste de radio pour capter différents canaux. Si le signal augmente, cela attire l'attention. De manière plus technique, le logiciel implique quantité d'analyses numériques, principalement via des transformées de Fourier discrètes avec des chirps de périodes et durées différentes.

### Résultats

Bien que le projet n'ait détecté aucun signal d'une intelligence extraterrestre, il a identifié plusieurs candidats à certains endroits dans le ciel où des pics d'intensité sont difficilement attribuables à du bruit cosmique. Ces positions ont été notées pour analyses ultérieures. À ce jour, le principal candidat nommé SHGb02+14a fut annoncé le 1er septembre 2004, mais le signal, bien qu'énigmatique, n'était pas d'origine extraterrestre.
L'astronome Seth Shostak a affirmé, en se fondant sur l'équation de Drake, qu'il s'attend à obtenir un signal concluant entre 2020 et 2025. Ceci signifierait que, malgré l'insuccès du projet durant près de dix ans, un effort prolongé pourrait être fructueux.
Bien que le projet n'ait pas atteint le but de trouver une intelligence extraterrestre, il a prouvé à la communauté scientifique que les projets de calcul distribué, utilisant des ordinateurs personnels connectés à l'Internet, sont des outils d'analyse considérables qui peuvent rivaliser avec les plus puissants superordinateurs$^,$.

## Technologie

N'importe qui possédant un ordinateur ayant un accès à l'Internet peut participer à SETI@home en exécutant un programme gratuit qui télécharge et analyse les données d'un radiotélescope.
Les données sont enregistrées sur des bandes magnétiques de 36 Go à l'Observatoire d'Arecibo, Puerto Rico. Chacun des disques possède 15,5 heures d'observations qui sont par la suite envoyées à Berkeley. Arecibo n'ayant pas de connexion Internet à large bande passante, les données doivent être envoyées par la poste.
Une fois à Berkeley, les données sont divisées en unités de temps et de fréquence de 107 secondes (approximativement 0,35 Mo). Ces « unités de travail » (work units) sont alors envoyées partout dans le monde, via l'Internet et à partir du serveur de SETI@home, afin d'être analysées.
Le logiciel d'analyse peut rechercher des signaux ayant le dixième de la force de ceux qui pouvaient être détectés lors d'autres recensements. Ceci s'explique par l'utilisation d'un algorithme informatique puissant nommé coherent integration (que l'on pourrait traduire par intégration cohérente) qui demande une puissance de calcul que nul autre projet SETI n'aurait.
Les unités de travail analysées sont normalement renvoyées automatiquement à Berkeley. Elles y sont stockées dans une banque de données par des ordinateurs dédiés au projet. Les interférences sont éliminées et une panoplie d'algorithmes est utilisée afin de chercher les signaux les plus intéressants.

### Logiciel

Le logiciel de calcul distribué SETI@home fonctionne soit sous forme d'écran de veille, soit de manière continue pendant que l'utilisateur travaille, utilisant une certaine puissance du processeur qui ne serait pas utilisée autrement.
La plate-forme initiale supportant le logiciel, nommée désormais « SETI@home classique » (SETI@home classic), fut utilisée du 17 mai 1999 au 15 décembre 2005. Elle ne pouvait faire fonctionner que le projet SETI@home. Elle a été remplacée par la plate-forme BOINC (BOINC, pouvant se traduire par « Infrastructure ouverte de Berkeley pour le calcul distribué ») qui permet aux utilisateurs d'analyser plus de types de signaux et de participer à d'autres projets de calcul distribué en même temps que celui de SETI@home.
L'arrêt du SETI@home classique dit « Classic » a empêché les ordinateurs Macintosh utilisant des systèmes d'exploitation pré-OS X de pouvoir participer au projet.
BOINC se compose du client (BOINC client) qui effectue les calculs et du gestionnaire (BOINC manager) qui est l'interface graphique permettant de paramétrer le comportement du client. Les deux sont habituellement installés en même temps mais cette structure donne la possibilité d'installer un ou plusieurs clients sur des machines dédiées, toutes contrôlées à distance par un seul gestionnaire.
Le 3 mai 2006, de nouvelles unités de travail pour une nouvelle version de SETI@home, appelée « SETI@home Avancé » (SETI@home Enhanced), ont été distribuées. Ainsi, les ordinateurs fournissent la puissance pour un travail beaucoup plus intensif qu'à l'origine du projet. Cette nouvelle version est deux fois plus sensible aux signaux gaussiens ainsi qu'à certains types de signaux modulés que la version Classic du logiciel. Elle a été optimisée au point qu'elle analyse plus rapidement que les versions précédentes certaines unités de travail. Cependant, d'autres unités de travail (les meilleures, scientifiquement parlant) vont demander un temps d'analyse plus long.
Certaines applications optionnelles de SETI@home, optimisées pour des types particuliers de processeurs, furent accessibles. On y réfère comme étant les « exécutables optimisés » (optimized executables).
SETI@home a également été utilisé comme outil pour effectuer des tests de performance sur des stations de travail. Plus précisément comme test en stress en utilisant le processeur à puissance maximale pendant une période soutenue. Cela est particulièrement utile pour l'overclocking.
Au 3 octobre 2017 la version stable du logiciel est la 7.8.3. Il peut être installé sur Android, Linux, Mac OS, Raspberry Pi, Windows et prend en charge les calculs par cartes graphiques Nvidia, Intel et AMD.

## Statistiques

Statistiques disponibles au 27 mars 2018, depuis août 2004$^,$$^,$.

### Statistiques globales de BOINC

* Nombre de projets : 37 recensés
* Utilisateurs enregistrés : 4 571 391
* Utilisateurs actifs : 171 809 (3,76 %)
* Ordinateurs total : 1 101 777
* Ordinateurs actifs : 847 552 (76,93 %)
* Opérations par seconde : environ 23 217 téraFLOPS

### Statistique du projet SETI@home

* Utilisateurs enregistrés : 1 725 858
* Utilisateurs actifs : 100 268 (5,81 %)
* Ordinateurs total : 189 173
* Ordinateurs actifs : 166 480 (88 %)
* Opérations par seconde : environ 894 téraFLOPS
À titre de comparaison, la puissance de calcul développée par SETI@home serait l'équivalent du 229e superordinateur le plus puissant du monde en 2017. Depuis le 17 mai 1999, le projet a accumulé plus de deux millions d'années de temps d'analyse d'ordinateur (en 2012).

## Évolutions
### Mises à jour de l'Observatoire d'Arecibo

En 2007, le radiotélescope fut arrêté durant plusieurs semaines. Le but était de remplacer les anciennes couches de peinture au plomb qui le recouvrait par une nouvelle couche permettant une meilleure protection contre la corrosion et l'humidité. De nouveaux récepteurs beaucoup plus sensibles, générant 500 fois plus de données sont aussi installés, ce qui incite le projet à appeler plus de volontaires pour les traiter.

### Observatoire de Parkes

Depuis les années 1990, l'Observatoire de Parkes en Australie a été utilisé à plusieurs reprises dans le cadre de projets SETI comme le Projet Phoenix ou le Southern SERENDIP de l'Université occidentale de Sydney. Le centre de la galaxie étant très peu visible depuis l'hémisphère nord ; observer le ciel austral augmente considérablement les chances de trouver un signal.
En 2015, les promoteurs de Breakthrough Initiatives annoncent que le radiotélescope de Parkes sera mis à contribution, ainsi que SETI@home dans le cadre du sous-projet Projet Breakthrough Listen, apportant de ce fait une quantité supplémentaire de données à analyser.

## Aspect compétitif

Les utilisateurs de SETI@home sont rapidement entrés en compétition les uns contre les autres pour déterminer qui analysera le plus d'unité de travail. Chaque unité de travail analysée est créditée et compilée statistiquement par le projet. Des équipes se sont formées pour combiner les efforts individuels. La compétition s'est poursuivie et s'est étendue avec l'avènement de BOINC.
Des tentatives de tricherie ont été faites pour obtenir le crédit d'analyses qui n'ont pas été effectuées. Pour contrer cela, toutes les unités de travail sont envoyées à plusieurs ordinateurs par SETI@home. On appelle cela la « réplication initiale » (initial replication). Au départ, on envoie les unités à 3 ordinateurs différents. L'unité de travail est créditée au moment où il y a au moins deux réplications qui ont été retournées et qui présentent des résultats cohérents entre eux. On appelle cela « quorum » (« minimum quorum »). Si à la suite d'erreurs de traitement informatique ou à une tricherie par soumission de fausses analyses, les résultats ne sont pas cohérents, des répliques supplémentaires sont envoyées jusqu'à ce que le quorum soit atteint. Le même crédit final est alors accordé à toutes les machines qui ont retourné le résultat correct. Puisque le crédit d'analyse varie parfois légèrement d'un ordinateur à l'autre (à cause de différences mineures entre les processeurs et d'autres facteurs), le crédit final accordé correspond au plus petit crédit réclamé.
Certains utilisateurs ont installé et fait fonctionner SETI@home sur des ordinateurs de leur milieu de travail. Cette action est nommée, en anglais, borging, d'après les Borgs, une race de créatures assimilatrices de l'univers de science-fiction Star Trek. Dans au moins un cas, ceci a mené au licenciement d'un employé.
D'autres utilisateurs ont accumulé de grandes quantités d'équipement à la maison pour créer des « fermes SETI » (SETI farms). Elles consistent normalement en une série d'ordinateurs empilés, sans moniteurs, et n'ayant qu'une carte mère, un processeur, de la mémoire vive et une alimentation électrique ainsi que jusqu'à quatre cartes graphiques PCIE par machine.
Accélération matérielle
Les utilisateurs de BOINC ont la possibilité d'accélérer par un facteur 10 à 20 la puissance des calculs SETI de leurs machines grâce à l'utilisation de l'accélération CUDA disponible sur les cartes graphiques de marque NVIDIA. En effet si les processeurs récents contiennent 2, 4 ou 6 cores, les GPU modernes présent sur les cartes graphiques en contiennent plusieurs centaines (336 cores sur une GTX460, 384 cores sur une GTX560 TI) ce qui explique leur puissance inégalée pour des calculs massivement parallèles.
Accélération logicielle
De plus les utilisateurs de BOINC peuvent aussi selon leur configuration hardware machine installer des librairies de calculs SETI très optimisés à la fois pour CPU et GPU permettant encore un gain supplémentaire important$^,$.
Un autre avantage de ces applications optimisés SETI non officielles est notamment la possibilité de faire tourner SETI sur des 'GPU ATI ce que ne permettait pas jusqu'à présent les applicatifs officiels de Berkeley. Ce type d'installation pour les GPUs ATI nécessite une procédure précise et minutieuse même si elle est relativement rapide à mettre en place. Toutes les explications sont en ligne sur le site des lunatics et un forum d'aide est disponible du côté de la plateforme applicative BOINC. Il est avisé avant d'installer ces applications optimisées de renvoyer toutes les unités déjà calculées vers Berkeley et de sauvegarder celles en attente pour éviter leur perte en cas de fausse manipulation.
Les GPUs GeForce des séries 6, 7, 8, 9, 1xx, 2xx, 3xx, 4xx et 5xx permettent l'utilisation de CUDA 4.0 à condition d'installer la dernière version des pilotes (supérieure à 270.xx) disponible sur le site de NVIDIA.
Accélération du calcul (x10 attendu) par tri des blocs
Lorsque les unités de calculs sont calculées à la fois sur GPU et CPU avec BOINC il est possible aussi de les trier afin d'accélérer encore la vitesse des calculs. Ce gain est obtenu en redirigeant toutes les unités de calculs VLAR et VHAR destinées aux GPU vers les CPU. Sur les blocs normaux les GPU vont jusqu'à 20 fois plus vite que sur les CPU. En revanche, pour ce type de bloc de calcul VHAR et surtout VLAR le rendement sur GPU chute dramatiquement, rendant sans intérêt leur exécution sur GPU car les CPU les traitent presque aussi rapidement. Même si la proportion d'unité VHAR/VLAR varie selon les moments et peut être ponctuellement faible, leur exécution sur les GPU est très pénalisante sauf si on procède à ce tri qui peut être automatisé par des logiciels adéquats.
Exemples de gain (CPU à 3 GHz avec 2 cores et GPU à 800 MHz GTX560TI avec 384 cores) :
* temps d'exécution d'une unité de calcul SETI non VHAR/VLAR sur GPU GTX560TI : 5 à 25 minutes ;
* temps d'exécution d'une unité de calcul SETI non VHAR/VLAR sur CPU à 3 GHz : 60 à 300 minutes.
Le temps d'exécution d'une unité de calcul SETI VHAR/VLAR sera sensiblement identique sur un CPU à 3 GHz et sur un GPU GTX560TI de référence. Mais durant le temps ou le calcul du bloc VHAR/VLAR redirigé se fera sur CPU, le GPU pourra traiter plusieurs dizaines de blocs de calculs non VHAR/VLAR d'où une accélération d'au moins x10 attendue.
GPU à architecture non FERMI : (GeForce de la série 6, 7, 8, 9, 1xx, 2xx, 3xx ; exemple GTX260)
Logiciel de tri d'unités de calculs SETI automatisé recommandé : ReSchedule 1.9.
Attention ce programme ne fonctionne pas avec les GPU FERMI, et son développement étant actuellement gelé ses éventuels bugs ne seront pas corrigés.
GPU à architecture FERMI : (GeForce de la série 4xx et 5xx ; exemple : GTX460) logiciel de tri d'unités de calculs SETI recommandé : boinc_rescheduler_2_7 utilisation manuelle : arrêt momentané des calculs SETI, puis lancement du tri des blocs.

## Menaces au projet

Comme pour tout projet à long terme, il y a plusieurs facteurs qui pourraient menacer la poursuite de SETI@home. Quelques-uns d'entre eux sont détaillés ci-après.
* Fermeture potentielle de l'observatoire d'Arecibo : En 2011, SETI@home obtient ses données brutes des installations du radiotélescope d'Arecibo qui est exploité par le National Astronomy and Ionosphere Center, administré par l'université Cornell. La baisse du budget d'opération de l'observatoire a créé un manque à gagner qui n'a pas été compensé par d'autres sources telles des donateurs privés, la NASA, d'autres institutions de recherche étrangères ou associations à but non lucratif. Ce manque tourne aux alentours de 2,5 millions de dollars américains. Sans les fonds nécessaires, la National Science Foundation avait clairement fait savoir que l'observatoire fermerait en 2011, ce qui aurait coupé la source des données de SETI@home.
* Projets alternatifs de calcul distribué : lorsque le projet fut lancé, il y avait peu d'autres projets de recherche auxquels il était possible de donner du temps d'ordinateur. Il existe aujourd'hui beaucoup d'autres projets similaires (surtout depuis le lancement de la plate-forme BOINC) avec lesquels SETI@home est en concurrence.
* Politiques plus sévères d'utilisation des ordinateurs des sociétés : en date du 16 octobre 2005, approximativement un tiers de l'analyse des unités de travail sur les versions pré-BOINC du logiciel étaient faites à partir d'ordinateurs situés au travail ou à l'école. Des politiques plus sévères concernant l'utilisation des ordinateurs professionnels (en dehors de la « maison ») pourraient donc nuire au projet. Dans au moins un cas, une personne fut renvoyée à la suite de l'installation et l'utilisation non autorisées de SETI@home sur des ordinateurs utilisés par l'État de l'Ohio.
* Fonds : en 2011, il n'y a pas de fonds gouvernementaux consacrés à la recherche SETI. Des dons privés, ainsi que l'aptitude du Berkeley Space Science Lab à fonctionner avec de petits budgets, ont permis à SETI@home de se poursuivre bien au-delà de la durée initiale prévue pour le projet. Il reste cependant en concurrence, pour l'obtention de fonds, avec d'autres projets SETI, ainsi qu'avec des projets de sciences spatiales.
* Piratage et fraudes : certains individus et compagnies ont fait des changements non officiels à la partie distribuée du logiciel pour tenter de produire des analyses plus rapidement. Ceci a compromis l'intégrité de l'ensemble des résultats. En conséquence, le logiciel a dû être mis à jour pour mieux détecter de tels changements. Bien que SETI@home ne soit pas à l'abri des analyses trafiquées, il se protège de ces dernières par l'analyse de la cohérence entre les résultats d'analyses d'une même unité de travail par plusieurs ordinateurs différents.

## Arrêt du projet

Le 2 mars 2020 et après 21 ans de service, les responsables du projet annoncent la fin de SETI@home. Les deux raisons invoquées sont que le projet « est à un point de rendement décroissant car il a analysé toutes les données qui sont nécessaires pour le moment » et que l'équipe veut prendre du temps pour effectuer l'analyse finale des résultats déjà obtenus afin d'en faire un article dans une revue scientifique$^,$.
L'annonce précise qu'à partir du 31 mars, les clients BOINC ne recevront plus aucune unité de travail de SETI@home, ce dernier « entrant en hibernation ». Le site web et le forum de discussion restent ouverts et les ressources de calcul distribué du projet peuvent être utilisées par d'autres projets de recherche scientifique.