Couseusus syuchroue aver paunes « Transformation du Consensus 4 la Diffusion Atomique ‘Ivansformation de la Diffusion Atomique au Consensus Diffusion atomique avec ler fautee Déploiea
Trang 1Abstract
To access Uke dala shared in a disLribuled eyslem with Uke ainiaum: of
the paseagee in the network, the cata shonfc be replicated There are many algorithms to ensnre the coherence of the cata when the rep‘ications are
updated, Bul il does aol exist a comparison of hese algorilluns
‘The objective of this training course is to study, simulate and measure Uhese algoritluns of dala's coherence, ia parLicular those are conceived Lor
the agreement prohtems which are the consensne and the atomic broartcast
hen we try to implement and stimulate these algorithms on the Appia fra- mework which is developped by the group of the university Lisboa We run
the emulation on the cluster of the [LEGAL group of LIP6
Trang 2Table des matiéres
1) Introduction
1.1 Dref đescripHf đạaboratoire
1.2 Problamatique et objectifs du rapport
1.2 Annance đa nhan
23 Hypothése de temps
2.3.1 Syetémes
24 ĐetecLeur de dé
24.1 Variances de détecteurs de défaillances
2.5 Détecteur de défailiances parfait P -
2.3.4 Algoridlune pour le détectour de defuillauces
17
ig
18 18
Trang 3Consensus en †'absenee đe pannes
Couseusus syuchroue aver paunes «
Transformation du Consensus 4 la Diffusion Atomique
‘Ivansformation de la Diffusion Atomique au Consensus Diffusion atomique avec ler fautee
Déploieaieat P Appia aur te cluster
43.1 Laucement coucursenl des processus
4.4.20 Prévaration avant de !'ntfisatian ssh
43.3 ExGcubion des processuss
Mestre de ia, performance
4.4.1 Rombre de massages at Nombre des rammds
au a0
Trang 4Chapitre 1
Introduction
1.1 Bref descriptif du laboratoire
Le LIP6 est un laboraloire de recherche cous Lulelle de 2 Université Picere
& Marie Curie et dit CKTIS Avec 198 cherchenrn permanenta st 2Ä1 đoero
rants, i est l'un des principaux laburatoires de recherche eu informatique ex
France
Le laboratoire couvre un large spectre d'activités regroupées au sein de
cing départements : Calcu! Scientifique; DEcision, Systames Intelligents ot Recherche opérationnetle ; Donmées at Apprentiaage Artificiel ; Téseanx an
Systemes Reépartis ; Systemes Embarqués sur Puce En compiément de fa re-
cherche académique, le LIPG a une longue tradition de coopération aver des
partenaires industriels dans de trés nombreux projets nationaux, européens
ou internationaux Deux centres RAcD ont été créés : le CERME, Centre Eu- ropéen de Recherche en Micra Electronique cur les eystémes embarqués, et Luronetlab, sur Vinternet et tes réseaux de télécommunication Le LIP est Ggalousont innpbiqu6 dang los poles du compelilivite de VDe-de-France : Cap Tigital snr la connenn nmméricgie et Systemaric snr les ayetémen embhareqiés
Ta également des quipes cousmuaes aver INRIA cur les (héaaliques du cater farmed at des syatémen répartie Ta caopération internationale est ume coustante pour les avlivilés du laboratuice Le LIPG est asembre de plusieurs
réseaux Pexeellence eb dévdoppe égulement des rations suivies avee des
mmiversitas au Rréei!, any Fitats Unis an Japon, et dane de nomhrenx paye
eurvpéens, Le laboratoire est largement ouvert aux projels đe coopEraion
et &Vaccuell de visiteurs scientifiques Le Iazoratoire est impliqué dans des enseignements liés @ la recherche, qui sont dispensés au Master "Sciences et technologie” a l'Université Pierre et Marie Curie L'EDITE de Paris (Ecole Doctorate @’Informatique, Télécommunication et Eiectronique de Paris) ac
cueille ses doctorants.
Trang 5REGAL (Répartition et Gestion des Ayplicalious a Large échelle} est,
ime éeqtipe comme avec PINRIA Racqnenconrt L'ahjectif de Véquipe est
la gestion de ressources dans le cadre tres ¢ynamique de erands réseaux, RE- GAL sintéresse aux techniques de déploicmaent d’applications (cade ct dan- nées) adaptées aux envirounements extrémement distrioués de grande taille (nombre de processeurs, distances}, fortement dynamiques, hét érogénes, cans possibilité simple de gestion centralisée ct/ou instantanéc de Ìa comnaissance murnelle approche de REGAL repose sur des techniques de Téplication
et @adaptation dynamique dans lesquelies um code applicatif et ses don- uées vou dupliquéy sur plusieurs sitet ve qui permet de luldrer les fautes,
@angmenter la disponihilité et rédnire les temps d'acces dn service rend par Vapplicatiow Cut Cquipe Cludic là fagou dout les uystemes peuvent ga- Tantir nme cmalité ce eervice en termes da Rabifité, dieponihilité en cohérence
1.2 Problématique et abjectifs du rapport
Tl existe de nombrenx algorithmes ponr assurer la cohérence cee réplicate
des doauées parlagées dans uu sysléme répacti Ha besoin d'une solution
pour qne toms es instancer partagées aient lee mémes cécisiome om hien ler
mémes Gécieions en mame ordre
Liobjectif' de ce stage est d'étudier cos algorithmes du probléme d’ac cord Ce sont le consensus et Ja diffusion atomique En suite on observe Je code source libre Appia qui a deja implémente ces algorithmes en langage JAVA On va déplover Appia sur le Custer du LIP6 En fin, on mesure la performance de l'algorithme de ia diffusion atomique : nombre de messages, nouibre dvs rounds, lemps d'exéeution,
1
Annonce de plan
Ce rapport se compose 4 sections principates La section 1 introduit de
Fobjctif du stage ot un bref descriptif du laboratoirc LIP6 La section 2 rap-
peli les notations trés connues Gans un systéme reparti La section 3 présente
lee probleme: d'aecord Daus vette parl, on couveutre au eonscasuy cl a fa diffusion atomique Ces problémes d'accord cont obsorvés sur Venvironne- ment d’un systéme aeynchrone avec te détecteur parfait des Géfaiddances La seclion 4 aontre anon (ravaux Je vais déployer Fimplémenlation des algo-
rithmes dn concensus et de la diffueion atomiqne sur wn cluster Min enite
je siesure ‘a perforumace de ce systaune : le nombre de messages echangés,
le nombre de sounds, le temps d'exceution Les s
conchisions, les perspectives er, lee bibliographies Lites vuivautcs cont lee
Trang 6Chapitre 2
Principes de base
2.1.1 Horloge logique
L'hudoge logique est défiaie comme Masignation ui uombre du kempx
ait Vévénement s'est produit De maniare plus précise, une horioge Œ¡ liá À
un processus Pi cet une fouclion qui ausigue un nombre Cy(a) & u'imporle
quel événement a dans ce processit
Dans celle fouclion, Févénement a s'exéeulé avaul Mévénement b si Cla} <
O(®) Cette condition est ntite pont déterminer ordre des messages échan gés dans Je systeme réparti
2.1.2 Horloge physique
utilisation de Mhorloge fogique cat uniyucuseal utile daus Ie cas of los
événcments sont dan3 un méme processus En conséquence, dans le cas ot
les événements sont de différents processus I'horloge physique est souvent utile
2.1.3 Processus ct Messages
Processus
Tiane un syetéme réparti, le pronessue ent ctétini comme Tes nninés qui peuvent exéeuter des caleuls, Ln processus peut étre un processeur, un pro- cossue d’cxécution, un thread ou un eystéme d’exploitation
Le processus a les propriétés suivantes :
-Les processus savent de I'un & Ì'autre
Trang 7-Les processus dự système se Jancent avec 1e même alporithme
~‘Tons les processne se farment Valgorithme distribnté
Gétecteur de défailiances, (3) subir unc transition d'état, ct (4) peut envoyer
Tm meEsage à tt praceestts single
Etape
Une exécution d'um automata d'un algorithme est représentée par un ordre Cui des Clapes dans le eas Cai ot par un ordce infui des étapes dans le cas infini
+ cuvoyer un message a un verlain procuwus (Gvéuemcul global}
L’exécution du calcul local et de Henvoi d’un message sont determines par Feutomate de processus, c'est a dire, Valgorithme Les événemente locame sont produits par les étapes échangés entre les modules du méme processus aux différentes couches
2.1.5 Streté et Vivacité
Pour construire une application officace ct stable, V'algorithme nécessite
2 propriétés cuivantes : sdreté et vivacité
La propriété de sfreté dé
le vrai résutat
farent que Valgorithme devrait nous donner
Trang 8Par exemple : Le processus ne devrait que recevoir un message seulement sila él diffuse par uu processus
De toute fagon, 2es propriétés de edreté ne cont pas assez, Parfois, une bonne maniére d’ompécher de mauvaiscs choses de 3c produire consiste A faire rien
La propriété vivacité aseure que quciques bonnes choses se praduisent
éventieement
Par cwmple : Si ux processus eorrcel cuvoic un mesuage & un pracesuus correct da destination, le processus de destination devrait éventnellement recowir ce aicsuige La propriété de viewcité est Cuoued que pour a'unport quel le temps é, il y nm espoir qne Ta propriété pent étre saxiefai à mm rnomenr:
tờt
2.2.1 Processus en pannes
Un pracessns est consideré en panne sium de ses compansantes ne marche
pas Tl y quequey lypes de paunes de processus : crash (omission de ate sage) dépasrement de tampon (hifer overflows : ie processne est blormé), fautif comportement (Byzantine)
2.2.2 Crash
Un processus est "crash" s'il ne finit pas ses fonctions, Par exemple au
lieu déchauger les nieeuages, fe proccusuy u'envoic plus aucun auveeage & Fautre Les messages sont perdus on Pentréc ou on 1a sortic ou tous les deux
2.2.3 Fautif comportement
An contraire le dernier, te fartif comportement eet defini qne [mm pro
vessus ue fouclioune pas correclement el 2 douue des résullals aléaloires
Por exemple, un processus envoie les messages 4 T'extérieur ou bien plus nombreux messages nécescaires
2.2.4 Dépassement de tampon
Hans le cas du dépassement de tampon t¢ process ne marche pins I}
ge peul pos crveyer ni revevuir aucun meusage, Gu voil que le temps de
réponse di systame cénarse tee exigances des spécificarions
10
Trang 92.2.5 Récupération
Dane ce coabexte, si un proves: est on puune à Ÿinstanl f,® sera considere
toujoure mort bien qu'il puiese se récupérer aprée cat instant
En bref, détorminer ai nous pouvons faire de n’importe quelle hypathésc sur
des Sornes de temps, sur les délais de communication et sur les vitesses de
processus col Le facleur important cu déGuissant ua modéle d'un sysléme réparti
sage du Leaps
2.4.1 Systémes synchrones et asynchrones
Jans un systèrse réparti les composants exécutent des opérations à des viteases différentes Par exemple le processeur d'un seveur est genéralement pluc rapide que cetui utilies dane un commutateur ou dans une carte réseau Les messages sont aussi recus avec des déiais différents en fonction de Ia
Jus Hew: physiques ch du nuwbre de bouds utcessaires pour pave- nir jnsqt'an destinaire Vontefois différents phénoménes comme ia charge Tes priorités assignés aux processus, et ie type d'ordonnaceur ont des effets sur lee vilesees auxquetles 'exécutent lee algoritlune:
Tes systames synehranes dane leqnel la vitesse des procesens et dee
cauaux est bornée el coumtue
-Les systémes asynchrones cans iequel la vitesse des proceseus et des
vanaux est bornée, mais la bornée est incounue
11
Trang 10En conséquence, le détecteur de défaillances est vraiment nécessaire dans le
systéme réparti
Qu’est-ce qu'un détecteur de défaillances ?
Un détecteur de défaillances est un service réparti composé de đétecteurs
locaux attachés A chaque processus, Un détecteur fonrnit sur la demande
Ia liste des processus qu'il soupgonne d’étre en panne Les divers détecteus
locaux coopérent entre eux pour établir cette liste,
Trang 11tion effective des procesens défaillants
Formeliament, Uhistoriqne [7 d'm détectenr de défailannes est ime fone
tion de Pensemble [] x / vers l'ensembie 2” od H(y,t) est te valeur du
détectcur de défailanecs du processus p a Pinstant t dans I Si q ¢ IHp.2)
alore p suspecte ạ à Linetam ‡ dang ïƑ Sĩ p #: ạ slore 1T(p,f) # TI(a.1)
est possible, Un détecteur de défaillances D est une fonction qui associe &
chaque modéle de défaillanee F un casemble dhictoriquos de detecteurs dc
áefalaness (1/21 (1°) est Pensemble de tous tes historiqnes panvant axis
ter durant les axéoutions avec ensemble des défaillances # et le détecteur
de défailiances D Chandra ef Toueg defisivseut deux propricies de comphe-
inde et quatre de axacrimds donnant, ime fois combinées, hit classes de
déteeleurs de défuilinacce
1.Complatude : La détectanr doit détecter les pracessns fantifs
Complétude forte : Tont processes fantif tinit par étre sonpcanné par
Loul proveseus correct
VEWWH © DUE), 3 © Lp € crash(t').v@ © correct(P), VE > tip © H@,tV21)
Complétude faible :
um processus correct ‘out procescus fautif finit par etre soupgonné par
VE,VH C D(P), 3i Tp ¢ cresh(P), 3a C evrreci{F),We > bsp C Hla, 3.3)
2.Exuclitude : Le détecteur av doit pas déelarer fausseaneal un proves-
ana correct
Exaclilude forte : Aucun provessuy correct west jamais soupgouné par
im amtire processus correct:
Exuclitude faible: Il existe wz provesuy cocmel qui a'est jamais soup:
conné pari are processus correct
VF,VI © DUP), 4p & correct(P), vt T.Va c |][—F0).p ¢ F(a, 412.4)
Exactitnde éventuellement forte: An hont d'un certain temps, ancm
processus correct n’est plus jamais soupconné par un processus correct
VE,VH C D(F), SE C Tụ 3 t,¥p.q C correct(Fi.p ¢ Tat) (2.5)
Exaclitude éventuellement [aible ; Au bout d'un certain bemps, i existe
im processus correct qni West plns jamais sompgommé par mm ante
processns correct
VE,VI & DUF 4 & Tp & correct( PF) vf > £89 & corrent(F).p ¢ T{a,2'42.6)
18
Trang 12Une clasce des détecteurs de défaillances est défini par un peir de com- plelude el exactitude que les célecleun de céfeilances caus celle casse
doivent eatisfaire En général, ia complétnde recaiert cụm đếtectenr de
défailances éventuellement suspecte chaque processus qui se crashe éven- tucllement, pendant que Vcxactitude limite foe orrours qu'un détecteur de
Géfaillances peut faire Deux propriétés de complétude et quatre propriété
Gexactitude compozent huit classes des détecteurs de défailiances suivants
Exactude
Compleude] ruw | gapjy Eversuelenen: Ben denert
Fore | Parte | Fores [Pr unlene| Fert seme
Paible ạ w 2a Event ong
Fig 2.2 & classes détecteurs de défailances
Chandra et Toueg [CT96] ont montré que un propriété faible est ¢quiva-
lente & un proprié.é currespoudant Lurle
Par exerpie : On anit téaliser ia complefmde forte si on dispose de Ta com plétnde faible
2.4.1 Variaucea de détecleurs de défaillancea
6teLeurs đe đi
nên sieppiémentaires enive
AcOlE de 8 clasces ci-descus,
particnliers ot les propri aillances sur tes sysleace
wnter
-synchrone : il peut connattre la borne sur le temps de tranmission
-esyuchroue i] ue peul pes conuailre fa Dome sur fe Lenigs de Lranmission
~pamnes franchcs (fail-stop) : soit 'e processus fonctionne normalement (loz
résnitats sont corrects), soit ib ne fait rien Tl s‘agit dn type de panne
le plus simple
-puunes byzantines : le déteeleur peul caplurer som sculunont Fes erushe
mais ansei len fautifs compartemente
2.5 Détecteur de défuillances parfait P
Trane le casire da re stage om examine le problem @Paccard avec te détec tenr de défaiitances parfait
T’ensemble cle tons teis détectents de défai
tions de P Similar surgissent pour chaque paire de propriétes de completude
14
Trang 13et exactitude, II y a huit teiles paires, cbtenues on choisissant une des deux propriélés de complélude el uae des qualre propriélés C'exactilude préesen- tées dane ta cection pracécente Ta notation réenttante ce définitione ef de
correspondance sont données sur le eure 2.2
Un détectour de défaillances serait parfait s'il satisfait ta complétude forte et Fexactitude forte
Complétude forte : ‘lont processus fantif fnit par étre sonpconné par
Loul provescus corre
Exactitude forte : Aucun processus correct n'est jamais soupgonné par
un autre processus correct
2.5.1 Algorithme pour le détecteur de défaillances
Pour implémenter 1m dénecteur đe défaillances, me horne de temps mart
esl ulilisé & Géleminer un provessus qui esl en panue ou correct Les processus
Goivent envoyer tes signanx qni elgnifient vivant Si dans la pérind de Ia, hore
Ge temps mort, 1m procesens qui nhenvnle nas Ïa signal vivant est appellé en pane
Trang 14Chapitre 3
Probléme d’accord
parti, ou a plusicurs applications daus lesquclles qu'il
a mm eneembie cea apniicationa coapératives pour rérondre ine mama so Dante le systaae
lution Le probleme d'acvord Docme use class foudamental dans te conLexLe
dey eyslémce réparlis Chuquc dasse a unc solution partieulier depend de fa
Vexigence cit prohtéme Tl y 3 classes principaies dn probleme d'accord : la
replication, le consensus ainsi que la diffusion atomique (la diffusion totale- ment ordonnée)
La réplication est une technique usuelle permettant d'introduire de fa redondance dans un eyetéme, afin d’en garantir une meilleure disponitilité
Un serveur répiiqué est un serveur qui est constitué de plusieurs copies afin que, ci Pune Centre elles tombe en panne, les autres puissent continuer & fournir le service Les copies d'un cerveur répliqué sont appelées des réplicas Ces réplicas doivent évoluer de maniére cohérente Ainsi, a modification du serveur répliqué ace
des modifications A aporrer Alene érate respectife Qn considers princina lement deux approches générales permettant de maintenir cette cohérence :
la céplicalion aclive el la céplication passive,
sessile aux réplicas de se metre d'accord sur Veosenble
Le probleme du voasensus fourai une abeLractioa à la pluparl des autres probléaues d'accurd Tous les processus débuleut, un couscasus cn proposal
me vatenr Pirie, tone lea processus doivent finalement edlectionner 2a méme
valeur v, qui doil élre fa valeur proposée iniliatement par l'un des processus
La diffusion atomique est un autre probleme d'accord Des processus Giffusent dec messages A tous lee processus avec Ia contrainte que tous les
messagee doivent imp
processus De surcroit, si im processus recoit un mescage m, alors le probiéme
rativement étre reque dane le méme ordre par tous lee
16
Trang 15exige que tous les processus correct aient la garantie đe recevoir le message
Guus le: processus comecls Hvrenl le mene enscinble de ancesages, (2) lous le
messages diffnsés par des processns corrects sont livrées et (3) acum faire
message n'est jamais fivré
2.2.1 Spérificationa
Formel.ement, la diffusion faible est défimie en termes de deux primitifis : diffuser(m) ct délivrer(m) eit m cst un mescage tiré d'um ensemble de mes- sages possibies, Quand un de processus s'exécute diffuser(m) nous disons qu'il a diffust m, et quand un processus s’exécute délivrer(m), nous disons qu'il receit 1e m Nous supposens que chacjue message m incut fe champ dé- noté expéditeur(m) qui contient l'identité de Vexpéditeur, et um champ avec wat nombre Cordre; ees deux champe rendcul chaque aiessage unique
Dans la difinsion faible, 1m processes difinise 1m message A 1m ensemble speuifié Ce processus (y comprise luiuadinc), Le protucule Geil vérilier bes trois propiétés snivantes [Haczilacos at Toneg, 1996]
Accord : Si um processus correct [ou fautif] délivre un message m, tous les
proecsaus corrects ddliveent un (au boul d'un bumpy Lari}
Validité : Si un processus correct diffuse um message 1, tous les processus
corrcels défiveeut Ie message a (au boul d'un Leusps Gai}
Intégrité : Quel que coit ie message m, il est délivré au plus une fois &
tout proceseus correct [ou fautif], et senlement sil a été diffusé par un proecssus
3.2.2 Protucole de diffusion fiable
Toul processus p exéuule le programme suivant :
pour exécuter broadcast(m)
estampilier m avec sender{m) (processus émettcur) ct scq(m}
//seq est un numéro de séquence local a Y’émetteur
{ou a aim unc iduntificalion unique du meseage
17
Trang 16// send{(m} et reoeive(m) sont lae priritives đu système đe J/ communication Gable disponible
send(m) A tous fes voisine de p.et Ap
//veisin de p :processus q tel qu'il y ait un lien de communication } {dircete de p vers 9,
deliver(m} ee produit comme suit :
sur exécution de receive(m) par processus p
if p n'a pas précédemment cxteuté deliver(m) then
J ivérifié grace & Pidemtification imiqna dem
if sender{m} ¥ p then send(m} a tous les voisins de p deliver(in)
‘Un consensns est im accord général parmi ies membres dim granpe, pouvant permettre de prendre une décision sans vote préalable ‘lous les processus débulent uz consensus eu proposant une valeur Puis, tous lee procesens doivent fnir par prendra la, mame vale 1, qni doin anre la -valenr propesée inilislement par lun des processus
1 Spécifications
Dans ie probléme de consensus, tous les processus corrects proposent une vatcur ct doivent prendre une décision unanime ct irrévecable sur une ccr- taine valenr qni est Hide aux valeurs proposées [Fischer 1982] Le consensns
a deux terms primitifs, proposer(v} et décider (v}, of v est ne valeur tirée
un casemble de valeurs proposes posible Quand un processus stexceule proposer(v), nous disant qu'il propase v; dela mame facon cpeand mn pro-
teggue vexdcule déeider(y), avus disent qu'il dévide te v,
Le consensns est spécifié 4 “aide de trois propriétes
Accord : Si deux processus corrects décident ils décident sur la meme
valeur
Validité : Sim processus correct décide, aa valeur de décision est une der
valeurs initia‘es,
Terrminuison : Tous fev processus corrects déeideal
TntAgrité ; Ancim processne décide 2 fois snr une mame valent
3.3.2 Variances
Tl existe diverses variantes des spécifications Ou pout faire diverses hy- phothése de défaizlances sur les processus et sur le systeme de communication
18
Trang 17Synchronisation
Dans le systéme synchrone, les consensus savent les bornes des rounds
et ils ont les mémes bornes par la période du temps Mais dans le systeme
asynchrone, les processus ne savent pas de bornes des rounds, et ils ont les
bornes différentes
Uniforme
Dans le consensus uniforme, si un processus p fait la décision d, alors tout processus correct q fait la décision d C’est-a-dire, dans le systéme, s'il exi: tun process an panne et avant de tomber en panne, ce processus pourrait faire
la décision ou faire rien Cette propriété assure que cette décision devrait etre
Ja méme avec ce-la des tous les processus correct
Trang 18Au round kK", le proceesus &'°"° a 1e droit d'anuioneer la décision pro- poral aux aulres processus qui ale rang plus que k Aprés N rounds, lous lee
procersns cammencent à đécider reeHement Ca demande tanjenrs N rarmdde
pour avoir un accord
Fic 3.3 — La solution hiérarichique
3.3.3 Consensus en Vabseuce de paunes
Hypethéses
ae, La
Eu Vabscuce de pamucy, i} ae out gas le đóteeteur de deäi
cammmnication eet asynchrona ør ñahla øt ne pard pas les messagee
Algorithme
Tidée est que la
les autres ont !e meme ensemble de proposals délivrés écicion ast cléterminé quand chaqne processus sait qne
1 La solution avee un coordinateur
Un coordinaleur est ulilisé comune ue processus ceulral qui cotlecle Lous
les propueals et décider ce qui est Ia dé
jon pour le syeteme
Chaque proceseus pj envoie ca valeur 1 & un coordinateur spécifié A Pavance,
- Quand le cuordimaleur a secu loules les valeurs v1, i choisil une de cee
vnlene, soit ¢ (snr nn critéra qmielcønrme)
- Le coordinateur envoie d a tous les p;
- Apres la réception, chaque p¡ đécide d
Trang 19- Chaqe processus ÿ; envoie sa valeur vj a tous
= Quand mm processns p; a tag totes tes valeurs 1, 11 applique im Algo-
titlue de choix dune de e
~ Lidigorithise de choix est Le seme pour tous les pi
Si le protovole de diffusion garaulit que tous les destinalaires regaivent
Te anescage (suas diffeullé en Tubscuce de panucs), alors lous lee pi décident
la mame valent
2.2.4 Consensus synchrone avec pannes
Hypothéses
La communication cel fable (lout mesuge parvieat a la destination)
et synchrone (horne supérienra connne pont Ja, cnréa de tranemiesion dim
message) lia maillage cir réseam n’est pas nécessairement complet (la cam- munition cutre deux sile: peul u¢cessiler ÖG pasvage par ua ou plusicurs
antres) Tontefoie on suppose cue denx sites corrects penvent tenejonre com
muniquer entre eux (les pannes de sites ne partitionnent pas le réseaux)
Tes procesens penvent avoir dee pannes franches On snppose qn'll smth
siste an moins un processus correct (n-i défailances au plus pour n proces-
sua)
On suppose disponible um mécanisme de diffusion fiable tel que spécifié plus baut :
~ Tous les proecseue correcly d@ivrent fe uicise cusemble de anvaages
+ Tous les sncysuges diflusts par Ice procewsus corrects don, đế vrếu
- Tous les messages délivré ont été ciffustes par un processus
Algorithme
Le principe de laiguritlune est le anéine que pour fe eyslaine sans panies
(avec diffusion)
Aprés initialisation, chaque proceseus p; diffusc (diffusion fable} ea va-
Terr nj Grace A Vhypathése de synchroniame et a !a connaiseance (le Ìa to
pologje du réseau, on peut déterminer un temps ‘I' au bout duque: tous les
messages qui doivent é@trc défivrés ont cffectivement été délivrés
’apras les propriétés de la diffusion fiable, tous les processus corrects ont regu le méme cnsembie de messages Sion applique alors le mémc algorithmc
de choix, alors chaque processus correct décidera (en temps borné) la méme valour
24
Trang 20Remarques
Si un processus lombe cat ponue pendant te diffusion d'un message, eclui-
ci cera délivré & tous fes processus corrects ow & aucun
La valeur Gécidée peut étre celle diffusée par un processus fautif (panne pendant ou aprés Ja dilfusiog) Mais cela ue couteedil pas Zu epécifivation du consensns
Lidge tres sommaire de la preuve est comme suivant :
ue esl daus uae
-Qu suppose que 2 valeurs soienl proportes (0,1) Le syst
confignration bivalenta ei lee dens valents sont des chois poseihles ponr
Ja decision
-La configuration initiate est bivalente,
-T est toujours possible de construire une sCqucuce d'éveuenculs qui sain Tienne indétiniment ‘e systéme dans ime contignration bivalente
La source du provléme est que, dans un systéme asynehrone, il est im- possible de distinguer um processus lent (A s'oxécuter ou a répondro} d'un processns défaiilanr,
3.2.5 Algorithme de Paxoa
L’algorithme de Paxos est un autre algorithme pour le consensus asyn- chron, Sex prineipus soul suivantcs :
-L’aigorithme utilise un processus coordinateur {ou primaire) qui gére un
ensembie de processus (dits agents) et tente d'obtenir une vateur de Geision par yulre uajoritaice
nithme doit résister a ls défaillance du primaire Plusieure processus peuvent jouer ie réle du primaire, successivement ou méme simultané- ment
-Diaiguridlane se Leriniue vl adele un primaire uaique pendant uc nêu
enffisamment longue pour ome te primaire ait deus rounds @échanges
aver ume wajorilé dagente
On essaic d'assurer cctte condition & aide de délais de garde Cotte
méthode peut échouer (la commumication étant asynchrone}, et dans ce cas
Falporithme ne se termine pas
22