Saviez-vous qu'il est possible d'aider la recherche médicale depuis chez vous, à l'aide d'un simple Raspberry Pi ?
Avec l'épidémie de coronavirus que nous traversons maintenant depuis de longues semaines, la recherche médicale est une fois de plus sous le feu des projecteurs. Inutile de dire que la découverte de traitements ou d'un vaccin contre le COVID-19 constitue le principal espoir pour s'extirper de cette crise, la sortie du confinement étant loin d'être un simple retour à la normale.
Il y a peu, nous vous avons invité à rejoindre l'équipe Clubic dans l'aventure Rosetta@Home et nous remercions chaudement les membres déjà actifs qui se sont ralliés au projet ainsi que ceux qui ont franchi le pas pour la première fois. Grâce à ce projet, nous contribuons à faire avancer la recherche grâce à la puissance de calcul inutilisée de nos machines, via la technique du calcul distribué.
Rosetta@Home fait partie, avec Folding@Home, des programmes qui ont décidé d'unir leurs forces contre le SARS-CoV-2. Sans entrer dans les détails scientifiques, ces deux projets s'intéressent aux protéines et à leur structure avec pour objectif d'aider à mieux comprendre certaines pathologies et concevoir des traitements.
Rosetta@Home supporte désormais les processeurs ARM
D'un point de vue technique, il existe quelques différences entre les deux projets. R @ h n'a pas recours à votre GPU, mais seulement au processeur. D'un autre côté, ce projet fonctionne désormais sur une grande variété d'appareils, y compris sur nos Raspberry Pi, mais aussi sur les NVIDIA Jetson Nano, Intel NUC, Microsoft Surface et ainsi de suite. Hormis cela, R @ h tourne également en passant via BOINC Manager, une interface claire et épurée permettant de gérer et d'adhérer à plusieurs projets simultanément.Les seuls prérequis sont finalement d'utiliser un système 64 bits et de disposer au minimum de 1 Go de RAM. Et comme nous avons une petite faiblesse pour la framboise, nous vous proposons ici de découvrir comment la mettre à contribution, avec pas moins de 3 méthodes différentes. Évidemment, nous vous indiquerons comment venir lutter contre le COVID-19 sous les couleurs de l'équipe Clubic.
Dans un premier temps nous regarderons comment participer via BOINC sous Ubuntu, une solution qui s'avère pertinente uniquement pour le Raspberry Pi 4, puis nous nous intéresserons ensuite au projet Fold For Covid.
Fold For Covid est un projet porté par Balena, à l'origine de la prise en charge de Rosetta@Home par les appareils ARM. Nous verrons comment rejoindre le projet très simplement à l'aide d'une image prête à l'emploi, mais aussi comment avoir un contrôle plus poussé via balenaCloud, un service gratuit (jusqu'à 10 appareils) que nous vous avons récemment présenté lors de notre tutoriel sur balenaSound
1. Rosetta@Home via BOINC sous Ubuntu (Pi 4)
Raspbian étant un système 32 bits, il n'est malheureusement pas recommandé de tenter d'y installer BOINC. Finalement, pour faire tourner BOINC sur la framboise, il vous faudra au minimum un Raspberry Pi 4 avec 2 Go de RAM, 4 Go étant préférable. Nous avons bien tenté de faire fonctionner Ubuntu sur un Pi 3 B +, mais celui-ci est bien trop gourmand pour ce modèle, l'environnement de bureau peine à se lancer. Nous n'avons cependant pas essayé avec Ubuntu Mate et d'autres distributions Linux (Manjaro, Debian, etc.) moins gourmandes qu'Ubuntu, n'hésitez donc pas à nous faire profiter de vos retours d'expérience.Le reste est similaire à ce que l'on retrouve sous Windows : lancez BOINC Manager, choisissez le projet Rosetta@Home et terminer la configuration en suivant les informations à l'écran. Un compte est nécessaire pour accéder au projet, si vous n'en avez pas déjà un, créez-le. Une fois terminé, une fenêtre web devrait se lancer pour compléter votre inscription au projet, c'est ici que vous pourrez rejoindre l'équipe Clubic, en recherchant via l'onglet « Communauté » ou en vous rendant directement sur la fiche de l'équipe.
2. Rosetta@Home via le projet Fold For Covid
La grande force du projet Fold For Covid réside dans le principe de fonctionnement de balenaOS qui repose sur l'utilisation de conteneurs Docker afin de déployer simplement des projets IoT. Il ne s'agit finalement de rien d'autre qu'un système Linux embarquant le strict nécessaire pour exécuter Docker, un logiciel libre de conteneurisation qui reçoit la faveur de bien des développeurs pour sa flexibilité.L'un des objectifs de Balena est de rendre ses solutions simples et rapides à exécuter, en d'autres mots accessibles à toutes et tous. C'est naturellement le cas du projet Fold For Covid puisqu'il suffit de récupérer une image correspondant à votre matériel pour ensuite la déployer et commencer le travail ! Tout est parfaitement expliqué sur le site web du projet, mais nous allons rapidement résumer les étapes histoire de le démontrer aux plus frileux.
Une large variété d'appareils est compatible ! Nous nous intéressons ici au Raspberry Pi 3 B puisque nous en avons deux à disposition, mais le projet est adapté à de nombreuses singleboards comme le Pi 4, la Coral Dev Board, la Nitrogen8M Mini, certaines SBC de chez Nvidia et ainsi de suite.
Si vous connectez votre Pi à un écran, vous apercevrez une interface qui reprend les grandes lignes de BOINC et fournissant l'essentiel des informations. Il est possible d'y naviguer à l'aide d'un clavier afin, par exemple, de suspendre les opérations, de les trier, voir vos statistiques, etc.
L'interface est également disponible via une adresse web, accessible dès lors que votre ordinateur et votre Pi sont connectés au même réseau. Suffit pour cela de taper foldforcovid.local dans la barre d'adresse afin de la retrouver. C'est également ici que vous pouvez rejoindre l'équipe Clubic.
Comment rejoindre l'équipe Clubic avec Fold For Covid ?
3. Fold For Covid avec BalenaCloud
Nous allons maintenant voir une alternative beaucoup plus complète pour déployer le projet sur nos appareils. Elle porte notamment l'intérêt de nous ouvrir l'accès à de plus amples paramétrages et d'autoriser le déploiement rapide de conteneurs sur un maximum de 10 appareils (avec l'accès gratuit).En outre, cela permet aussi d'installer le projet sur un appareil qui contient déjà une installation d'un service de Balena, ce qui est peut-être votre cas si vous avez suivi notre tutoriel pour transformer vos vielles enceintes en enceintes Bluetooth / AirPlay / Spotify Connect. L'installation de ces deux projets sur un seul et même appareil est pertinente selon votre utilisation de balenaSound : Fold For Covid nécessite l'intégralité des ressources matérielles de votre Pi, il sera donc nécessaire de suspendre ses opérations pour utiliser balenaSound.
La marche à suivre est similaire de celle que nous avons présentée avec balenaSound, pour cette raison nous n'allons pas détailler chaque étape, mais plutôt vous redirigez vers ce tutoriel. Pour résumer, il vous faut :
Maintenant que nous avons balenaOS sur notre Pi et un compte balenaCloud, il nous reste à déployer Fold For Covid depuis notre ordinateur à l'aide de balena CLI tools.
Une fois l'installation terminée, le projet devrait se lancer et donner du travail à votre Pi !
Pour ceux qui souhaitent tenter l'expérience en installant deux projets sur leur Pi, l'équipe de Balena explique en détail la méthode de fonctionnement dans un billet de blog. N'hésitez pas à nous faire savoir si cela fonctionne correctement !
Comment rejoindre l'équipe Clubic via balenaCloud ?
La méthode est similaire à celle déjà présentée plus haut. Sur le tableau de bord réunissant vos projets et appareils, rendez-vous dans la section environnement variables.Créez une variable nommée ACCOUNT_KEY et entrez votre clé de compte dans la case « Value ». C'est aussi simple que cela ! Votre Raspberry Pi fait désormais partie de la flotte d'appareils offrant généreusement leurs Cores à la science.
Remarques additionnelles
Les opérations confiées par Rosetta@Home sont la plupart du temps longues et complexes, celles qui vous seront attribuées dépendent donc de la puissance de votre matériel. À ce titre, il est possible que vous n'observiez pas votre Pi se mettre au travail immédiatement après l'avoir démarré.Si votre modèle dispose seulement de 1 Go de RAM (ce qui vaut donc pour le Pi 3 B + et pour le Pi 4 B 1 Go) l'interface boincui va certainement vous afficher ce message : “Rosetta needs 1716.61 MB RAM but only 966.82 MB is available for use”.
Cela ne veut pas pour autant dire que Rosetta@Home ne donnera pas de travail à votre Pi, juste qu'il va falloir se montrer patient en laissant votre machine allumée. Dans mon cas, mon Pi 3 B + a reçu des tâches environ 30 minutes après son démarrage. Par la suite, j'ai reçu trois autres tâches et depuis mon Pi ne s'est pas arrêté de travailler. Enfin, pensez à la chaleur générée par le Pi ! Un boitier bien aéré, une ventilation et/ou un dissipateur thermique ne seront pas un luxe.