Le projet HPC4U (Highly Predictable Clusters for Intranet Grids), projet du 6ème Programme Cadre (FP6) lancé en 2004, est à présent terminé et a passé avec succès la revue finale avec mention « Good to excellent project ».
Date: 17 mars 2008
A propos du projet: HPC4U ⊕
L’objectif du projet consistait à intégrer et développer un certains nombre de composants logiciels (middleware) permettant de garantir le respect d’une qualité de service (QoS) via des mécanismes de négociation de contrat de niveau de service (SLA). Le projet HPC4U s’adresse principalement aux utilisateurs de clusters qui font tourner des applications parallèles de longue durée (plusieurs semaines). Avec plusieurs milliers de noeuds dans ces clusters, la probabilité de défaillance d’un noeud augmente et la durée d’exécution d’une application peut être supérieure au MTBF (temps moyen entre défaillance des nœuds) de la grappe.
Le consortium a atteint tous les objectifs techniques du projet notamment la migration d’applications parallèles via l’internet Grid qui a été démontrée face à la commission. Cette réalisation constitue une première mondiale sur le plan technologique rendant la solution HPC4U actuellement unique. Cette démonstration démarre avec la soumission d’une application parallèle utilisant les librairies MPI sur un cluster de calcul de l’université de Paderborn (Allemagne). Cette application est sujette à un SLA contraignant qui spécifie une échéance stricte (deadline) pour sa fin d’exécution. Cette application, reçoit dès lors les priorités ad hoc par rapport aux autres job en exécution ou en file d’attente, et bénéficie des ressources nécessaires à son exécution dans les délais requis par le SLA. Une panne hardware est ensuite simulée par l’extinction d’un nœud. Le système de gestion de ressources de Paderborn se rend compte que sans ce nœud il ne sera plus en mesure d’assurer l’exécution du job dans les délais et décide de s’adresser à une couche logicielle supérieure en charge de localiser un autre centre de calcul capable d’absorber la charge de cette application et d’en assurer l’exécution dans les délais fixés par le SLA. L’application et ses données sont ensuite automatiquement migrées via internet sur le cluster du CETIC (Belgique) où elle est reprend son exécution à partir du dernier checkpoint effectué avant l’incident. Le scénario est ensuite répété avec une nouvelle migration sur le site de Fujitsu (France). Tout ce mécanisme s’accomplit de façon transparente pour l’utilisateur qui reçoit en fin de compte ses résultats, dans les délais, et sans intervention de sa part.
Cette démonstration réalise d’une certaine façon la fusion des deux technologies de clustering - le cluster haute performance ( HP High Performance) et le cluster haute disponibilité (HA High Availability) - dans une optique GRID de partage de ressources entre entités distinctes au travers d’internet.
Le premier est aujourd’hui la solution la plus répandue pour le calcul intensif (High Performance Computing) ; parmi le Top500 des installations les plus performantes au monde on trouve aujourd’hui 406 clusters totalisant quelques 823.134 processeurs (processor cores).
Le second s’est imposé depuis l’ère du VAXCluster (1986) comme la solution en matière de haute disponibilité d’une base de données ou d’une application critique. Il s’agit ici de se prévenir contre les failles hardware et software d’une seule machine. En regroupant deux ou plusieurs systèmes en cluster (local ou distant) on introduit de la redondance et en cas de disfonctionnement d’un nœud, on assure la continuité de service en basculant l’application impactée sur un autre nœud. Ceci bien entendu tout en s’assurant que les données qui étaient présentées à l’utilisateur avant la panne soient toujours disponibles, et intègres sur ce nouveau système.
Les problématiques liées aux données et au contexte de l’application posent effectivement le problème crucial lorsque l’on veut migrer celle-ci d’un système à l’autre. Nous avons à cet effet, au cœur de la technologie HPC4U, le composant qui permet de relancer l’exécution d’une application à partir d’un point de reprise pour éviter en cas de défaillance de relancer les applications depuis le début. Ce mécanisme de sauvegarde et de restauration de point de reprise d’application (checkpoint/restart) est assuré par MetaCluster d’IBM.
Les autres composants de la solution mise en œuvre pour cette démonstration sont : le système de gestion des ressources OpenCCS, développé par l’Université de Padeborn ; le sous-système de stockage et les outils de virtualisation de Seanodes ; les bibliothèques Scali MPI et la technologie d’interconnexion Dolphin SCI. Le middleware spécifique développé pour la négociation des SLA et la migration des applications entre domaines administratifs sont basés sur Globus Toolkit 4.
Sur le plan de l’exploitation des résultats, le CETIC identifie les différentes opportunités business qui se présentent grâce à HPC4U. Une première piste consiste à découper l’offre en différentes couches de services (QoS) ; intra-cluster ou multi-cluster au sein d’une même organisation, puis migration internet entre domaines administratifs. Une seconde piste concerne l’intégration et le support d’autres composants - gestionnaires de ressources, librairies MPI, technologie d’interconnexion et checkpointing/restart - avec vraisemblablement la constitution d’un stack Open Source complet.