Team PARIS

Members
Overall Objectives
Scientific Foundations
Application Domains
Software
New Results
Contracts and Grants with Industry
Other Grants and Activities
Dissemination
Bibliography
Inria / Raweb 2002
Project: PARIS

Project : paris

Section: Software


Keywords : système à image unique , gestion globale et dynamique des ressources , mémoire partagée répartie , migration de processus , ordonnancement global , haute disponibilité , tolérance aux fautes , recouvrement arrière .

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

Participants : Viet Hoa Dinh, Pascal Gallard, Renaud Lottiaux, Christine Morin, Louis Rilling, Gaël Utard, Geoffroy Vallée.

Contact :

Christine Morin

Statut :

déposé à l'APP sous le numéro IDDN.FR.001.480003.00.S.C.2000.000.10100, disponible sur le serveur Web du projet ( http://www.kerrighed.org/).

Gobelins est un système d'exploitation distribué mettant en œuvre une gestion globale et dynamique 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'une machine unique à haute performance et haute disponibilité. Ainsi, une application multithreadée conçue pour une machine multiprocesseur à mémoire partagée peut être exécutée sans modification sur le système Gobelins. Ce système 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 nœuds 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 conteneurs sont intégrés au sein d'un système d'exploitation hôte grâce à des lieurs qui permettent de construire différents services distribués de haut niveau. Ainsi, Gobelins offre un système de gestion de fichiers distribué offrant une interface de projection et un système de caches coopératifs fondés sur les conteneurs. Le mécanisme de migration de processus utilisé pour l'ordonnancement global des processus sur la grappe s'appuie lui aussi sur les conteneurs grâce auxquels les accès aux fichiers ouverts sur le nœud d'origine d'un processus migré peuvent être réalisés efficacement sur son nouveau nœud d'exécution.

Enfin, le service de gestion dynamique des ressources mis en œuvre par le système Gobelins permet d'ajouter ou de retirer des nœuds à la grappe sans arrêter le système et par conséquent sans perturber les applications en cours de fonctionnement. Ce service pilote également la reconfiguration des services distribués en cas de défaillance pour assurer la haute disponibilité du système malgré la gestion globale des ressources.

Le système Gobelins est mis en œuvre 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 œuvre des services distribués du système Gobelins. Ce système de communication appelé GIMLI (Gobelins Interaction Message LIbrary) met en œuvre le concept de port et offre une interface de type envoyer/recevoir ainsi que des messages actifs.

Un prototype du système d'exploitation Gobelins est opérationnel. Le logiciel Gobelins est disponible sur le serveur Web du projet ( http://www.kerrighed.org/) depuis le 15 novembre 2002 sous forme d'un logiciel libre portant le nom Kerrighed, qui a fait l'objet d'un dépôt de marque. Un logo a été réalisé par le service de l'Inria pour être associé au logiciel. Une démonstration du logiciel Kerrighed a été présentée sur le stand de l'Inria lors de la conférence Supercomputing 2002 qui s'est tenue du 16 au 22 novembre 2002 à Baltimore aux États-Unis.


previous
next