HAL Id: tel-00485704
https://tel.archives-ouvertes.fr/tel-00485704
Submitted on 21 May 2010
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
contrainte dans les systèmes distribués asynchrones
Corentin Travers
To cite this version:
Corentin Travers. Derrière le consensus : coordination faiblement contrainte dans les systèmes
dis-tribués asynchrones. Réseaux et télécommunications [cs.NI]. Université Rennes 1, 2007. Français.
�tel-00485704�
N
o
d'ordre:3661
THÈSE
Présentéedevant
devant l'Université de Rennes 1
pour obtenir
le gradede : Do teur de l'Université de Rennes 1
Mention Informatique
par
Corentin Travers
Équipe d'a ueil: asap
É ole Do torale:Matisse
Composante universitaire :IFSIC/IRISA
Titre de lathèse :
Derrière le onsensus :
Coordination faiblement ontrainte dans
les sytèmes distribués asyn hrones
soutenue le20novembre 2007 devant la ommission d'examen
M. : Patri e Quinton Président
MM. : Hagit Attiya Rapporteurs
Ra hid Guerraoui
MM. : A hour Mostéfaoui Examinateurs
Nir Shavit
Introdu tion 5
1 Cadre de l'étude 13
1.1 Modèles de systèmesdistribués . . . 13
1.1.1 Pro essus . . . 13
1.1.2 Médiumde ommuni ation . . . 14
1.1.2.1 Modèleà messages . . . 15
1.1.2.2 Mémoire partagée . . . 16
1.1.2.3 Rédu tion entremodèles . . . 16
1.1.3 Aspe tstemporels . . . 16
1.2 Déte teursde défaillan es . . . 18
1.2.1 Dénition . . . 20
1.2.2 Modèles hoisisetnotations . . . 22
1.3 Outillagealgorithmique . . . 22
1.3.1 Colle te . . . 23
1.3.2 Colle teordonnée ouAtomi snapshot . . . 25
1.3.3 Colle teordonnée immédiate(ImmediateSnapshot) . . . 27
1.4 Coordination danslessystèmes distribués . . . 29
1.4.1 Problèmes étudiés . . . 29
1.4.2 Forme généraled'unproblème dedé ision . . . 31
1.4.3 Cal ultolérant les défaillan es. . . 32
1.4.4 Rédu tion . . . 33
1.4.5 Cal ulabilité . . . 35
1.4.6 Di ultérelative desdiérents problèmes . . . 41
1.5 Résultats . . . 42
1.5.1 Organisationdu do ument . . . 44
2 Relations entre problèmes de oordination faible 47 2.1 Coordination faible . . . 48
2.1.1 Consensus ensembliste . . . 48
2.1.2 A ord surplusieurs frontsou dé isionde omité . . . 49
2.1.3 Test&Set ensembliste. . . 52
2.1.5 Parti ipating set . . . 54
2.2 Modèle etrédu tions . . . 55
2.3 A ord etrenommage . . . 58
2.3.1 (
k + 1, k
)-test&setet(n, k
)-test&set . . . 582.3.2 Objet(
n, k
)-parti ipating-set . . . 602.3.3 Un algorithmede (
n, f
k
)-renaming adaptatif . . . 642.3.4 Du (
k + 1, f
k
)-renaming vers(k + 1, k
)-test&set . . . 682.4 A ord etdé isionen omité. . . 69
2.4.1 Du (
n, k
)-a ord versle(n, k
)- omité . . . 702.4.2 Une solutionsans attente au problèmedu (
[k], k
)-BG. . . 712.4.3 Restreindre le nombre de propositions : du (
n, k
)- omité-binaire versle ([k + 1], k
)-BG . . . 742.4.4 Du (
n, k
)- omité-binaire versle(n, k
)- omité . . . 812.4.5 Du (
n, k
)- omité vers(n, k
)-a ord . . . 823 Composition de déte teurs de défaillan es 85 3.1 Une ménagerie dedéte teurs de défaillan es . . . 91
3.1.1 Lesfamilles
(3S
x
)
1≤x≤n
et(S
x
)
1≤x≤n
. . . 91 3.1.2 La famille(Ω
z
)
1≤z≤n
. . . 92 3.1.3 Lesfamilles(3φ
y
)
1≤y≤n
et(φ
y
)
1≤y≤n
. . . 92 3.1.4 Lesfamilles(3ψ
y
)
1≤y≤n
et(ψ
y
)
1≤y≤n
. . . 93 3.2 Les lassesφ
y
(3φ
y
)
etψ
y
(3ψ
y
)
sont équivalentes . . . 94 3.2.1 Deφ
y
(3φ
y
)
versψ
y
(3ψ
y
)
. . . 94 3.2.2 Deψ
y
(3ψ
y
)
versφ
y
(3φ
y
)
. . . 963.3 (
n, k
)-a orddans lemodèleMP
n,t
[Ω
z
]
. . . 993.3.1 Un algorithmepour le (
n, k
)-a ord. . . 1003.3.2 Preuvede l'algorithme . . . 100
3.3.3 Optimalité . . . 104
3.4 Compositiondes lasses
3S
x
et3ψ
y
. . . 1043.4.1 Composant rouedu bas . . . 105
3.4.2 Roue duhaut . . . 109
3.5 Optimalité etimpossibilitésdes ompositions . . . 114
4 Vers une ara térisation algorithmique des déte teurs dedéfaillan es121 4.1 Le modèle
IIS
. . . 1234.1.1 Notion depro essus orre tsdanslemodèles
IIS
. . . 1274.1.2 Identierles plus petitssnapshots :get_smin
()
. . . 1284.2 Restri tiondu domaine de lalutte:
IRIS(PR
C
)
. . . 1304.2.1 Dénition desmodèles
IRIS(PR
C
)
. . . 1314.2.2 Constru tions de
IRIS(PR
C
)
dansle modèlelire/é rire . . . 1344.2.3 Simulation de
IRIS
(PR
3Sx
)
danslemodèleSM
n,n−1
[3S
x
]
. . . 136 4.2.4 Simulation deIRIS
(PR
3ψ
y
)
danslemodèleSM
n,n−1
[3ψ
y
]
. . . 1374.2.5 Simulation de
IRIS
(PR
Ω
z
)
danslemodèleSM
n,n−1
[Ω
z
]
. . . 1404.3.1
3S
x
danslemodèleIRIS(PR
3Sx
)
. . . 1414.3.2
3ψ
y
danslemodèleIRIS(PR
3ψ
y
)
. . . 1424.3.3
Ω
z
danslemodèleIRIS
(PR
Ω
z
)
. . . 1434.4 Cara térisation . . . 143
4.4.1 Simulation de
SM
n,n−1
[C]
dansIRIS
(PR
C
)
. . . 1444.4.2 Cara térisation . . . 152
4.5 Appli ations. . . 153
4.5.1 (
n, z
)-a ord dansIRIS(PR
Ω
z
)
. . . 1544.5.2
Ω
z
par groupes:la lasseΩ
z
x,q
. . . 156 4.5.2.1 La lasseΩ
z
x,q
etlarestri tionPR
Ω
z
x,q
. . . 156 4.5.2.2SM
n,n−1
[Ω
z
x,q
]
vs.IRIS
(PR
Ω
z
x,q
)
. . . 1574.5.2.3 Borne pourle (
n, k
)-a orddansSM
n,n−1
[Ω
z
x,q
]
. . . . 162Con lusion 167
Bibliographie 169
Un système distribué est une olle tion de al ulateurs qui ommuniquent entre
eux. Par exemple, les ar hite tures multi-pro esseurs modernes, les réseaux lo aux de
stations de travail ou Internet sont des systèmes distribués. Un système distribué ou
réparti est don onstitué de deux types d'entités, les al ulateurs ou pro essus et un
système (appelé aussi médium) de ommuni ation. Du fait de leur nature répartie,
es systèmes sont sujetsà diérents typesd'in ertitude qui rendent non triviale, voire
impossible, larésolution denombreux problèmes simples.
In ertitudes Cesin ertitudespeuventgrossièrementêtre lasséesentrois atégories:
1. In ertitudetemporelle.Àladiéren ed'unsystème entralisé,iln'existepas
d'hor-loge globale à laquelle les pro essus peuvent se référer. D'autre part, les délais
d'exé ution d'une même a tion par diérents pro essus sont sujetsà de grandes
variations et sontsouvent imprévisibles. Enparti ulier, les temps detransfert de
donnéesentreles al ulateurssontsujetsàdegrandesvariations.Cesdélaisvarient
parexempleenfon tiondela hargelo aledelama hinesurlaquelleunpro essus
s'exé uteoudépendentdel'étatduréseau.L'estimationde esdélaismetdon en
jeu un grandnombre de paramètres et l'on préfère souvent faire l'hypothèse que
les systèmes sont purement asyn hrones. Les pro essus ont onnaissan e de leur
horlogelo ale,maisn'ont pasa ès àune horlogeglobale :leshorlogeslo ales ne
sont passyn hronisées par un périphérique extérieur.
2. In ertitude sur l'étatdu système. Il n'est pasréaliste de supposer quele système
ne onnaîtrapasde défaillan es.Pluslesystèmeest grand,pluslerisqueque des
omposantsmatérielsoulogi ielssoientdéfaillantsestimportant.Lesdéfaillan es
tou hentlespro essus(pannefran he, omportementbyzantin,parexemple)ainsi
que le médium de ommuni ation (perte de messages, orruption des données
transitant sur leréseau,et .).
3. In ertitudestru turelle.Cesdernièresannées,onassisteàunelargeaugmentation
du nombre d'entités inter onne tées au sein d'un même système (par exemple,
réseau de téléphonie mobile, système pair à pair, et .). Dans de tels systèmes,
les utilisateurs se onne tent par intermitten e et la stru ture du médium de
ommuni ationestsus eptiblede hangerau oursdutemps dufaitpar exemple
delamobilité desusagers. Enn, lenombred'entitésqui omposent lesystèmeà
lo ale del'ensembledu système.
Dans ette thèse,nousnousintéressonsprin ipalement auxin ertitudesdetype
1
et2
.Besoin de oordination La mise en ÷uvre d'un servi e au travers d'un système
distribué né essite un ertain degré de oordination entre les sites de al ul. Les sites
distantsee tuentdes al ulslo auxet ommuniquent entreeuxdanslebutderéaliser
une tâ he ommune. L'a omplissement du but ommun né essitelaprise de dé isions
ommunes. Par exemple, les pro essus doivent régulièrement se mettre d'a ord sur
l'étatd'avan ementdu al ulglobal,ousesyn hroniserpourréglerlesa ès on urrents
àdes stru turesdedonnée partagées.
Pourtenterdemettreenlumière ebesoinde oordinationetladi ultédesamise
en ÷uvre, onsidérons l'exemple suivant. Dans lesystème, il existe un ertain nombre
de ressour es
r
1
, . . . , r
α
. Pour mener à bien son al ul, haque pro essus doit a éder à l'une de esressour es en a ès ex lusif. Unpro essus ne her he pasà a quérir uneressour e parti ulière. Il s'agitsimplement de garantir qu'à haqueinstant, au plusun
pro essusutiliseuneressour edonnée.Parexemple,lesystèmeest omposéd'avionsen
appro he d'unaéroport. Pour éviter les ollisions, haque avion doit hoisir un ouloir
aérien ex lusif.Ou,plus prosaïquement,il s'agitd'attribuer despla es deparkingàun
ensemblede véhi ules.
Une façon simple de résoudre e problème est de désigner une entité parti ulière,
le oordonnateur, quisera hargé d'attribuerles ressour esauxpro essusdemandeurs.
C'est le rle de la tour ontrle de l'aéroport. Cependant, dans ette ar hite ture
en-tralisée le degré de toléran e aux défaillan es est faible puisque lapanne de l'autorité
entrale entraîne l'é roulement ompletdu système.
Pour éviter ela,uneidéenaturelle onsisteà répliquerle oordonnateur :plusieurs
ma hines assurent lafon tion oordinatri e dansle but de pallier à l'arrêt inopiné du
oordonnateur. Dansla répli ation passive,le oordonnateur sauvegarderégulièrement
sonétat ourant (quellessont lesressour esutiliséesetpar qui)surun ensemblede
ré-pli as. S'iltombeen panne,l'undesrépli as est hoisipourprendrelerelais.Ilreprend
l'exé ution à partirdu dernierétat sauvegardé. Cette te hnique né essitedon la
dé-nition de points de reprise ohérents. Remarquons également qu'une partie du travail
ee tuépeutêtreperdue.Eneet,ilestpossiblequelesdernièresa tionsee tuéespar
le oordonnateur avant de défaillir n'apparaissent pasdans le dernier point de reprise
sauvegardé. Ainsi, ette solution estinadaptée à lagestiondu tra aérien.
Larépli ation a tiveviseàtolérerlesdéfaillan esdefaçontransparente.Cha undes
répli as,aulieudesto kerpassivementlesétatssu essifsdu oordonnateurse omporte
ommele oordonnateur. Pour maintenir la ohéren e de l'allo ation desressour es, il
estné essairedemaintenirune oordinationforteentrelesrépli as.Pours'enaper evoir,
envisageonsquelpourraitêtreletraitement d'unedemanded'attributionde ouloirpar
un répli a
m
.m
ne peut unilatéralement attribuer un ouloirr
i
au demandeur. Eneet, un autre répli a pourrait attribuer en même temps la même ressour e
r
i
à unrépli as doivent don semettre d'a ord sur l'attribution des ressour esaux pro essus
ousur l'ordrede traitement desdemandes.
Enn, unedernièresolution onsisteàsepasser omplètement de oordinateur.Les
demandeursee tuentunalgorithmedé entralisépourgérerl'attributiondesressour es.
L'existen e d'untel algorithmen'est a prioripasévidente. En eet,dansle asleplus
défavorable,lesdemandeurssontsus eptiblesdetomberenpanneinopinémentetles
dé-laisde ommuni ationsontimprévisibles.Lessolutionsdutypeattendrelapermission
del'ensembledesautresdemandeursavant d'a quériruneressour esont don vouées
à l'é he . Il s'avère que l'existen e d'unesolution dé entralisée est onditionnée par le
rapportdunombrederessour esdisponiblesaunombrededemandeurs.Parexemple,si
l'onsupposequ'àtoutmoment auplus
3
avionssont enappro hedel'aéroport,ilsut de prévoir7
ouloirs aériens. Il a également été montré que e nombre est né essaire. Autrement dit, il n'existepas d'algorithme dé entralisé qui résout e problème pour3
pro essussus eptibles desubirdesdéfaillan esdansunenvironnement asyn hrone silenombre de ressour esestinférieur à
7
.Maîtriserl'in ertitude Nousvoyonsàtravers etexemplesedessinerlebesoindese
mettre d'a ord.Un problèmeélémentaire,briquefondamentale delamiseen÷uvrede
servi esdistribués tolérant lesdéfaillan es est appelé le onsensus. Sa spé i ation est
très simple. Les pro essus proposent initialement une valeur et doivent s'a order sur
unevaleur ommune hoisieparmilespropositions initiales.Malheureusement, l'undes
résultatsfondamentaux du al ul distribué [48 ℄ est négatif : il n'existe pasde solution
déterministe quitolère lespannes lorsquele systèmeesttotalement asyn hrone.
Plus généralement, un pan de la théorie du al ul distribué est onsa ré à l'étude
de la al ulabilité : quels sont les problèmes qu'il est possible de résoudre en
environ-nement distribué.C'est une question trèsvaste.Il existe eneet une grandevariétéde
modèlesdesystèmesdistribuésquireètentdiérenteshypothèsessurl'ar hite turedu
réseau,lemédiumde ommuni ation oule omportement despro essus défaillants. De
plus, hanger l'un des paramètres du modèle peut entraîner une diminution drastique
de la lasse des problèmes qu'il est possible de résoudre. Par exemple, si le médium
de ommuni ation garantit un délai maximal sur le temps de transfert des messages,
l'impossibilitédu onsensusne tientplus.
Un aspe t marquant de ette théorie estle nombre onsidérablede résultats
néga-tifs.Dans[47℄,Fi hetRupperénumèrentplusieurs entainesderésultatsd'impossibilité
pour diérentsmodèles.Enquoi esrésultatssontimportantspourle al uldistribué?
Ilsnousaidentà omprendrel'essen edu al uldistribué:pourquellesraisons ertains
problèmessontdi iles,quelle ara téristiquerendunmodèlepuissantet omment des
modèles diérentsse omparent. Ils indiquent quellessont les appro hes qui
n'abouti-rontpaslorsquel'on her he unesolutionàunproblèmedonné.Sileproblèmedoitêtre
résolu, la preuve de son impossibilité suggère des dire tions pour modier légèrement
saspé i ationou omment renfor erlemodèlepourobtenir une solutionraisonnable.
algo-Coordination faible en environnement asyn hrone Cette thèse ontribue à la
théorie du al ul distribué tolérant les défaillan es. Nous nous plaçons dans un
envi-ronnement asyn hrone (ni les délais de transmission des données, ni les vitesses des
pro essusnesont onnus)danslequellespro essussont sus eptiblesde s'arrêter
inopi-nément(pannefran heou rash).Dans e ontexte,les her heursontformuléplusieurs
problèmessimplesqui apturentdiérentss hémasde oordination.Nousavons
ren on-trédeux problèmesqui rentrent dans ette atégorie :le onsensus quirequiert queles
pro essuss'a ordent surl'unedespropositionsetl'allo ation deressour es.Les héma
d'allo ation de ressour e esquissé i-dessus est onnu sous le nom du problème du
re-nommage.Chaqueparti ipant possèdeinitialement unidentiantuniqueappartenantà
unvasteespa e etdoitséle tionner unnouveau nomunique dansunespa e pluspetit.
Quelles sont, du point de vue de la al ulabilité, les relations entre es deux
pro-blèmes?Ilest lairqu'à partird'unesolution auproblèmedu onsensus,il estpossible
de onstruire un algorithme pour le renommage - les pro essus semettent
su essive-ment d'a ordsurl'attributiondesnoms.Enfait,ilaétémontréqu'unobjet onsensus
( 'est-à-dire une boîte qui résout e problème) est universel [69℄. Dans un système
munid'objets onsensus, toutproblèmequi possèdeune spé i ation séquentiellepeut
être résolu. Au ontraire, la oordination oerte par un objet renommage est
stri te-ment plusfaible :ilesten général impossiblede résoudrele onsensusà l'aided'objets
renommage. Par opposition au onsensus, nous dirons que le renommage est un
pro-blème de oordination faible. Nous nousintéressons aux relations, du point de vue de
la al ulabilité, entrediérentes in arnationsde la oordinationfaible.
Puisque le onsensus est, en un ertain sens,universel, il est naturel de lasser les
problèmesoulesobjetsparrapportau onsensus.Danslahiérar hie du onsensus [69 ℄,
le rang 1
d'un objet
O
est leplus grandnombrede pro essus pour lesquelsil existe un algorithme,solution auproblèmedu onsensus, quiutilisedesobjetsO
.Enparti ulier, unobjetderang1
n'estd'au uneutilitépourrésoudreleproblèmedu onsensus.Unmot mémoireatomiqueapourrang1
.Quelestlerangdurenommagedans ettehiérar hie? Laréponsedépend du ardinaldel'espa edesnouveauxnoms.Danslemeilleurdes as(taille de l'espa e = nombre de parti ipants), le rang du renommage est
2
. Dès quel'espa e de renommage est supérieur au nombre de parti ipants, le rang s'eondre et
devient
1
. Plus généralement, nous nous intéressons à la lasse des problèmes qui ne sontpas apturéspar lahiérar hiedu onsensus.Lerangd'unobjetquiimplémenteunproblème de ette famille est au mieux
2
, en fon tion des valeurs des paramètres quile dénissent. Le grain de la hiérar hie du onsensus n'est pas susamment n pour
établir des relations entre es problèmes. Ainsi, du seul rang du renommage et d'un
motmémoire,il estimpossible d'endéduirel'existen e oul'impossibilitéde résoudrele
renommage àl'aide demots mémoires.
Le problème emblématique de ette famille, qui a reçu une attention onsidérable
dans la littérature est l'a ord ensembliste. De même que pour le onsensus, haque
pro essus doit dé ider une valeur séle tionnée parmi les propositions initiales.
Cepen-1
dant, lapropriété d'a ord estmoins ontrainte puisquele nombrede valeursdé idées
olle tivement est borné par
k
oùk
est un paramètre du problème. Ce paramètrek
ara tériseen un ertainsens ledegré de oordination. Pour
k = 1
,nousretrouvons leproblèmedu onsensus.
Parallèlement,destravauxont her héàquantierl'in ertitudeinhérenteaumonde
distribué en paramétrant les modèles. Ainsi, un paramètre souvent pris en ompte est
uneborne
t
surlenombremaximaldepannessus eptiblesdeseproduire.Ceparamètreara térise dans une ertaine mesure le degré d'in ertitude du modèle. On omprend
alorsmieuxl'intérêtportéàl'a ordensembliste.Étudierla al ulabilitéde eproblème,
en fon tion des paramètres
t
etk
promet d'obtenir une meilleur ompréhension de ladi ultédela oordinationenenvironnement distribué.Defait, ettelignedere her he
aétéfru tueuse.Elleanotammentétéàl'originedel'introdu tiondeste hniquesissues
de latopologie danslemonde du al uldistribué. Ces te hniques ont donné naissan e
à une nouvelle façon d'appréhender le al ul distribué, omme déformation d'espa es
topologiques.Les déformationsautoriséesdépendentde lapuissan e desobjetsdont le
modèle est équipé, ou du degré d'in ertitude (syn hrone ou asyn hrone, borne sur le
nombre de défaillan es, et .). Le prin ipal résultat est le suivant : en environnement
asyn hrone,il existe unesolution à l'a ordensembliste si, etseulement si,
k > t
.Contributions Cettethèseexplorelaquestionsuivante:Queldegréde oordination
peutêtre atteint enfon tion du degréd'in ertitude du systèmessous-ja ent?
Le hapitre2explorelesrelationsentrediérentss hémasde oordination:a ord
ensembliste,renommageet onsensussimultanés.Ils'avèrequemalgréleurnature
apparemment diérente, ilexiste une ertaineunité entre es problèmes.
Le hapitre3 omparelesdiérenteshypothèsesexpriméesdansleformalismedes
déte teurs dedéfaillan es quipermettentde ir onvenirl'impossibilitédel'a ord
ensembliste.
Enn, dans le hapitre 4 nous her honsà unier l'appro he déte teurs de
dé-faillan es et la vision topologique de l'algorithmique distribuée. Les deux
appro hes visent, dans des adres abstraits diérents, à maîtriser l'in ertitude
danslebutde oordonnerdespro essusauseinde systèmesrépartis.Nous
défen-dons l'idée qu'un adre unié fa ilite la on eption d'algorithmes fondés sur les
déte teurs dedéfaillan esainsiqueladémonstrationderésultatsd'impossibilités.
Les paragraphes qui suivent développent les points i-dessus et pré isent la démar he
adoptée.
L'a ord ensembliste n'est qu'une fa ette des s hémas de oordination. Le
renom-mage abstrait un autre s héma de oordination, en apparen e de tout autre nature.
Nousintroduisons également un nouveau s héma, qui aaiblitle onsensusmais d'une
façon diérente. L'idée est de onsidérer plusieurs instan es du onsensus en parallèle,
haque pro essus devant dé ider dans au moins l'une de es instan es. Là en ore, e
problème ne peut être ara térisé nement dans la hiérar hie du onsensus (son rang
est
1
)etnousnousinterrogeonssursadi ultérelativeparrapportauxdeuxproblèmes évoqués pré édemment. Quelles sont les relations entre es problèmes? À partir d'uneparamètres qui entrent dans laspé i ation (bornesur le nombrede valeursdé idées,
taille de l'espa e de renommage ou nombre de onsensus simultanés)? Ces questions
sont développées dans le hapitre 2. Nous montrons que malgré leur nature a priori
diérente, ilexiste un lienfort entre esproblèmes.
La démar he que nous défendons i i est purement algorithmique. Nous her hons
à pro éder par rédu tions, une démar he lassique dans le monde séquentiel. Au lieu
d'adapterles démonstrations d'impossibilitéexistantes oud'en on evoir de nouvelles,
nous her hons à établir les impossibilités par rédu tion algorithmique en des
résul-tats onnus. Onpeut dresser un parallèle ave l'étude de la lasse des problèmes
NP- omplets. Lapremière démonstration de l'existen ede problèmes NP- omplets [38 ℄
re-posesurl'utilisationdema hinesdeTuring. Par analogie,ladémonstrationde
l'impos-sibilitédel'a ordensemblistereposesurl'utilisationd'outilsmathématiquesissusdela
topologiealgébrique.Par ontre,iln'estpasné essaired'êtreunexpertdansla
manipu-lationdesma hines deTuringpourmontrerqu'un problèmeest omplet dansla lasse
NP.Onpréférerapro éderpar rédu tionalgorithmiqueàpartir deproblèmessimilaires
dont l'appartenan e à ette lasse est onnue. On souhaiterait qu'il en soit de même
danslemonde distribué.De e point de vue, ette thèseenri hit leGarey-Johnson
[60 ℄ dudistribué enintroduisant de nouveaux problèmesainsique deste hniques
algo-rithmiques originales.
Dans une deuxième partie, nous étudions les relations entre les diérents modèles
danslesquelsil existedessolutions auxs hémasde oordinationmentionnés
pré édem-ment.Unmodèledé ritlemédiumde ommuni ationetle omportement despro essus
en temps normal ainsi qu'en as de défaillan e. Il borne également l'in ertitude. Par
exemple, il peut spé ier le nombre maximal de pro essus défaillants (paramètre
t
), desbornes sur les temps de transfert des messagesou sur lavitesse despro essus. Unformalisme puissant pour exprimer es diérentes restri tions est elui des déte teurs
de défaillan es [30℄.L'idée est d'enri hir le modèle omplètement asyn hrone ave des
ora les qui fournissent des informations relatives au motif des défaillan es de
l'exé u-tion ourante.Cesora lessontspé iéspardespropriétésabstraitesparoppositionsaux
propriétés physiques duréseau sous-ja ent.La pertinen edesinformationsfournies est
supposée abstraire des propriétés de syn hronie du système sous-ja ent. Par exemple,
un ora le déte teurde défaillan esindiquera lalistedespro essus défaillants. Dansun
systèmes syn hrone (les délaisde transmissiondes messagessont bornés et onnus), il
estfa iledemettreen÷uvreuntel déte teuràl'aided'envois périodiquesdemessages
je suis vivantet délaisdegarde.
Danslalittérature, plusieursfamillesdedéte teursontétéintroduitesdanslebutde
résoudrel'a ord ensembliste. Dansle hapitre 3,nousétudions esdiérentes familles
et her honsàles lasser.Nousrépondonsàdesquestionsdutype:Étant donnésdeux
déte teurs
C1
etC2
, est-il possible de mettre en ÷uvreC1
à l'aide deC2
? Peut-on les ombiner pour obtenir undéte teurC
plus puissant?Pluspuissant s'entendi i omme undéte teuràl'aideduquel ilestpossiblederésoudreunproblèmeplusdi ile quelesproblèmes qu'il estpossible de résoudreen utilisant uniquement
C1
ouC2
.impossibles àrésoudre possèdent maintenant des solutions.Intuitivement, l'adjon tion
del'ora leentraîneladiminutiondel'in ertitude.Cependant,lanaturede ette
restri -tion demeure in onnue. D'autre part, l'appro he topologique a amené ladénition
de modèles dans lesquels les exé utions sont hautement stru turées. Ces modèles
fa- ilitent l'examen de l'ensemble des exé utions possibles et don aident à établir des
résultatsd'impossibilité.Dufaitdeleurgrandestru ture,ilestplusfa iled'obtenirdes
résultats positifs en onstruisant des algorithmes. Dans le hapitre 4, nous her hons
à mieux omprendre omment les déte teurs restreignent l'in ertitude du système en
étendant esmodèles stru turéspour prendreen ompte lesdéte teurs de défaillan es.
Nous pensons également que ette appro he pourraitêtre bénéque pour lare her he
Cadre de l'étude
Dans e hapitre, nous dénissons les modèles de systèmes que nous utiliserons et
pré isonslesnotionsévoquéesdansl'introdu tion.Nousintroduisonsd'abordlemodèle
de al ul dans leparagraphe 1.1. Le paragraphe 1.3 présente l'outillage algorithmique
ayant trait à la syn hronisation d'informations globales. Pour résoudre un problème
donné, il est souvent utile que les pro essus obtiennent des vues des informations qui
nedièrent pastrop.Lesprimitives, onstruitesàpartirdesopérationsde basedes
modèles hoisis, permettent l'obtention de telles vues. La paragraphe 1.4 formalise la
notion de problème de oordination etprésente su in tement les prin ipaux résultats
liésàla al ulabilitéde problèmes d'a ord usuels.Enn, le paragraphe 1.5résumeles
prin ipaux résultatsobtenus au oursde ette thèse.
1.1 Modèles de systèmes distribués
Notre étude se déroule dans les modèles standards du al ul distribué. Nous
ren-voyons lele teurà [121, 82℄pour une présentation exhaustive et détaillée.
1.1.1 Pro essus
On onsidère un système statique, 'est-à-dire omposé d'un nombre ni
d'enti-tés de al ul ou pro essus. Les pro essus sont indexés de
1
àn
(n > 1
). On noteraΠ = {p
1
, . . . , p
n
}
l'ensemble despro essusqui omposent lesystème. L'indexi
du pro- essusp
i
n'est pas né essairement onnu dep
i
. Cet index simplie la des ription des algorithmes etla présentation desdémonstrations.Lespro essusnesontpasanonymes.Chaquepro essuspossède uneidentité propre.
Par exemple, un pro essus peut être identié par le ouple (adresse IP, numéro de
port) dansun réseau lo al. L'identité
id
i
est initialement onnue dep
i
mais n'est pasné essairement onnu des autres pro essus. On supposera ependant que les identités
sont deux à deux distin tes et totalement ordonnées (par exemple, les identités sont
tiréesparmilesentiersnaturels).Lorsquetouteslesidentitéssontinitialement onnues,
Poursimplierlaprésentationdumodèle,onsupposequ'ilexisteunehorlogedis rète
globaleet ommuneàtouslespro essus.Ils'agitd'unpériphérique tif:lespro essus
n'yontpasa ès.
T
désignel'ensembledesvaleurspouvantêtreprisespar ettehorloge. On onfondT
ave l'ensemble desentiers naturels.Défaillan e des pro essus Il estpeuréalistede onsidérer quetousles omposants
d'un système sont ables. Plus on augmente le nombre de ma hines ou le nombre de
programmes, pluslaprobabilitéd'unefautematérielle oulogi ielle estimportante. Les
pro essus sont sus eptibles de onnaître des défaillan es. Dans ette thèse, nous nous
limitons aux défaillan es de type panne fran he ou rash. Dans e modèle de faute,
un pro essusdéfaillant arrête soudainement d'exé uterle ode quilui aété attribuéet
n'ee tue alors au un al ul. En parti ulier, il esse de ommuniquer ave les autres
pro essus.Étantdonnéeuneexé ution,unpro essusestdit orre t s'ilnetombepasen
panne au oursde ette exé ution. Dansle as ontraire, il est ditfautif ou défaillant.
Le paramètre
t
, (0 < t < n
) dénote le nombre maximal de pro essus défaillants danstoute exé ution. Dans une exé ution donnée, nous noterons
f
(0 ≤ f ≤ t
) le nombreee tifde pro essusdéfaillants.
Motif de défaillan es Unmotif de défaillan e
F
estune fon tion deT
vers2
Π
,oùF (τ )
représente l'ensembledes pro essusdéfaillants à l'instantτ
.Dès qu'un pro essus tombe en panne, il ne peut reprendre son a tivité, d'où l'in lusion∀τ ∈
N : F (τ ) ⊆
F (τ + 1)
NousnotonsF
l'ensemble desmotifsde défaillan es.Soit
F ∈
F
.L'ensemble des pro essus fautifsFautif
(F )
dans le motifF
est déni parFautif
(F ) = ∪
τ∈T
F (τ )
.Demême,l'ensembledespro essus orre tsCorrect
(F )
est déniparCorrect
(F ) = Π−Fautif (F )
.Unpro essusp
i
∈ F (τ )
/
estditvivant àl'instantτ
etdéfaillant dansle as ontraire.La notiond'environnement
E
ara térise lesmotifsdedéfaillan eadmissibles. Nous onsidéronsprin ipalement l'environnementE
t
qui ontienttouslesmotifsdanslesquels auplust
pro essussontdéfaillants.Formellement,E
t
= {F ∈
F : |Fautif (F )| ≤ t}
.PourF ∈ E
t
, le ardinal de l'ensemble des pro essus fautifsFautif
(F )
est notéf
(0 ≤ f ≤
t
). On supposera également l'existen e d'au moins un pro essus orre t ainsi que la possibilitéd'au moinsune défaillan e,i.e.,1 ≤ t ≤ n − 1
.1.1.2 Médium de ommuni ation
Une autre ara téristiqueimportantedessystèmesdistribuésestl'interfa e de
om-muni ation. Ondistingue prin ipalement deux modèles de ommuni ation :passage de
messages et mémoire partagée. Dans le premier modèle les pro essus ommuniquent
en s'é hangeant des messagesqui transitent via un réseau de ommuni ation. Dans le
1.1.2.1 Modèle à messages
Dans e modèle, les pro essus ommuniquent en s'é hangeant des messages. Les
pro essussont reliés par des anaux de ommuni ation dont l'interfa e omportedeux
primitives :
send
(msg)
envoiele messagemsg
surle anal onsidéré.re eive
()
retourne lepremiermessage danslaled'attentedu anal.Nous ne faisons d'hypothèse ni sur l'ordre de ré eption des messages ni sur les délais
de transmission. Cependant, haque anal est able : il ne perd, n'altère nine rée de
nouveaux messages. En parti ulier, si
p
i
envoie un messagem
alors le destinataire le re evraàmoinsqu'ilnedéfaille.Noussupposonsquelatopologieduréseauestlegrapheomplet. Chaque paire de pro essus est don onne té par un anal. Cette hypothèse
est assez réaliste ar on ne s'intéresse pas à la omplexité du routage. Sur un réseau
omme Internet, deuxpro essuspeuvent ouvrirune onne tions'ils lesouhaitent.
Laprimitivedediusionbroad ast
(m)
estunra our ipourle odesuivant:forea hj ∈ Π
dosend(m)
top
j
enddo.Sil'émetteurp
i
défailleau oursdel'exé utionde ette bou le,m
n'est peutêtre pasenvoyé à ertains pro essus. Pour pallier e problème et danslebutdesimplierla on eptiondesalgorithmes,nousenri hissonslemodèleaveune primitive de diusion able [67 ℄. L'abstra tion diusion able ore deux
primi-tivesR_b ast
(m)
/R_deliver()
quipermettent auxpro essus de diuseret re evoir des messages(Nousdirons alors qu'un pro essusR
_diuse ouR
_livre unmessagem
).Uneprimitivedediusionable 1
R_b ast
()
/R_deliver()
estdénieparlespropriétés suivantes :Dénition 1.1 (Diusion able) LapairedeprimitivesR_b ast
()
/R_deliver()
dela diusionable satisfait(les messages sontsupposés uniques):Validité Si unpro essus
R
_livrem
alors unpro essus apré édemmentR
_diusém
;Intégrité Un pro essus
R
_livre un messagem
au plus une fois;Terminaison Si un pro essus orre t
R
_diuse un messagem
alors ilR
_livre lemessage
m
;A ord Si un pro essus
R
_livrem
alorsm
estR
_livré par tous les pro essus orre ts.Ladiusionableimposedon quelespro essuss'a ordentsurlesmessageslivrésmais
n'impose pas d'ordre sur la livraison des messages. De même, es primitives n'orent
pasdegarantietemporelles.Un message
R
_diusé serareçupar un pro essus orre t, ependant ledélai de transmissionn'est pas onnu nibornéa priori. On observe ennque les pro essus orre ts livrent le même ensemble de messages
E
. Par ontre l'en-semble des messagesR
_livrés par les pro essus fautifs est un sous-ensemble deE
. Il estpossibled'implémenter lesprimitivesR_b ast()
/R_deliver()
àpartir desprimitives debasesend()
/re eive()
entolérant unnombrequel onquede pro essusfautifs [67℄.On n'augmentedon paspuissan ede al uldumodèleensupposant queles pro essusonta èsaux primitives R_b ast
()
/R_deliver()
. 1p
1
p
2
p
3
p
4
zoneex lusive dep
1
zoneex lusive dep
3
zoneex lusive dep
2
zoneex lusive dep
4
M
M
[1]
M
[2]
M
[3]
M
[4]
write()
read()
Fig. 1.1 Mémoirepartagée à é rivainunique,
n = 4
1.1.2.2 Mémoirepartagée
Dans un modèle à mémoire partagée, lespro essus partagent une entité ommune,
la mémoire. Pour simplier le raisonnement, nous supposons que ette mémoire est
omposée en registres atomiques ommuns [69 , 80℄. Nous onsidérons dans ette étude
desregistresàé rivain unique.Chaqueregistre nepeutêtreé ritqueparun pro essus
donné.La mémoire peutêtrevue ommeuntableau
M
diviséenn
zones, haque zoneorrespondant àlazoned'é riture d'unpro essusdonné.Un telsystèmeestreprésenté
danslagure1.1.
1.1.2.3 Rédu tion entre modèles
Dans ette thèse,nousnousintéressonsprin ipalement àla al ulabilité.À etitre,
unequestionnaturelleestlapuissan erelativedesdeuxmodèlesexposés i-dessus.Etant
donné unproblème
P
quel'onpeutrésoudredansl'undesmodèles de ommuni ation,peut-onlerésoudre dansl'autremodèle de ommuni ation?
Il n'est pas di ile de se onvain re que dansle modèle à mémoire partagé, il est
aisé de simuler lemodèle à passage de messages. Par exemple, haqueregistre
R[i]
est diviséenn
zones.Poursimulerl'envoid'unmessagem
versp
j
,p
i
é ritm
danslai
-ième zonedeR[i]
.p
j
peutalorsobtenirlesmessagesquiluisontadressésenobservant ha un desregistres.Dansl'autredire tion,ilaétémontré omment onstruireunregistreatomiquedans
lemodèleàpassagedemessages[14℄.Cependant, ettesimulationrequiertunemajorité
de pro essus orre ts(
t <
n
2
).1.1.3 Aspe ts temporels
Dans le asd'un système entralisé, on supposeen général qu'il existe une horloge
globalea essible par les pro essus, qui permet dedater de façon univoqueune a tion
Systèmes syn hrones Dans le modèle syn hrone [36 ℄, les pro essus exé utent des
rondes su essives.Durant haque ronde, les pro essus ommuniquent entre euxet
ef-fe tuent des al uls lo aux. Lorsqu'un pro essus termine la ronde
r
, il a la ertitude qu'à etinstant tousles pro essus orre ts qui parti ipent au proto oleont égalementterminé ette ronde. Ce modèle est très puissant : il est possible de résoudredes
pro-blèmesquel'onnepeutpasrésoudredansd'autresmodèles(typiquement,le onsensus
peut être résolu dans e type de système [82 ℄). La propriété d'un système syn hrone
estqu'il existe une bornesupérieure sur letemps de transmission desmessages etune
borne maximale surle temps d'exé ution d'uneétape de al ul. Deplus, les pro essus
onnaissent esbornesetdisposentd'horlogessyn hronisées.Ladéte tiondespro essus
défaillantsestdon fa ilementmiseen÷uvreparunmé anismedetypedélaisdegarde.
Cependant, en dehors de ertaines ar hite tures dédiées, il est souvent impossible
d'établir des bornes supérieures utilisables sur le temps de transfert des messages ou
letemps d'exé ution despro essus. Néanmoins,dansle adreplus théorique de la
al- ulabilité, il estintéressant de re her her dessolutions algorithmiques dans e modèle.
Un résultatd'impossibilité s'étendraimmédiatement danstoutmodèle qui autoriseun
omportement syn hrone. De plus, il existe un lien fort entre e a ité syn hrone et
degréde toléran e auxfautesdanslemodèleasyn hrone[50 , 101 ,91℄.
Systèmes asyn hrones Dans un système asyn hrone, il n'existe pas de bornes sur
les temps de al ul, de transmission desmessages ou de le ture/é riture des registres.
Ce modèle est simple et orrespond aux observations des systèmes réels. En eet, en
fon tion dela harge duréseau ou despro esseurs, lestemps de al ulou les délaisde
transmissions sont variableset di ilesà prévoir. Bien queplus réalisteque lemodèle
syn hrone, lemodèle asyn hrone sourede satrop grandegénéralité :ilest très faible
etdenombreux problèmes n'ont pasde solution dans e modèle.
Danslemodèlesyn hrone, l'é oulement dutemps oreunrepère ommunaux
pro- essus.Par ontre,dansle aspurementasyn hrone,seulel'interfa ede ommuni ation
peutorirun telrepère. Plus e médiumore degaranties, plusles algorithmesseront
simples et e a es. À titre d'exemple, le médium de ommuni ation peut assurer un
ordresurlalivraisondesmessages,lapersistan edesdonnéesenvoyéesouune
syn hro-nisationplusou moinsfortesurlesvues su essivesde esdonnées. Pluslemédiumde
ommuni ation ore de garanties, plus la on eptiond'algorithmes sera fa ilitée. Nous
verronsdansleparagraphe 1.3diérentesprimitivesde ommuni ationquiorentplus
oumoins degaranties.
Entre syn hrone et asyn hrone Les modèles syn hrones et asyn hrones
repré-sententdeuxextrêmesdansl'ensembledesmodèlespossibles.Danslemodèlesyn hrone
pur,tousles paramètres temporelssont bornés et esbornessont onnues. Àl'inverse,
rienn'est onnu sur les paramètres temporelsdansles modèles asyn hrones purs.
Plu-sieursmodèlesditspartiellementsyn hrones ontaussiétéproposésandeserappro her
du omportement d'unsystèmeréel.
Dans un premier modèle, il existe des bornes sur les délais de transmission des
messagesou le temps né essairepour ee tuer un pas de al ul. Cependant, es
bornes ne sontpas onnuespar les pro essus.
Dansune autreversion, lesystèmese omportede façonsyn hroneà partir d'un
ertaintemps appeléGST (pour Global Stabilization Time).
Les auteurs étudient ha un des modèles asso iés aux paramètres de es hypothèses
(borne onnueouin onnue,stabilisationimmédiateouinélu table)etmontrentque
er-tainsproblèmesàrésoudredanslemodèlepurementasyn hroneledeviennent.D'autres
travaux, en relation ave la re her he de la syn hronie minimale né essaire pour
ré-soudre le onsensus, étudient des restri tions spatiales du modèle partiellement
syn- hrone [8 , 9, 13, 83 , 112℄. Dans es systèmes, seule une partie du système exhibe un
omportement syn hrone àpartird'un ertain temps.
Dans le modèle asyn hrone temporisé [40 ℄, l'hypothèse une borne
x
apparaîtraà partir d'un ertain temps est rempla ée par une borne
x
apparaîtra innimentsouvent.Cemodèleessaiedetraduirel'observationquelessystèmesréelsos illententre
périodes stables et périodes instables. Il généralise les modèles proposés dans [44 , 45℄.
D'autresmodèlesranentlesmodèles i-dessus.Parexemple,lemodèlequasi-syn hrone
[10 ℄ impose des bornes onnues sur la vitesse d'exé ution, le délai de transfert des
messages,ledé alagetemporeldeshorlogeslo alesetla hargedusystème.Cependant,
ha unede esbornespeutêtre violée ave une probabilité
p
onnue.Cebrefsurvolmontrequ'ilexisteunemultitudedemodèlesqui orrespondentà
dif-férentsdegrésd'in ertitudetemporelle.D'autrepart,unemodélisationned'unsystème
réelné essiteungrand nombredeparamètres [10℄.Dans ettethèse,nous hoisissonsle
modèle purement asyn hronepour sasimpli itéetsagénéralité.En eet,toutrésultat
positifdans emodèles'étendauxmodèles quiimposentunerestri tion sur
l'asyn hro-niedusystème.Enn, ommenousleverronsparlasuite(paragraphe1.2),lasyn hronie
d'un modèle peutêtre abstraite au travers d'ora les appelés déte teur de défaillan es.
Aulieudefairedeshypothèsestemporelles,nousenri hirons lemodèleasyn hroneave
desora les (les déte teurs de défaillan es) qui masquent despropriétés temporelles du
système.
1.2 Déte teurs de défaillan es
Comme nous l'avons vu, les pro essus sont sujets aux rashs ou pannes fran hes.
La di ulté ou l'impossibilitéde résoudre unproblème donné provient essentiellement
de la ombinaison desdéfaillan es etde l'absen e de repères temporels. En eet, dans
unmodèle purement asyn hrone, ilestimpossiblede distinguerun pro essusdéfaillant
d'unpro essustrès lent.En parti ulier, il estimpossiblede résoudrele onsensusdans
un modèle purement asyn hrone dans lequel un pro essus est sus eptible de défaillir
[48 ℄.
Pour ontourner ette impossibilité, les her heurs ont renfor é leshypothèses
du modèle sur la al ulabilité? Par exemple, onsidérons le onsensus etl'un des
mo-dèlesintroduitparDwork,Lyn hetSto kmeyer[45℄.Danslesexé utionsde e modèle,
ilexistedesbornessurles délaisdetransfert desmessagesainsiquesurladurée
maxi-maled'uneétapede al ul.Bienque esbornesnesoient pas onnuesapriori,ils'avère
qu'ilexiste unalgorithmede onsensusqui tolèreuneminorité de pro essusdéfaillants
(
t <
n
2
).Abstraire les hypothèses temporelles Ainsi,ilestpossiblederésoudrele
onsen-sus si nous restreignons l'in ertitude temporelle. De façon équivalente, le nombre de
problèmes qu'il est possible de résoudre si le système est équipé d'un mé anisme qui
donne desinformationssur lesdéfaillan es augmente.
Supposonsquelespro essusexé utentl'algorithmede déte tiondedéfaillan es
sui-vant [30,45℄.Périodiquement, haque pro essus
p
i
émet unmessagep
i
estvivantet attendensuitedesmessagesdeviedesautrespro essusavantl'expirationd'undélaide garde. Si la minuterie expire avant la ré eption d'un message
p
j
est vivant,p
i
in lutp
j
danslalistedespro essussuspe ts.Siplustard,p
i
reçoitunmessagedep
j
,il endéduitqu'ill'asoupçonnéàtortetleretiredon delalistedessuspe ts.Ilaugmenteégalement le délai de laminuteriepour éviter qu'une telleerreur ne se reproduise.Les
propriétésdesyn hroniepartielledumodèleimpliquent l'existen ed'uninstantàpartir
duquel tous les pro essus défaillants seront soupçonnés en permanen e tandis que les
pro essus orre ts neseront plusjamaissoupçonnés àtort.
L'information sur les défaillan es produite par l'algorithme i-dessus dans un
sys-tème partiellement syn hrone peutêtre abstraite de lafaçon suivante. Soit un modèle
purementasyn hronedanslequellespro essusonta èsàunora le distribué.À haque
pro essuset à haque instant, l'ora le fournit une listede pro essussuspe ts.L'ora le
garantit qu'il existe un instant àpartir duquel (1)tous les pro essusdéfaillantsseront
toujourssoupçonnéset(2)au unpro essus orre tne serajamaisplussoupçonné.Cet
ora le estledéte teur dedéfaillan es inélu tablementparfait
3P
.Quelleestlapuissan ede al uldanslenouveaumodèleenri hi?Ilaétémontréqu'à
l'aide de etora le en apparen e très faible et peu able (les pro essus ne onnaissent
pas l'instant à partir duquel les listes de suspe ts sont pertinentes), il est possible de
résoudrele onsensusmalgré les défaillan eséventuelles d'unefra tiondespro essus.
Capturerlasyn hronieminimale L'appro hedéte teursdedéfaillan es[30℄ onsiste
àenri hirlemodèleasyn hroneave unora lequifournitdesinformationsplusoumoins
pertinentes, aulieuderestreindreexpli itementl'asyn hronieenfaisantdeshypothèses
temporelles.À travers etteabstra tion,on her heà ara tériserlaquantitéde
syn- hronie minimalené essaireetsusante pour résoudreun problèmedonné.
Certains déte teurs sont omparables par l'intermédiaire de rédu tions
algorith-miques.Un déte teur
D
estdit plusfaible qu'un autredéte teurD
′
s'il existeun
algo-rithme distribué fondé sur
D
′
dont la sortie satisfait la spé i ation de
D
. On noteraD
′
; D
l'existen ed'un telalgorithme. Intuitivement, leshypothèses temporelles
abs-traites par
D
sont plus faibles que elles apturées parD
′
P
impossible à résoudre dans un modèle purement asyn hrone, ette notion d'ordre permetde dénir (s'il existe)le plus faible déte teurD
min
pour e problème.D
min
est minimalpourP
s'ilexisteunalgorithmequirésoutP
dansunmodèleasyn hronemuni d'untelora leetsipourtoutdéte teurD
àl'aideduquelP
peutêtrerésolu,D ; D
min
.Étonnamment, pour ertains problèmes un tel déte teur minimal existe et a été
identié.Le premierrésultatdeminimalitéa étéétablipourle onsensuspar Chandra,
Hadzila os etToueg [29 ℄.Plus tard, d'autreséquipesont identié ledéte teur minimal
pour plusieurs problèmes fondamentaux en environnement réparti. Citons notamment
l'implémentation d'unregistreatomique danslemodèleàpassage demessages,lorsque
lenombrede pro essusdéfaillants n'est pasbornéa priori (
t = n − 1
) [42℄, l'ex lusion mutuelletolérante auxdéfaillan es[43℄, lavalidation atomique non bloquante[62, 79℄.Les paragraphes suivants dénissent formellement la notion d'ora le déte teurs de
défaillan es. Lesdénitions sont issuesdu travail fondateurde Chandra et Toueg [30 ℄.
1.2.1 Dénition
Un déte teurdedéfaillan es estunora le quifournit à haqueinstantdes
informa-tions plus ou moinspertinentes surl'état des pro essus(vivant ou défaillant). Au une
ontrainten'estimposéesurl'en odage de etteinformation.Ilestseulementrequisque
laspé i ationdelasortiedel'ora le dépende uniquementdes défaillan es ( 'est-à-dire
qu'undéte teurnefournitpasd'indi ationssurlesvaleursdesvariableslo alesdes
pro- essus). D'un point de vue opérationnel, haque pro essus
p
i
est muni d'une variable lo alefdi
a essibleseulement enle ture.Lesvaleurssu essivesde ettevariablesont ontrléesparledéte teurdedéfaillan es.Lepro essusp
i
peutàtoutinstantinterroger ledéte teur enlisant lavaleur ourante de lavariablefdi
.Une lassededéte teurdedéfaillan esestasso iéeàunensemble
R
(éventuellement inni),quireprésentedesvaleurspotentiellementfourniesparlesdéte teursappartenantà ette lasse. Un historiquede déte tion dedéfaillan es
H
estune fon tiondénie surΠ ×
T
à valeur dansR
.H(i, τ )
représente l'information fournie par le déte teur au pro essusp
i
à l'instantτ
. Un déte teur de défaillan esD
à valeurs dansR
D
est unefon tion qui asso ie à haque motif de défaillan es
F
un ensemble d'historiques dedéte tion à valeurs dans
R
D
. Cet ensemble notéD(F )
orrespond à l'ensemble deshistoriquesde déte tion autorisés par
D
pour lemotifF
. Lorsquep
i
lit fdi
, ilobtientpar onséquent une valeur
d ∈ R
D
qui en ode de l'information relative au motif dedéfaillan e ourant. Remarquons qu'au une hypothèse n'est faite sur l'ensemble des
valeurs possibles
R
D
. Cependant, un déte teur ne peut fournir d'information sur le al ulee tuépar unpro essusdonné.Àpartir defdi
,p
i
peutaumieuxdéduirel'état (vivant oudéfaillant)d'unpro essus.À titred'exemple, nous donnonsla spé i ation des lasses mères dont les
dé-te teurs étudiésdans ette thèsesont issus.
Ledéte teurparfait
P
[30 ℄fournitunelistedepro essusde onan eà haque pro essus.Chaquepro essusestmunid'unevariabletrustedi
qui ontientun en-sembled'identitésdepro essussupposés orre ts.P
garantitla omplétudeforte :faillantsetlapré ision forte : haque pro essusfait toujours onan eà tousles
pro essus orre ts. Le déte teurest don à valeur dans
R
P
= 2
Π
etétant donné
un motif de défaillan es
F
,leshistoriques de déte tion permis doivent vérier:∃τ ∈
T, ∀i ∈ Π, ∀τ
′
: (Correct (F ) ⊆ H(i, τ
′
)) ∧ (τ
′
≥ τ ⇒ H(i, τ
′
) = Correct (F ))
C'est-à-dire de façon plusopérationnelle :
∃τ ∈
T, ∀i ∈ Π, ∀τ
′
: (Correct ⊆
trustedτ
′
i
) ∧ (τ
′
≥ τ ⇒
trustedτ
′
i
= Correct )
De même que
P
, le déte teur inélu tablement faible3S
[30℄ fournit une listed'identités de pro essus de onan e supposés orre ts. Cependant les garanties
oertes par e déte teur sont plus faibles. Au bout d'un ertain temps, un
dé-te teur
3S
fournit une liste qui ne ontient pas d'identité de pro essus fautifs ( omplétude forte) etil existe un pro essus orre t à qui tous les pro essusfontonan e (pré ision faible inélu table). Formellement, étant donné un motif de
défaillan es
F
,H ∈ 3S(F ) ⇔
∃τ ∈
T, ∃c ∈ Correct(F ), ∀i ∈ Π, ∀τ
′
≥ τ : H(i, τ
′
) ⊆ Correct (F ) ∧ c ∈ H(i, τ
′
)
ou, ensupposant que ledéte teur ontrle le ontenu desvariables trusted
i
:∃τ ∈
T :
[
τ
′
≥τ,i∈Π
trustedτ
′
i
⊆ Correct (F )
∧
\
i∈Π,τ
′
≥τ
trustedτ
′
i
6= ∅
Le déte teur leader
Ω
[29 ℄ fournit à haque pro essus une identité. Il existe un instant à partirduquel la même identité est fournie àtous les pro essus et etteidentité orrespondà un pro essus orre t.Soit
F
un motif défaillan eH ∈ Ω(F ) ⇔ ∃τ ∈
T, ∃c ∈ Correct(F ), ∀i ∈ Π, ∀τ
′
≥ τ : c = H(i, τ
′
)
On noteraleaderi
lavariable ontrléepar un déte teurΩ
surle pro essusp
i
. Les spé i ations de es trois lasses font apparaître ertaines relations entre estrois déte teurs. Par exemple, étant donné un motif
F
, tout historiqueH ∈ Ω(F )
appartient à
3S(F )
.Demême, l'ensembledeshistoriques quisatisfont laspé i ation du déte teurP
est in lus dans3S(F )
.Intuitivement, le déte teurP
est plus fort queles déte teurs3S
etΩ
.Rédu tion Nouspouvons maintenant formaliser lanotion de rédu tionentre
déte -teurs de défaillan es déjà esquissée pré édemment. Soient
D
etD
′
deux déte teurs de
défaillan es. S'il existe un algorithme
T
D
′
→D
qui transformeD
' enD
,D
est dit plus faible queD
′
(noté
D
′
; D
). Un tel algorithme maintient sur haque pro essus
p
i
unevariableout_d
i
dont lesvaleurssu essivessont ompatiblesave ledéte teurD
.Par ompatible, nous entendons que pour tout motif de défaillan es
F
et pour touteexé ution dans laquelle les défaillan es suivent
F
, l'historique de déte tionH
′
(i, τ )
,
'est-à-dire les valeurs su essives de out_d
i
appartient àD
′
(F )
. Notons que
T
D
′
→D
n'émulepasné essairementl'ensembledeshistoriquesdedéte tiondedéfaillan esdeD
. L'algorithme doit seulement assurerque tousles historiques de déte tion qu'ilproduitappartiennent à
D
′
.1.2.2 Modèles hoisis et notations
Dans ette thèse,nousnousplaçonsdansun modèledanslequel
n
pro essus(n
est onnu a priori) s'exé utent de manière totalement asyn hrone. Ces pro essusommu-niquent par passage de messages ou par l'intermédiaire d'unemémoire partagée. Dans
e dernier as, la mémoire est omposée de registres atomiques à é rivain unique. Le
médiumde ommuni ation, 'est-à-direlatransmissiondesmessagesoulamémoire
par-tagéeestable.Par ontre,lespro essussontsus eptiblesde onnaîtredesdéfaillan es.
Le seul type dedéfaillan e quenous onsidérons est lapanne fran he, 'est-à-dire
l'ar-rêtinopiné d'unpro essus. Au ours d'uneexé ution,le nombremaximalde pro essus
qui tombent en panne est noté
t
. Nous enri hirons lemodèle ave des ora les de type déte teurs de défaillan es.Soit
C
undéte teur dedéfaillan es. Nous utiliseronsles notations suivantes:MP
n,t
[C]
désigne lemodèleasyn hroneave ommuni ationpar passagedemes-sages dans lequel les pro essus ont a ès à un déte teur
C
. Les indi esn
ett
désignentrespe tivementlenombredepro essusetlenombremaximaldepannespouvant survenir dans haqueexé ution.
SM
n,t
[C]
désigne le modèle asyn hrone ave ommuni ation par registres munid'undéte teur
C
.Lesindi esn
ett
ontlamême signi ationquepré édemment. Par extensionMP
n,t
[∅]
etSM
n,t
[∅]
désignent des modèles asyn hrones pures, 'est-à-dire quine béné ient d'au un ora le.1.3 Outillage algorithmique
Nous nouseorçonsd'adopterune appro he algorithmique. Comme notédans[22 ℄,
Identifying high-level onstru ts is essential for advan ing the artof
distri-buted algorithm design.
Cettepartie présente des onstru tions de haut niveau dansle modèle àmémoire
par-tagée. Ces onstru tions ont pour but defournir auxdiérentspro essusdesvues d'un
étatglobal ourantquinedièrentpastrop.Ilestimportantdesoulignerquetoutes
les onstru tions présentées i-aprèsn'augmentent paslapuissan e al ulatoiredu
mo-dèle de base. Pour ha une d'entre elles, il existe un algorithme qui tolèreun nombre
arbitrairede défaillan es (
t = n − 1
) danslemodèleSM
n,t
[∅]
.Syn hronisationdevues Nousavonsprogressivementenri hilemodèleàpassagede
messages
MP
n,t
[∅]
,d'abordave laprimitivebroad ast()
/deliver()
puisave laprimitive R_b ast()
/R_deliver()
.Cesabstra tionsquiorentunesémantiquedeplusenplusri he fa ilitentla on eptiond'algorithmesdistribués.Deplus ha uned'entreellespeutêtreonstruite àpartirde laprimitive de basedumodèle send
()
/re eive()
.Cesabstra tionson ernent la diusion globale d'informations à travers tout le système. Un appel à
R_b ast
()
(ou broad ast()
) introduit un nouveau blo d'informations dans le système tandis qu'en appelant R_deliver()
(ou deliver()
) un pro essus enri hit sa onnaissan eCe type de problème (diusion de l'état lo al/ onnaissan e de l'état global) a
lar-gement étéétudié dansle adre dumodèle mémoirepartagée
SM
n,t
[∅]
.Ci-après, nousdressons un brefpanorama desprimitives onnues qui permettent de al uler une vue
del'état du systèmeave diérents ritères de ohéren e.
Ces primitivessont toujoursdénies par un ouple de fon tion(é rire/lire);la
pre-mière permet de sto kerune information à destination desautres pro essus (diusion
del'étatlo al),ladeuxièmeapour butd'obtenirlesvaleurssto kéesparlesautres
pro- essus. Pour ha une des primitives dénies i-après, il existe une implémentation qui
tolèreunnombrearbitrairededéfaillan es(
t = n − 1
)àpartir deregistresatomiquesà é rivainunique. Puisque notre étude s'intéresse prin ipalement à la al ulabilité, noususonssans réserve de esabstra tionsdans les hapitressuivants.
Pour simplier les dénitions, nousnous plaçons dansle ontexte suivant : haque
pro essus
p
i
possède une valeurv
i
appartenant à un alphabetV
et désire onnaître la valeur des autres pro essus. Pour une exé ution donnée, les valeurs initiales sontreprésentées par un ve teur
I ∈ V
n
telque
I[i] = v
sip
i
possède initialement lavaleurv
ou⊥
sip
i
ne parti ipe pas. Une vue du systèmeobtenue par un pro essusp
i
est un ensemblesm
i
de paires< j, v
j
>
oùv
j
estlavaleurinitialedep
j
.Par un légerabusde notation,nousnoterons pourj ∈ sm
i
ouv
j
∈ sm
i
lorsque< j, v
j
>∈ sm
i
.1.3.1 Colle te
Une primitive de olle te simple 2
[68, 121 ℄ garantit que haque pro essus obtient
des valeurs au moins aussiré entes que elles de sa dernière le ture. Formellement, la
sémantique dela pairewrite
(v)
/ olle t()
estlasuivante(voirpar exemple [6℄).Dénition 1.2 (Colle te) Si unpro essus
p
i
exé ute l'opérationop
:sm
i
←
olle t()
alors :1.
∀j : j /
∈ sm
i
⇒
au une opération write(v)
dep
j
nepré èdeop
;2.
∀j :< j, v >∈ sm
i
⇒ v
est la valeur é rite parp
j
lors d'une opérationwop
: write(v)
, telle quewop
pré èdeop
et qu'au une autre opération write(v
′
)
par
p
j
n'est inter alée entrewop
etop
;3. Si
p
i
exé uteunese ondeopérationop
′
: sm
′
i
←
olle t()
aprèsop
alorssm
i
⊆ sm
′
i
.Demêmequelaprimitivebroad ast
()
/deliver()
,l'implémentation dewrite()
/ olle t()
est très simple. Il sut de lire su essivement le ontenu des registres qui omposent lamémoire (Figure 1.2). Pour annon er sa valeur,
p
i
é rit simplement ette valeur dans le registreM [i]
. L'atomi ité des opérations de basniveau surles registres garantit les troispropriétés de laspé i ation.La primitive pré édente n'ore que peu de garanties quant à l'ordre respe tif des
le tureslorsqu'elles sont on urrentes. Dansl'exemple dé ritdanslagure1.3,
p
1
é rit enpremier.L'exé utiondel'opération olle t()
parp
1
est on urrenteave lesé ritures dep
2
etp
3
.p
2
ne voit pas l'é riture dep
3
et retournesm
2
= {1, 2}
. L'é riture deoperation olle t
()
sm
i
← ∅
forea hj ∈ Π
dov ← M [j].
read()
ifv 6= ⊥
thensm
i
← sm
i
∪ {< j, v >}
endif enddo return(sm
i
)
Fig. 1.2 Laprimitive olle t
()
M[1].
write(1)
M[2].
read()
M[2].
write(2)
M[1].
read() M [3].
read()
M[3].
write(3)
M[1].
read() M [2].
read()
p
1
p
2
p
3
sm
1
= {1, 3}
sm
2
= {1, 2}
sm
3
= {1, 2, 3}
M[3].
read()
olle t()
Fig.1.3 Exé ution nonlinéarisable,
n = 3
p
3
est physiquement la dernière, il retourne né essairement{1, 2, 3}
. Ennp
1
renvoiesm
1
= {1, 3}
.Les deux ensembles{1, 3}
et{1, 2}
sont in omparables, e qui implique qu'il n'est pas possible de pla er é ritures et le tures ( olle t()
) sur un axe de tempsommun. Or, pla er les opérations sur un axe de temps ommun en respe tant
leur sémantique simplierait le raisonnement sur les exé utions réparties. En eet, au
lieu d'intervalles de temps qui s'interse tent éventuellement, on aurait une vision
sé-quentielle des opérations su essives, haque opération donnant l'illusion des'exé uter
instantanément.Ce on eptest onnusous lenomde linéarisation.
Linéarisation Ce on ept a été introduit par Herlihy et Wing [76℄ an de
simpli-erle raisonnement lors de la on eption d'algorithmes distribués. Informellement, un
objet est linéarisable si sa spé i ation peut s'exprimer par une ma hine séquentielle
(généralement hors dusystème).
Dans le as d'une paire de primitives (annon e d'une valeur/le ture de l'ensemble
des valeurs), la linéarisation stipule qu'il existe un axe de temps ommun etune date
pour ha unedes opérations d'é ritureetdele ture [76℄ :
Linearizability provides the illusion that ea h operation takes ee t
instan-taneously atsome point between its invo ation and its response. (...) It
fa- ilitates ertain kindsof formal (and informal)reasoning(...) It statesthat
seulpro essus séquentieletles opérations qu'il supportesont linéarisables. Par ontre,
omme le montre la gure 1.3, un ve teur de registres muni des opérations write
()
et olle t()
n'est paslinéarisable.1.3.2 Colle te ordonnée ou Atomi snapshot
Nous souhaitons renfor er la primitive (lire/é rire) pour obtenir un objet
linéari-sable. La olle te ordonnée ou snapshot requiert que les ensembles renvoyés soient
or-donnés par in lusion, en plus des ontraintes de (write
()
/ olle t()
). Ce problème a été poséetrésoluparplusieurséquipesdere her he:Afeketal.[1 ℄dénissentatomisnap-shot,AspnesetHerlihy[70 ℄parlentd'atomi s an etAnderson[11℄lenomme omposite
register. Ces travaux donnent des spé i ations diérentes ainsi que des
implémenta-tions dans un modèle à registres. La olle te ordonnée ou atomi snapshot est dénie
par lapaire (write
()
/snap()
)qui vérie laspé i ation suivante:Dénition 1.3 (Colle te ordonnéeou Atomi snasphot) La pairewrite
()
/snap()
dela olle teordonnée satisfait:Supposonsque haquepro essusee tuesu essivement
write
(v
i
)
;sm
i
←
snap()
. Alors les ensemblessm
i
vérient: 1. Auto-in lusion∀p
i
: i ∈ sm
i
;(
sm
i
ontientla valeuré rite parp
i
) 2. Comparaison∀p
i
, p
j
: (sm
i
⊆ sm
j
) ∨ (sm
j
⊆ sm
i
)
.(Les ensembles
sm
i
sont ordonnés par la relation d'in lusion) L'ordre par la relation d'in lusion sur les vues retournées supprime les exé utions quiomportent des inversions entre des valeurs an iennes et des valeursré entes ( omme
dans l'exemple de la gure 1.3).De plus, l'exé ution est linéarisable en se basant sur
l'ordredesensemblesretournés. Par exemple,une linéarisationpossible peut être
obte-nue à l'aidede l'algorithmesuivant :
ranger les ensembles dansl'ordre
sm
1
⊆ sm
2
⊆ · · · ⊆ sm
k
;les é ritures orrespondant aux valeursde
sm
1
sont pla ées au tempsτ = 1
, les é ritures desvaleurs danssm
2
− sm
1
sont pla éesau tempsτ = 2
,et .Il existe plusieurs implémentations sansattente 3
d'un objetatomi snapshot
AS
àpartir de registres atomique à é rivain unique. Le meilleur algorithme à e jour dû à
AttiyaetRa hman[18℄possèdeune omplexitéen
O(n log(n))
en nombred'appelsauxopérations write
(v)
/read()
de base.La gure1.4représente lesentrela ements possiblespour
3
pro essus. Chaque pro- essusp
i
é ritson index et al ule une vue des index é rits dans lamémoire partagéeR
:R[i].
write(i); view
i
← R.
snap()
3Un algorithme qui tolère un nombre arbitraire de défaillan es (