Développement d'un intergiciel de Grille de Calcul: Difference between revisions
(Created page with " Porteurs et encadrants Bruno Bzeznik (UMR Gricad) et Olivier Richard (GINP-UGA) Entreprise/laboratoire/organisme : LIG =Description du contexte= Dans ce projet on souha...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Porteurs et encadrants Bruno Bzeznik (UMR Gricad) et Olivier Richard (GINP-UGA) |
Porteurs et encadrants: Bruno Bzeznik (UMR Gricad) et Olivier Richard (GINP-UGA) |
||
Entreprise/laboratoire/organisme : LIG |
Entreprise/laboratoire/organisme : LIG |
||
Line 20: | Line 20: | ||
Il offre en particulier l’accès efficace à un mode de soumission efficace, le besteffort. |
Il offre en particulier l’accès efficace à un mode de soumission efficace, le besteffort. |
||
Pour une description de l'architecture générale se reporter à [1], pour description détaillée de son utilisation dans le cadre du centre de calcul de l'UMR Gricad se reporter à [3] |
Pour une description de l'architecture générale se reporter à [1], pour description détaillée de son utilisation dans le cadre du centre de calcul de l'UMR Gricad se reporter à [3]. |
||
* [1] https://github.com/oar-team/cigri |
* [1] https://github.com/oar-team/cigri |
||
* [2] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/ |
* [2] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/ |
||
* [3] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/cigri_guix |
|||
=Objectif(s) du projet= |
=Objectif(s) du projet= |
||
Line 50: | Line 48: | ||
=Divers= |
=Divers= |
||
Déplacement à prévoir (en dehors de l’école) : potentiellement au |
Déplacement à prévoir (en dehors de l’école) : potentiellement au laboratoire IMAG |
||
=Références= |
=Références= |
||
* [1] https://github.com/oar-team/cigri |
* [1] https://github.com/oar-team/cigri |
||
* [2] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/ |
* [2] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/ |
||
* [3] https://gricad-doc.univ-grenoble-alpes.fr/hpc/grid/cigri_guix |
Latest revision as of 14:03, 23 January 2024
Porteurs et encadrants: Bruno Bzeznik (UMR Gricad) et Olivier Richard (GINP-UGA)
Entreprise/laboratoire/organisme : LIG
Description du contexte
Dans ce projet on souhaite s'attaquer à refonte et à un recodage de l'intergiciel CiGri [1][2].
Cet intergiciel est utilisé pour l'exploitation de grille légère qui repose sur un ensemble de clusters de calcul sous-jacents.
Il est particulièrement bien adaptée au traitement d’applications bag-of-tasks ou jobs embarrassingly parallel (ce type de traitements peuvent résulter en un très grand nombre de petits travaux, comme les applications multi-paramétriques, où vous devez exécuter le même programme sur un grand ensemble de paramètres et obtenir un résultat par paramètre).
Il est cependant aussi capable de traiter tout type de travaux à faire exécuter sur des clusters de calcul.
Sa particularité est de fonctionner sur les cycles cpu inutilisés d’un ensemble de superordinateurs dans un centre de calcul, de la manière la plus efficace possible. Mais il peut également être utilisé pour gérer un grand nombre de tâches à exécuter sur un cluster particulier, même sans effort (un grand nombre de tâches surcharge généralement le planificateur local d’un cluster ; la grille est conçue pour traiter ce problème).
Il offre en particulier l’accès efficace à un mode de soumission efficace, le besteffort.
Pour une description de l'architecture générale se reporter à [1], pour description détaillée de son utilisation dans le cadre du centre de calcul de l'UMR Gricad se reporter à [3].
Objectif(s) du projet
Le code de l'intergiciel Cigri est veillissant, écrit en langage Ruby on souhaite le recoder en Python, par la même occasion nous voulons explorer d'autre approche architecturale comme la possibilité d'utiliser le code comme un agent de l'utilisateur autonome (sans référence à un service central).
Travail attendu
- Analyse de l'existant
- Utilisation de l'instance Cigri de l'UMR Gricad
- Définition d'une architecute en partenariat avec les encadrants projet
- Réalisation de diagrammes de séquence comme éléments de spécification
- Identifications et réaliasations de preuves concepts
- Développements de l'architecture générale
- Documentation
Technologies
Les technologies considérées en plus du langage Python seront les suivantes:
- prefect, une orchestrateur de workflow qui pour servir de base du projet: https://www.prefect.io/
- FastAPI: un framework pour la réalisation d'API Restful suivant les principe du standard OpenAPI: https://fastapi.tiangolo.com/
- SqlAlchemy: Pour l'interaction avec les bases de données
- Click/Rich : Bibliothèque pour les partie CLI
- Poetry: pour le packaging and la gestion de dépendances
Divers
Déplacement à prévoir (en dehors de l’école) : potentiellement au laboratoire IMAG