À la fin de ce cours, vous devriez connaître les particularités de la programmation distribuée à travers l'exemple des grilles de calcul. Ceci passe par une connaissance globale des architectures distribuées et des concepts liés, tels que l'infrastructure de sécurité et la gestion des données. Si votre investissement est suffisant tout au long du cours, vous devriez être à même d'utiliser une infrastructure de grille de calcul et de transposer vos connaissances à toute infrastructure distribuée, et ainsi répondre aux d’offres d'emploi dans ce domaine.
1 – Définition des concepts : Problématiques ; Job/Batch Scheduler ; Cluster de calcul ; Grid Computing ; Cloud Computing ;
2 – Exploitation d'un cluster de calcul avec Torque/Maui : Généralités ; Définition d'un job ; Soumission et réservation des ressources ;
3 – Infrastructure de la grille européenne EGI : Historique ; Ressources ; Middleware EM ;Fonctionnement général ;
4 – L'infrastructure de sécurité de la grille (GSI) : Rappels (chiffrement asymétrique PKI, certificats) ; Authentification (Grid Proxy) ; Autorisations (VOMS) ;Responsabilités ;
5 – Le système d'information de la grille : Architecture ; Interrogation en ligne de commande ;
6 – La gestion des jobs : WMS (Workload Management System) ; Gestion d'un job par le WMS ; Langage de description d'un job (JDL) ; Commandes EMI/gLite ;
7 – La gestion des données : Infrastructure de la gestion des données ; Schéma de nommage ; Catalogue des fichiers ; Familles de commandes EMI/gLite ;
8 – La programmation sur grille avec SAGA : Présentation générale ; Exemples.
TP 1 – Exploitation d’un cluster de calcul avec Torque/Maui
TP 2 – Le système d’information de la grille EGI
TP 3 – Soumission de jobs simples
TP 4 – Gestion de fichiers et Distribution de traitements sur grille de calcul
TP 5 – Soumission avancée de jobs et introduction à l’API JSAGA
http://software.in2p3.fr/jsaga/dev/