Exclusion mutuelle de groupe et auto-stabilisation
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
The group mutual exclusion (GME) was introduced by Joung in 1998. This problem deals with two fundamental problems of distributed systems, mutual exclusion and concurrency. The GME solution allows n processes to share m mutually exclusive resources. At any time, each resource can be accessed concurently by an arbitrary number of processes. However, if a process is accessing a resource then no process can access a different resource. Thus, in this problem, mutual exclusion is done over resources. GME generalizes some classical synchronization problems such as mutual exclusion problem or the readers-writers problem. It is also related to several widely studied synchronization problems such as dining philosophers, drinking philosophers, and k-exclusion. Since 1998, several algorithms were designed to solve the group mutual exclusion problem assuming the shared-memory model or the message-passing model. Solutions assuming the message-passing model presented for the full network and for the unidirectional ring require to maintain locally a logical clock which cannot be bounded. In this thesis, we present solutions to the GME problem assuming the message-passing model respectively for, the unidirectional ring and the tree topology. All our solutions use bounded message size and bounded space requirement per process. We then present a more general problem called the Local Resource Allocation (LRA). The LRA problem consists on sharing compatible resources among processes. LRA allows neighboring processes to access resources concurrently provided the resources are not conflicting each other. We propose a self-stabilizing solution to the LRA problem and we use this algorithm to design a self-stabilizing transformer to transform algorithms written using strong assumptions (e. G. , central daemon or composite atomicity) to those using weaker assumptions (distributed read/write atomicity model). To our knowledge, this is the first transformer which allows neighborhood concurrency. Moreover, the proposed solution preserves the silent property of the original algorithms. LRA also generalizes Borne resource allocation problem such as (local) mutual exclusion, dinning philosophers, drinking philosophers, (local) readers-writers or (local) group mutual exclusion.
Abstract FR:
Le problème de l'exclusion mutuelle de groupe (GME) a été introduit par Joung en 1998. Ce problème concerne à la fois deux problèmes fondamentaux dans les systèmes répartis, l'exclusion mutuelle et la conccurence. Une solution à la GME permet à n processus de partager m ressources de manière exclusive. À chaque instant, chaque ressource peut être accédée par un nombre quelconque de processus en même temps. En revanche, il faut s'assurer que si un processus accède à une ressource, alors aucun autre processus n'accède à une ressource différente. Ainsi, l'exclusion mutuelle concerne les ressources et non les processus. La GME généralise quelques problèmes classiques de synchronisation comme l'exclusion mutuelle ou le problème des lecteurs-rédacteurs. La GME est aussi liée à d'autres problèmes déjà très étudiés comme le dîner des philosophes, les philosophes qui boivent ou encore la k-exclusion. Depuis 1998, de nombreux algorithmes furent présentés pour résoudre le problème en supposant le modèle à mémoire partagée ou le modèle à passage de messages. Les solutions qui utilisent le modèle à passage de messages avec une topologie de type graphe complet ou anneau unidirectionnel nécessitent de maintenir locallement une horloge logique qui ne peut pas être bornée. Dans cette thèse, nous présentons des solutions à la GME dans le modèle à passage de messages pour les topologies en anneau unidirectionel et l'arbre. Toutes nos solutions utilisent des messages dont la taille et le nombre d'état par processus sont bornés. Ensuite, nous présentons un problème plus général appelé l'Allocation de Ressources Locale (LRA). Le problème de la LRA consiste à partager des ressources compatibles entre processus voisins. La LRA permet à deux processus voisins d'accéder à des ressources concurremment si celles-ci ne sont pas en conflict entre elles. Nous présentons une solution auto-stabilisante à ce problème et nous utilisons cet algorithme pour écrire un transformeur auto-stabilisant pour transformer des algorithmes nécessitant des suppositions fortes (démon central ou atomicité composite) vers ceux utilisant des suppositions plus faibles (modèle à atomicité lecture/écriture). À notre connaissance, c'est le premier transformeur qui permet de la concurrence entre processus voisins. De plus, notre solution préserve la propriété silencieuse de l'algorithme original. La LRA généralise aussi de nombreux problèmes d'allocation de ressources comme l'exclusion mutuelle (locale), le dîner des philosophes, les philosophes qui boivent, le problème des lecteurs-rédacteurs (locaux) ou l'exclusion mutuelle de groupe (locale).