Skip to content

thibautmarcq/PSAR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MU4IN408

PSAR - DBash

      _        _               _        __
   __| |      | |__   __ _ ___| |__     \ \         Un shell répartissant
  / _` |  __  | '_ \ / _` / __| '_ \     \ \        les commandes sur un
 | (_| | |__| | |_) | (_| \__ \ | | |    / /        cluster de machines. 
  \__,_|      |_.__/ \__,_|___/_| |_|   /_/         

Projet réalisé par @Inès BENAMER-BELKACEM et @Thibaut MARCQ


Objectifs du projet

D-Bash a pour objectif principal de concevoir et implémenter un shell distribué capable de:

  • Lancer des programmes sur la machine la moins chargée du cluster (répartition de charge)
  • Gérer l'exécution synchrone et asynchrone des commandes
  • Fournir des commandes réseaux : ps (avec option -l pour infos détaillées), wait, kill -sig pid
  • Suivre et dispatcher les exécutions distantes via des identifiants uniques (RemoteExecution)

Aperçu de l'architecture

  • Communication entre composants via sockets TCP
  • Code organisé en bin/, src/, include/, et tests/
  • Découverte dynamique des serveurs via hostnames.txt (NFS/shared file)
  • Heartbeats réguliers pour diffuser la charge et synchroniser les tables de processus

Installation et exécution

Installation (depuis la racine du projet) :

make

Lancer un serveur :

./bin/server 

Lancer un client :

./bin/client

Exemples d'utilisation dans le client :

ps           # affiche la liste des processus réseau
ps -l        # affichage détaillé
sleep 10 &   # lancer en arrière-plan
wait         # attendre les tâches lancées
kill -9 <pid># envoyer un signal à un pid réseau

Rapport et schémas

Le rapport complet, avec schémas et résultats expérimentaux, se trouve dans rapport (PDF).

Auteurs

Sous l'encadrement de Pierre Sens.




Inès & Thibaut Industries™ - 2026