Informatique parallèle et distribuée avec les clusters Raspberry Pi
Cette expérience académique utilisant des clusters Raspberry Pi présente les concepts d'informatique parallèle et distribuée (PDC) aux étudiants en enseignement à distance.
Depuis le lancement du Raspberry Pi, les créateurs ont basé d'innombrables projets éducatifs en informatique sur l'humble système de poche sur puce. Ceux-ci incluent de nombreux projets explorant des clusters Raspberry Pi à faible coût pour introduire des concepts d'informatique parallèle et distribuée (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 en enseignement à distance a débuté en 2019 et a été présentée dans un article universitaire mais mérite d’être connue plus largement.
Le projet utilise des clusters Raspberry Pi basés sur les instructions OctaPi, publiées 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 switch. L'un des Raspberry Pi fait office de serveur principal, 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 package dispy
distribue les activités entre les cœurs du cluster.
Trois programmes ont été développés pour les clusters et vous pouvez les télécharger depuis 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.
Utiliser le cluster
L'Open University est un établissement d'enseignement à distance, les étudiants accèdent donc 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 nécessaire au programme 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 le résultat 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 masquée.
(Peter Cheer, CC BY-SA 4.0)
Une webcam montre un flux en direct du cluster. Le Lead Pi dispose d'un écran LED pour afficher l'état du programme pendant son exécution. La webcam indique clairement aux étudiants qu'ils expérimentent avec du matériel réel dédié 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 enseignements est que le calcul PDC peut offrir des avantages significatifs en termes de performances, mais au prix du temps et des ressources nécessaires pour diviser et répartir un problème et, inversement, pour recombiner les résultats. Le deuxième point à retenir 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. Cependant, d'après les résultats obtenus jusqu'à présent, les étudiants apprécient cet accès 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 génial 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 de gérer leurs propres programmes. L'expérience du développement d'un cluster Raspberry Pi à faible coût destiné à être utilisé 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 interrogé Daniel Gooch, l'un des membres de l'équipe à l'origine du projet, à ce sujet, il m'a répondu : « Pour moi, ce qui nous différencie est que nous avons pris un ensemble d'instructions Raspberry Pi existant et travaillé sur son intégration dans un environnement global supplémentaire. matériel pour s'assurer qu'il peut faire face à la distance et à l'échelle sur lesquelles nous opérons.