Coherence de donnees repliquees partagees par un groupe de processus cooperant a distance
Auteur / Autrice : | GEORGES BRUN COTTAN |
Direction : | CLAUDE GIRAULT |
Type : | Thèse de doctorat |
Discipline(s) : | Sciences et techniques |
Date : | Soutenance en 1998 |
Etablissement(s) : | Paris 6 |
Résumé
La progression des applications cooperatives est confrontee, de facon inherente, a la latence des moyens de communication. Lorsque celle-ci devient importante, les modeles de coherence traditionnels entrainent un manque de reactivite redhibitoire. Nous attaquons ce probleme, en reduisant une application cooperative a une collection de replicats cooperants, puis en se focalisant sur la gestion de coherence d'un tel groupe de replicats. Ce probleme est important par deux aspects : par son application dans tous les domaines impliquant la cooperation d'individus et par son caractere fondamental dans la structuration et la correction des mecanismes de cooperation. Notre etude critique, des criteres de coherence associes aux coherences dites faibles, embrasse quatre domaines : les systemes transactionnels, les memoires partagees reparties, les objets concurrents et les plate-formes de communication. Notre these contribue sur trois points : 1. Notre modele d'execution est libre de tout a priori concernant la causalite des operations. Ce modele est base sur des histoires repliquees. 2. Notre modele de partage, la replication cooperante, derivee de la replication active, n'impose pas un ordre commun unique sur l'execution des operations. Les replicats sont autonomes et ne cooperent que lorsque leur vue de l'histoire globale ne suffit plus a garantir la correction de l'application. 3. Nos principes systemes permettent de construire un nouveau type de composant, le gestionnaire de coherence. Ce composant : - prend en charge la cooperation des replicats. Il implante la partie complexe de la gestion de coherence : le controle de la distribution, de la replication et de la concurrence ; - maintient, sur l'ordre reparti des operations, des proprietes deterministes. Ces proprietes definissent un contrat de coherence ; elles peuvent etre utilisees comme critere de correction ; - est choisi a l'execution par l'application. Il est, de plus, reutilisable. Nous avons realise core, une plate-forme de developpement complete, documentee et accessible sur ftp, developpe au-dessus d'unix. Core offre, outre les services usuels necessaires a la mise en uvre de groupes de processus repartis, une bibliotheque extensible de gestionnaires de coherence. Core offre aussi de nombreuses classes, utilisees tant pour la realisation de nouveaux gestionnaires que pour l'expression de nouveaux types et modeles d'execution, par les concepteurs d'applications. Nous avons realise, avec core, deux applications : une application d'edition cooperative basee sur emacs et une simulation de ressource partagee.