Précédent : Logiciels Remonter : Projet ADP, Algorithmes distribués
et Suivant : Actions industrielles
Résumé : Notre contribution a consisté à définir formellement de nouvelles classes de propriétés (les colliers de diamants et les propriétés sur les états globaux partagés) généralisant de précédentes propositions et à proposer des algorithmes répartis efficaces permettant de détecter si ces propriétés sont satisfaites ou non durant une exécution.
Dans [14], nous nous sommes également intéressés à l'identification d'états globaux particuliers: les états globaux partagés. L'algorithme de détection de tels états globaux consiste en un parcours d'une seule observation et peut-être vu comme une heuristique dans le parcours de l'ensemble des états, ce qui permet d'obtenir une complexité en temps de calcul qui est polynomiale. Les propriétés vraies dans de tels états ont la particularité d'avoir pu être vérifiées quelle que soit la façon d'observer une exécution répartie
Participants : Gérard Thia-Kime , Michel Raynal
Résumé : Nous avons étudié, dans le modèle transactionnel, la sérialisabilité et la cohérence causale et proposé un nouveau critère: la sérialisabilité causale. Construite au dessus de la cohérence causale, elle garantit également un ordre total sur les écritures concernant un même objet. La sérialisabilité causale est ainsi moins contraignante que la sérialisabilité (et donc moins coûteuse en terme de synchronisation) tout en éliminant l'inconvénient majeur de la cohérence causale, à savoir la possibilité d'écritures concurrentes concernant un même objet.
Participant : Jean-Michel Hélary , Achour Mostefaoui ,
Michel Raynal
Résumé : Deux problèmes principaux ont été abordés. D'une part, l'abstraction d'un calcul réparti (ne considérant que les points de contrôle locaux et leurs relations de dépendance) est cohérente si tout point de contrôle local appartient à au moins un point de contrôle global cohérent. L'introduction d'une propriété des exécutions réparties avec points de contrôle appelée Précédence Virtuelle [29] nous a permis de définir une ``famille'' paramétrable de protocoles, englobant des protocoles déjà connus et permettant d'en dériver de nouveaux, qui s'avèrent plus intéressants, en termes de nombre de points de contrôle forcés, que les meilleurs protocoles connus à ce jour [28,27]. D'autre part, comment assurer la propriété RDT (pour Rollback-Dependency Trackability), notion plus forte que la précédente. Il s'agit de définir un ensemble de Z-chemins dont la suppression suffit à assurer la propriété RDT. Nous avons conçu deux protocoles ``génériques'' qui offrent à l'utilisateur des compromis entre taille des informations de contrôle véhiculées par les messages et nombre de points de contrôle forcés ([10,2]).
Nous nous sommes intéressés au problème de la détermination de points de contrôle globaux cohérents selon l'approche coordination induite par les communications (communication-induced checkpointing).
Dans le premier cas, l'abstraction est cohérente si tout point de contrôle local appartient à au moins un point de contrôle global cohérent. Cette étude nous a amenés à introduire une propriété des exécutions réparties avec points de contrôle appelée Précédence Virtuelle [29]. Nous avons montré qu'au niveau opérationnel cela revient à produire un estampillage des points de contrôle tel que les estampilles croissent le long des Z-chemins. Ce nouveau concept de précédence virtuelle facilite la conception et l'analyse de protocoles de détermination de points de contrôle forcés réalisant la propriété requise sur la croissance des estampilles; nous avons notamment obtenu une ``famille'' paramétrable de protocoles dont [28,27].
La seconde notion de cohérence, plus forte que la précédente, est la propriété RDT (pour Rollback-Dependency Trackability) introduite par Wang. Nous nous sommes intéressés à la recherche de conditions optimales sous lesquelles un processus sera obligé de prendre un point de contrôle forcé. Par là nous entendons la recherche de conditions telles que le nombre de points de contrôle forcés serait le plus faible possible. Il s'agit de définir un ensemble de Z-chemins dont la suppression (par prise de points de contrôles locaux) suffit à assurer la propriété RDT. Nous avons caractérisé un ensemble minimal de Z-chemins dont la suppression assure la propriété RDT [39]. Nous avons conçu deux protocoles ``génériques'' qui offrent à l'utilisateur des compromis entre taille des informations de contrôle véhiculées par les messages et nombre de points de contrôle forcés ([10,2]).
Participants : Jean-Michel Hélary , Michel Hurfin , Achour
Mostefaoui , Michel Raynal , Gérard Thia-Kime , Frédéric
Tronel
Résumé : Les travaux réalisés ont essentiellement porté sur le problème du consensus et son utilisation comme brique de base pour résoudre des problèmes d'accord. Un protocole permettant de résoudre efficacement ce problème élémentaire a été proposé. Une nouvelle brique de base, qui généralise le problème du consensus, a été spécifié et son intérêt pour résoudre des problèmes d'accord a été montré. Une solution au problème du consensus dans un environnement mobile a été proposée.
Dans le reste de nos travaux, nous avons fait les hypothèses
que le détecteur de défaillances appartient à la classe
,que les défaillances sont
définitives, que les canaux de communication sont fiables et
qu'une majorité de processus reste correcte.
Nous avons proposé un algorithme original fondé sur le principe du vote avec coordinateur tournant. Sous l'hypothèse que le détecteur se comporte souvent de façon fiable (i.e. les défaillances annoncées sont généralement réelles), cet algorithme est, à notre connaissance, le plus performant (en terme de temps de latence) des algorithmes proposés à ce jour. Cette hypothèse est réaliste: sachant que les occurrences de défaillances sont en règle générale relativement rares, le détecteur de défaillance peut être réglé de façon à réduire le nombre de suspicions erronées.
Le consensus peut être utilisé comme brique de base pour résoudre d'autres problèmes d'accord [33]. Cette possibilité a été étudiée en détail dans le cas du problème de la validation atomique non-bloquante [21]. L'exécution du protocole est généralement précédée d'une phase d'échanges au cours de laquelle les processus diffusent leur décision locale qui est soit positive (vote commit) soit négative (vote abort). En fonction des décisions locales collectées, chaque processus prend ensuite une décision globale: avorter la transaction si au moins l'une des décisions locales est négative ou reste inconnue, valider si toute les décisions locales sont connues et positives. Le protocole de consensus est ensuite utilisé pour assurer que tous les processus prennent la même décision globale (avorter ou valider). La phase d'échanges qui précède le consensus fait double emploi avec les échanges de valeurs qui ont lieu durant l'exécution du protocole de consensus [30]. Partant de ce constat, nous avons proposé une nouvelle brique de base: les processus ne s'accordent plus sur une des valeurs proposées mais sur un sous ensemble des valeurs proposées. L'intérêt de cette nouvelle brique de base ainsi qu'un protocole permettant de la mettre en oeuvre ont été décrits dans [31].
En coopération avec N. Badache et R. Macêdo, nous avons étudié le problème du consensus dans un environnement mobile: ces travaux ont abouti à la définition d'un protocole permettant d'obtenir un accord entre des sites mobiles et ce malgré d'éventuelles défaillances de sites mobiles ou fixes [38].
Parallèlement, nous avons poursuivi nos investigations concernant le respect de contraintes temps-réel dans les systèmes distribués asynchrones [34], ainsi que l'analyse des interactions entre ces contraintes et celles dues à la sûreté de fonctionnement.
Participants : Bernard Cousin , Muddassir Tufail
Résumé : Deux actions de recherche ont été menées cette année dans le cadre du contrôle de trafic multipoint de type ABR dans les réseaux ATM. La première prend place au sein de la gestion globale de tous les flux de données traversant un commutateur: elle tient compte du comportement de l'ensemble des ports de sortie et de leur file d'attente associées. La seconde se restreint à l'étude et la gestion des flux de données traversant un seul des ports.
Puis, nous avons proposé un nouvel algorithme d'ordonnancement des cellules [26,36]. Cet algorithme basé sur l'étude de l'algorithme WF2Q, l'optimise en améliorant de manière notable l'entrelacement des cellules issus de différents flux qui convergent vers le même lien de sortie. Cela a pour conséquence de produire des flux plus stables, c'est à dire dont la variation du délai (gigue) est faible. Ce qui favorise la gestion des flux de données multicasts. Nous démontrons que l'algorithme conserve les propriétés essentielles à de tels algorithmes: faible complexité, "work conserving".