Asynchronous Self-Stabilizing Stable Marriage - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

Asynchronous Self-Stabilizing Stable Marriage

Mariage stable asynchrone et auto-stabilisant

Résumé

The Stable Marriage Problem (SMP) is a matching problem where participants have preferences over their potential partners.The objective is to find a matching that is optimal (stable in certain sens) with regard to these preferences.This type of matching has a lot of widely used applications such as the assignment of children to schools, interns to hospitals, kidney transplant patients to donors, as well as taxi scheduling or content delivery on the Internet.Some applications can be solved in a centralized way while others, due to their distributed nature and their complex data, need a different treatment.For example, when applying this problem to the Cloud-Computing context, virtual machines are emulated by real machines located all over the world.A centralized algorithm would cause unbearable delays and be sensible to failures, which is inconceivable for a service meant to be available at any time.On the other hand, when humans are to be matched or involved in a matching, they have the right to keep their personal data private and in particular their list of preferences.Consequently, the preference lists should not be transmitted on the Internet, and even less gathered for a centralized treatment.This is why, distribution, fault-tolerance (by self-stabilization) and privacy are the three main keywords of this thesis.In order to handle these challenges, we provide two distributed self-stabilizing solutions.Such solutions tolerate transient (or short-lived) failures (e.g., memory or message corruptions) of any nodes.The privacy of the preference lists is guaranteed by the two proposed algorithms: lists are not shared, only some binary queries and responses are transmitted.One of the differences between the two algorithms is the communication model: the first algorithm uses the state model while the second algorithm uses the more general register model.In both models, executions proceed in atomic steps and a daemon (distributed unfair daemon) conveys the notion of asynchrony.Under this daemon, the stabilization time can be bounded in term of moves (local computations).This complexity metrics allows to evaluate the necessary computational power or the energy consumption of the algorithm's executions.This is not the case when the stabilization time is measured in rounds since an unbounded number of moves may be executed during a round.The first algorithm, based on the centralized method of Ackermann et al. (SICOMP' 2011), solves the problem in O(n⁴) moves.It also solves some variants of SMP such as the Stable Marriage with indifference, with unacceptable partners, etc.The starting point of the second algorithm is the local detection/global correction scheme of Awerbuch et al. (DA' 1994): a non-self-stabilizing algorithm (with initialization) that satisfies the property of local checkability can be combined with a detector and a reset algorithms.The result of this composition is a self-stabilizing version of the given algorithm.Unfortunately, local checkability definition of DA '1994 does not apply to our case (in particular due to the unfair daemon).Consequently, we propose a new definition.Furthermore, we design a distributed self-stabilizing asynchronous reset algorithm. Using it, the resulting composed algorithm solves SMP in θ(n)² moves in a self-stabilizing way.
Le Problème du Mariage Stable (SMP) est un problème d'appariement où les participants ont des préférences à propos de leurs partenaires potentiels.L'objectif est de trouver un appariement optimal (stable dans un sens) au regard des préférences. Ce type d'appariement a de très nombreuses applications comme les affectations d'étudiants à des universités (APB ou ParcourSup), celles des internes en médecine aux hôpitaux, les choix des donneurs pour les patients en attente d'organe, la mise en rapport des taxis et de leurs clients ou encore la diffusion de contenu sur Internet.Certaines de ces applications peuvent être traitées de manière centralisée tandis que d'autres, de par leur nature distribuée et la complexité de leurs données, nécessitent un traitement différent. Par exemple, dans le contexte du Cloud-Computing, des machines virtuelles sont émulées par des machines réelles situées sur la terre entière.Un algorithme centralisé causerait des délais considérables dans les prises de décision tout en étant sensible aux défaillances, ce qui est inconcevable pour un service supposé disponible à tout moment. D'un autre côté, chaque fois que des personnes sont impliquées dans un appariement, elles ont le droit de garder privées leurs données personnelles et en particulier leur liste de préférences, qui peut contenir des informations sensibles.Par conséquent, il est souhaitable que les listes de préférence des personnes ne soient jamais transmises sur Internet, et encore moins rassemblées pour un traitement centralisé.C'est pourquoi la distribution, la tolérance aux défaillances (par auto-stabilisation) et la confidentialité sont les trois principaux mots-clés de cette thèse.Dans ce contexte, nous proposons deux solutions distribuées auto-stabilisantes. De telles solutions tolèrent les défaillances (e.g., corruptions de mémoire ou de messages) transitoires (ou de courte durée) de n'importe quels noeuds.La confidentialité des listes de préférences est garantie par les deux algorithmes que nous proposons : les listes ne sont pas partagées et seules des queries binaires et leurs réponses sont échangés.Une différence entre ces algorithmes est le modèle de communication : le premier algorithme utilise le modèle à état tandis que le second algorithme utilise le modèle à registre plus général.Dans les deux modèles, les exécutions se déroulent par pas atomiques et un démon (démon distribué inéquitable) exprime la notion d'asynchronisme.Avec ce démon, le temps de stabilisation peut être borné en terme de moves (pas locaux).Cette mesure de complexité permet d'évaluer avec précision la puissance de calcul nécessaire ou l'énergie dissipée par les exécutions de l'algorithme.Ce n'est pas le cas quand la complexité est évaluée en rounds, puisque le nombre de moves effectués dans un round n'est pas nécessairement borné.Le premier algorithme, basé sur la méthode centralisée de Ackermann et al. (SICOMP' 2011), résout le SMP en O(n⁴) moves.Il permet également de résoudre certaines variantes du SMP telles que le mariage stable avec indifférence, avec partenaires inacceptables, etc.Le point de départ du deuxième algorithme est le schéma de détection locale/correction globale de Awerbuch et al. (DA' 1994) : un algorithme non auto-stabilisant (devant être initialisé) mais avec la propriété d'être vérifiable localement peut être combiné avec un détecteur et un algorithme de réinitialisation.De cette combinaison résulte un algorithme auto-stabilisant.Malheureusement, la définition de la vérifiabilité locale de DA '1994 ne s'applique pas à notre cas (en particulier en raison du démon inéquitable).Nous proposons donc une nouvelle définition.De plus, nous concevons un algorithme de réinitialisation (reset) asynchrone, distribué et auto-stabilisant.L'algorithme résultant résout le SMP en θ(n)² moves.
Fichier principal
Vignette du fichier
76295_LAVEAU_2020_archivage.pdf (1.7 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03068501 , version 1 (15-12-2020)

Identifiants

  • HAL Id : tel-03068501 , version 1

Citer

Marie Laveau. Asynchronous Self-Stabilizing Stable Marriage. Distributed, Parallel, and Cluster Computing [cs.DC]. Université Paris-Saclay, 2020. English. ⟨NNT : 2020UPASG008⟩. ⟨tel-03068501⟩
185 Consultations
116 Téléchargements

Partager

Gmail Facebook X LinkedIn More