Calcul parallèle et distribué avec les clusters Raspberry Pi


  • Français


  • Depuis le lancement du Raspberry Pi, les créateurs ont basé d’innombrables projets d’enseignement de l’informatique sur l’humble système de poche sur puce. Ceux-ci ont inclus de nombreux projets explorant des clusters Raspberry Pi à faible coût pour introduire des concepts de calcul parallèle et distribué (PDC).

    L’Open University (OU) du Royaume-Uni propose un enseignement à distance à des étudiants d’âges, d’expériences et d’horizons divers, ce qui soulève des problèmes qui ne sont pas rencontrés dans les universités plus traditionnelles. L’expérience OU utilisant des clusters Raspberry Pi pour introduire les concepts PDC aux étudiants à distance a commencé en 2019 et a été présentée dans un document académique mais mérite d’être connu plus largement.

    Le projet utilise des clusters Raspberry Pi basés sur le Instructions OctaPi, publié sous licence Creative Commons par GCHQ. Huit Raspberry Pi sont connectés dans un réseau privé à l’aide d’un routeur et d’un commutateur. L’un des Raspberry Pis agit en tant que pilote, tandis que les autres sont des serveurs fournissant des résultats au périphérique principal. Les programmes écrits en Python s’exécutent sur le Pi principal, et le dispy package distribue les activités entre les cœurs du cluster.

    Trois programmes ont été développés pour les clusters, vous pouvez les télécharger sur le Référentiel Git.

    Deux des programmes sont basés sur du texte et liés à des problèmes de recherche : le voyageur de commerce et le hachage de mot de passe. En tant que problèmes de recherche complets, ils sont idéaux pour enseigner les concepts PDC. Le troisième programme est graphique. Le combinateur d’images prend trois images en entrée, avec des obstructions qui ne se chevauchent pas. Il construit une image sans aucune obstruction en comparant les valeurs RGBA pixel par pixel sur les trois images et en sélectionnant la médiane.

    Utilisation du cluster

    L’Open University est une institution d’enseignement à distance, de sorte que les étudiants accèdent aux clusters via une interface Web. L’accès à distance aux clusters utilise l’infrastructure OpenSTEM Labs de l’université. Dix clusters (huit construits avec Pi 4, deux construits avec Pi 3B+) sont installés dans des racks, avec des webcams pointées vers chaque cluster.

    Les étudiants sélectionnent le programme à exécuter, le nombre de cœurs à utiliser et les paramètres du programme sélectionné. En sortie, ils voient le temps que le programme prend pour s’exécuter sur un Raspberry Pi individuel par rapport au cluster en utilisant le nombre de cœurs sélectionnés. L’étudiant voit également la sortie du programme, soit le résultat du hachage du mot de passe, l’itinéraire minimal et maximal du voyageur de commerce, ou l’image non occluse.

    (Peter Cheer, CC BY-SA 4.0)

    Une webcam montre un flux en direct du cluster. Le plomb Pi a un affichage LED pour montrer l’état du programme pendant son exécution. La webcam indique clairement aux étudiants qu’ils expérimentent avec du matériel dédié réel plutôt que d’obtenir des résultats simulés ou préenregistrés.

    (Peter Cheer, CC BY-SA 4.0)

    Chaque programme est associé à deux activités, illustrant différents aspects de la conception du programme et des opérations du PDC. L’un des principaux points d’apprentissage est que l’informatique PDC peut fournir des avantages significatifs en termes de performances, mais au prix du temps et des ressources nécessaires pour diviser et distribuer un problème et, à l’inverse, pour recombiner les résultats. Le deuxième point d’apprentissage est que l’efficacité est considérablement affectée par la conception du programme.

    Les étudiants aiment ça

    Actuellement, l’utilisation des clusters Raspberry Pi est facultative. D’après les résultats obtenus jusqu’à présent, les étudiants l’apprécient et sont motivés par l’accès à distance au matériel physique.

    Un étudiant a déclaré : “C’était vraiment intéressant de pouvoir utiliser de vrais clusters au lieu de les virtualiser.”

    Un autre ajoute : “C’était vraiment excitant de pouvoir voir un cluster fonctionner et de voir les effets réels du travail avec plusieurs cœurs. C’était formidable de pouvoir essayer cela par moi-même, pas seulement de lire la théorie à ce sujet ! “

    Les étudiants utilisent les clusters pour entreprendre des activités d’apprentissage conçues pour enseigner les principes du PDC plutôt que d’écrire et d’exécuter leurs propres programmes. L’expérience du développement d’un cluster Raspberry Pi à faible coût pour une utilisation avec des étudiants universitaires à distance démontre les avantages que les activités pratiques à distance peuvent avoir pour enseigner les concepts PDC et impliquer les étudiants.

    Lorsque j’ai demandé à Daniel Gooch, l’un des membres de l’équipe à l’origine du projet, à ce sujet, il a déclaré : “Pour moi, là où nous divergeons, c’est que nous avons pris un ensemble existant d’instructions Raspberry Pi et travaillé sur l’intégration dans un wrap-around supplémentaire. matériel pour s’assurer qu’il peut faire face à la distance et à l’échelle sur lesquelles nous opérons.”

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code