Gobelins : un système d'exploitation distribué pour des grappes de PC



Participants : Renaud Lottiaux, Christine Morin, Geoffroy Vallée.

Mots clés : mémoire virtuellement partagée, système de gestion de fichiers parallèles .

Contact : Christine Morin
Statut : déposé à l'APP sous le numéro IDDN.FR.001.480003.00.S.C.2000.000.10100.

Gobelins est un système d'exploitation distribué mettant en oeuvre une gestion globale des ressources (mémoires, disques et processeurs) d'une grappe de calculateurs pour l'exécution d'applications à haute performance. Gobelins offre aux applications la vision d'un multiprocesseur à mémoire partagée virtuel à haute performance et haute disponibilité. Le système Gobelins est construit autour du concept de conteneur qui est à la base de la gestion globale de la ressource mémoire dans la grappe. Un conteneur est un ensemble de pages qui est identifié de manière unique dans la grappe. Le système Gobelins permet à tous les noeuds de la grappe d'accéder de façon transparente et cohérente aux pages d'un conteneur indépendamment de leur localisation physique. Les autres services du système Gobelins s'appuient sur les conteneurs. Ainsi, Gobelins offre un système de gestion de fichiers parallèle qui gère globalement la ressource disque. Les conteneurs se comportent comme un système de caches coopératifs pour le système de gestion de fichiers parallèle.

Le système Gobelins est mis en oeuvre sous forme de modules d'extension au noyau Linux. Quelques fonctions du noyau Linux ont été détournées pour permettre la liaison entre les segments mémoires du système Linux et les conteneurs. En outre, nous avons été amenés à concevoir un système de communication efficace doté d'une interface de niveau noyau et indépendant de la technologie du réseau d'interconnexion sous-jacent pour la mise en oeuvre des services distribués du système Gobelins. Ce système de communication appelé GIMLI (Gobelins Interaction Message LIbrary) met en oeuvre le concept de port et offre une interface de type envoyer/recevoir ainsi que des messages actifs.

Une première version du système Gobelins est opérationnelle sur une grappe de PCs interconnectés par un réseau Fast Ethernet ou GigabitEthernet. Dans cette version GIMLI est interfacé avec la bibliothèque de communication haute performance Gamma développée par l'université de Gênes (Italie). Cette bibliothèque, conçue pour une utilisation en mode utilisateur a été dotée d'une interface noyau.