Terminé
17/09/2024
24/01/2025
NodeJS
Docker
t HTML5
u CSS3
p JavaScript
m MariaDB
r Python
Scripts Bash
Matthieu FARANDJIS
Florent VASSEUR--BERLIOUX
Tom BOGAERT
Lucas DA SILVA FERREIRA
Baptiste FOURNIÉ
William HERUBEL
Le projet vise à développer une application capable d'effectuer des calculs parallèles ou distribués sur un cluster de Raspberry Pi. Paralix se présente sous la forme d'une interface web (application web).
L'application utilise SQL, HTML, CSS, JavaScript. Python est utilisé pour la partie exécution des modules de calcul.
Le serveur doit être protégé contre les intrusions, notamment SSH, à l'aide du logiciel fail2ban et doit archiver automatiquement les logs d'activité à l'aide du logiciel CRON.
Nous avons utilisé le logiciel WebStorm de Jetbrains, qui n'est pas imposé, mais que nous apprécions.
Voici une présentation du rôle de chaque membre.
Chaque membre était libre d'intervenir ailleurs dans le projet. Ces listes comportent donc uniquement les rôles principaux.
Matthieu FARANDJIS
Florent VASSEUR-BERLIOUX
Tom BOGAERT
William HERUBEL
Baptiste FOURNIÉ
Lucas DA SILVA FERREIRA
Paralix permet de :
Illustration trouvée sur Internet montrant le fonctionnement du modèle Master-Workers.
La RaspberryPi 4 Master répartit les processus entre les RaspberryPi 0, afin de répartir la charge de travail dans l'exécution d'un module.
On appelle cet ensemble de RaspberryPi un "Cluster de RaspberryPi" ou tout simplement "Cluster".
L'utilisateur ne manipule que le RaspberryPi 4 Master, qui n'exécute pas les calculs. En revanche, c'est lui qui héberge le serveur web.
Ce projet a également fait l'objet d'une étude de Scalabilité. Nous avons donc étudié les performances du Cluster.
Ces travaux explorent plusieurs aspects de la programmation parallèle et distribuée. La méthode de Monte Carlo est utilisée pour estimer la valeur de π, avec une analyse détaillée des algorithmes et des techniques de parallélisation mises en œuvre. L'implémentation est effectuée sur une machine à mémoire distribuée au sein du cluster HAT, composé d'un Raspberry Pi Zero et de quatre Raspberry Pi 4.
Ce projet s'inscrit également dans une démarche visant à vérifier la conformité aux normes ISO pertinentes en matière de calcul distribué et de bonnes pratiques de programmation, tout en développant des compétences applicables aux environnements professionnels.