Vous êtes sur la page 1sur 33

mulation de mmoire partage en environnements distribus dynamiques

Vincent Gramoli
EPFL Station 14, CH-1015 Lausanne, Suisse Universit de Neuchtel Rue Emile-Argand 11, CH-2007 Neuchtel, Suisse vincent.gramoli@epfl.ch

RSUM.

La plupart des systmes distribus modernes sont la fois grande chelle et dynamiques. Dans un tel contexte il est difcile pour les entits participantes de communiquer. La mmoire partage est une abstraction de communication able de ces entits au travers doprations de lecture et dcriture. Cet article prsente les ds qui entourent lmulation de mmoire partage dans un environnement passage de message o les nuds participants ne cessent de quitter le systme et o de nouveaux nuds rejoignent ce systme de faon imprvisible. travers les travaux existants sur les systmes de quorum, les mcanismes de reconguration, et les objets en lecture/criture probabiliste cet article dresse un tat de lart des approches adoptes pour pallier le dynamisme en passant par la tolrance aux pannes franches et au problme de minimisation des communications.
ABSTRACT.

Most distributed systems are large-scale and dynamic. Communication has thus become a critical issue and the shared memory, which is a reliable paradigm of communication, allows distributed nodes to exchange information through read and write operations. In this article, I introduce the challenges related to emulating a shared memory in a dynamic message passing environment where nodes constantly leave the system and where new nodes arrive in an unpredictable manner. This article surveys the work on quorum systems and recongurable systems, and present solutions that cope with crash failures, dynamism and limited complexity.
MOTS-CLS : KEYWORDS:

Systmes pair--pair, Cohrence atomique, Mmoire partage distribue, Quorum. Peer-to-Peer Systems, Atomic Consistency, Distributed Shared Memory, Quorum.

RSTI - TSI 30/2011. Algorithmique distribue, pages 809 839

810

RSTI - TSI 30/2011. Algorithmique distribue

1. Introduction Les systmes distribus actuels deviennent de plus en plus htrognes. Le dynamisme est ainsi devenu une problmatique majeure tant le comportement de leurs entits est imprvisible : mobilit, panne franche, interfrence, dconnexion, etc. Cet article tudie les moyens permettant des nuds de communiquer dans un tel environnement dynamique. Pour ce faire, nous tudions les solutions proposes pour muler une communication simple dite mmoire partage dans un environnement dit passage de message o la communication est difcile. Cette mulation permet aux nuds du rseau de communiquer de faon simple et transparente. Bien que la rplication des nuds permette de pallier les pannes franches, elle ne permet pas de pallier laccumulation de pannes que peut provoquer le dynamisme. La problmatique majeure est donc dadapter le systme face aux changements pour permettre celui-ci de bncier des nuds nouvellement actifs. Lide commune aux solutions proposes est celle des quorums, des ensembles de nuds qui possdent au moins un nud en commun, i.e., leur intersection est non vide. Ces quorums jouent un rle primordial lorsquun client dcide dcrire une information que dautres clients pourront lire ensuite : ils permettent non seulement cette information de persister au cours du temps, en dpit de la panne de certains membres dun quorum, mais ils permettent aussi dassurer la cohrence de la donne renvoye par lensemble des membres. Plus prcisment, mme sil est possible que certains membres du quorum renvoient une valeur ancienne, la proprit dintersection assure quil existe au moins un membre qui retournera la valeur jour. La rplication au sein de quorum est connue depuis 30 ans comme permettant la persistance des donnes en dpit des pannes franches (Gifford, 1979; Thomas, 1979). Puisque toute nouvelle information est rplique aux nuds membres du quorum, la persistance de la donne dpend de la taille de ce dernier. Cependant la cohrence des lectures et critures dpend de lintersection entre quorums. Ainsi lintersection doit tre conserve pour assurer la cohrence en dpit des pannes. Le problme devient plus difcile lorsque les pannes saccumulent et que leur nombre excde le nombre de nuds initialement prsents dans le systme. Pour que les donnes persistent ou restent cohrentes, il devient alors ncessaire de transfrer les donnes stockes sur danciens nuds sur de nouveaux nuds et ce continuellement. De plus, ce transfert doit tre effectu sufsamment rapidement pour pallier au rapide dpart des nuds. Cette rapidit indique lintensit du dynamisme, aussi appel va-et-vient. Nous supposerons dans notre modle quil existe tout moment des nuds prsents dans notre systme, cependant nous supposerons galement que tous les nuds peuvent quitter et que dautres peuvent rejoindre le systme rapidement : avec un va-et-vient lev. Dans cet article, nous prsentons une implmentation simple dune mulation de mmoire partage en systme passage de message et montrons lalgorithme correct. Nous introduisons ensuite un mcanisme de reconguration pour tolrer un nombre non born de pannes franches. Finalement nous tudions les amliorations et alternatives possibles pour supporter un fort dynamisme.

Objet atomique en systmes dynamiques

811

Tout au long de cette tude, nous discutons les systmes de quorum sous-jacents en fonction de leur capacit tolrer le dynamisme du systme. La classication rsultante est illustre en gure 1.

Systme de quorum

Statique

Dynamique

Probabiliste

Sujet aux pannes

Redondant

Remplaable

Rparable

Rparable

Sans structure

Figure 1. Classication des systmes de quorum utiliss pour lmulation de mmoire partage Les systmes de quorum statiques sont sujets aux pannes ou tolrent seulement un nombre born de pannes. Les premiers sont illustrs dans la section 4.1 pour comprendre la problmatique, les seconds sont illustrs dans les sections 4.2 et 4.3. Les systmes de quorum dynamiques sont soit remplaables lorsquils se recongurent de faon globale, soit rparables lorsque leur reconguration est localise. Les premiers sont illustrs dans la section 5 et les seconds dans la section 6.1. Finalement, les systmes de quorum probabilistes peuvent galement tre rparables mais peuvent tre sans structure et donc ne ncessiter aucune reconguration. Ces derniers types sont dcrits dans les sections 6.2 et 6.3, respectivement. Larticle est organis comme suit. La section 2 prsente le modle utilis et les dnitions lies aux quorums. La section 3 prsente un algorithme gnrique utilisant les quorums qui mulent une mmoire partage dans un modle passage de message. La section 4 dcrit comment les systmes de quorum sous-jacents peuvent permettre de tolrer les pannes. La section 5 dcrit les solutions permettant dtendre lalgorithme dmulation de mmoire partage pour tolrer un nombre non born de pannes frquentes. Finalement, la section 6 prsente des alternatives pour rduire la complexit en communication et la section 7 conclut cet article. 2. Modle et dnitions Dans cette section, nous donnons tout dabord les dnitions prliminaires concernant les quorums avant de dcrire le modle passage de message que nous tudions dans cet article.

812

RSTI - TSI 30/2011. Algorithmique distribue

2.1. Les quorums An dassurer la tolrance aux fautes, les objets doivent tre rpliqus diffrents endroits ou nuds du systme. Lorsque des nuds distants ont la possibilit de modier un objet nimporte quel moment, un mcanisme de synchronisation doit tre mis en place pour assurer la cohrence en dpit de la concurrence. Un mcanisme permettant dinformer un nud sur le fait que son opration peut altrer la cohrence a t dni par Gifford (1979) et Thomas (1979). Dans les mcanismes prsents dans ces articles, avant que lopration dun client soit effective, le client demande une permission dautres nuds, ceux dtenant une copie de lobjet. Cette permission est donne en fonction de lensemble des nuds qui rpondent et de leur rponse : une permission donne empche une autre dtre accorde. Gifford considre un systme de votants o un poids global W est partag parmi tous les votants tels que leur vote inuence la dcision de donner ou non la permission. Une permission est donne pour une opration de lecture (rciproquement dcriture) si la somme des poids des votes reus est r (rciproquement w), tels que r + w > W . Thomas suppose une base de donne rpartie o la copie dune donne est rplique plusieurs endroits distincts. Plusieurs nuds peuvent excuter une opration sur cette base de donne rplique en envoyant un message une copie de la base de donne, cette copie essayant de rcolter la permission dune majorit de copies pour excuter lopration. En dpit de lattrait intuitif des systmes de votes et des majorits, ils ne reprsentent pas une solution ultime la cohrence mmoire des systmes rpartis. En effet, Garcia-Molina et Barbara (1985) montrent lexistence dune gnralisation de ces notions. Une notion plus gnrale que celle des votes valus et que celle des majorits est celle de quorums. Les quorums sont des ensembles sintersectant mutuellement. Un ensemble de tels quorums est appel un systme de quorum. Dnition 1 (Systme de quorum) Un systme de quorum Q sur un univers U est un ensemble sur U tel que pour tout Q1 , Q2 Q, la proprit dintersection Q1 Q2 = est vrie. 2.2. Modle gnral Le systme que nous considrons dans cet article consiste en un ensemble de nuds interconnects entre eux. Dans ce document, nous supposons quun nud na besoin que de connatre lidentiant dun autre noeud an de communiquer avec lui et chaque nud i connat un sous-ensemble de nuds avec lesquels il peut communiquer, ces nuds sont appels les voisins du nud i. Tous les nuds possdent un unique identiant et lensemble des identiants est not I . La communication est asynchrone, ainsi la transmission des messages peuvent tre arbitrairement longue. La communication nest pas able et les messages peuvent tre rordonns et perdus, cependant, si un message arrive destination, alors il a t envoy et pas altr ; aucun message

Objet atomique en systmes dynamiques

813

nest dupliqu. Le systme est dynamique en ce sens que chaque nud qui est dj dans le systme peut partir nimporte quel moment tandis quun nouveau nud peut rejoindre le systme nimporte quel moment. La panne dun nud est dite franche et est considre comme un dpart, et une rparation est considre comme une nouvelle arrive. En dautres termes, lorsquun nud r-entre dans le systme il obtient un nouvel identiant et perd ses informations sur le systme. Dans la suite nous nommons un nud qui est dans le systme comme tant actif et un nud qui est parti ou tomb en panne comme tant un nud inactif. Tout objet prsent dans le systme est accd via des oprations de lecture et dcriture que peut initier nimporte quel nud. Si un nud initie une opration il est appel client. Une opration de lecture a pour but de renvoyer la valeur courante de lobjet tandis quune opration dcriture a pour but de modier cette valeur. La valeur dun objet est rplique sur un ensemble de nuds quon appelle les serveurs. Nimporte quel nud peut tre client et serveur. Chacune des valeurs v est associe un tag t. Le tag possde un compteur qui indique la version de la valeur et un identiant qui correspond lidentiant du nud qui a crit cette valeur. Cet identiant assure lexistence dun ordre total sur les tags : le tag t est plus petit que t si son compteur est plus petit que celui de t ou si ils sont identiques mais lidentiant de t est plus petit que celui de t . 3. muler une mmoire partage en utilisant des quorums Cette section dnit la cohrence atomique que doit satisfaire une mmoire partage et prsente un algorithme gnrique dmulation de mmoire partage en modle passage de messages. Pour faciliter sa prsentation, cet algorithme est volontairement non tolrant aux pannes. Les sections suivantes indiqueront comment un tel algorithme peut tre tendu pour tolrer les pannes et le dynamisme du systme. 3.1. Cohrence mmoire Un critre de cohrence mmoire est souvent vu comme un contrat entre une application et une mmoire : si une application vrie certaines proprits, la mmoire assure les garanties dsires. De nombreux critres de cohrence mmoire ont t proposs dans la littrature. Une chelle de tolrance est gnralement utilise pour comparer ces diffrents critres et sur cette chelle, latomicit possde le niveau de tolrance le moins lev parmi tous les critres de cohrence existants. Latomicit est une proprit assure par les oprations de lecture et dcriture telles que leur ordre vrie la spcication srie de lobjet ainsi que la prcdence de temps rel. Bien que latomicit soit une proprit intressante car elle assure que les oprations ont un rsultat similaire celles appliques une seule mmoire partage, des proprits plus simples implmenter lui sont parfois prfres. Par consquent des critres de cohrence plus tolrants mais plus faciles mettre en uvre ont t

814

RSTI - TSI 30/2011. Algorithmique distribue

proposs : latomicit faible (Vidyasankar, 1996), la causalit (Lamport, 1978; Hutto et al., 1990), la cohrence PRAM (Lipton et al., 1988), la cohrence de processeurs (Goodman, 1989), etc. Linconvnient de tels critres est dautoriser plusieurs nuds distincts avoir une vue diffrente de lobjet, violant une proprit importante pour lmulation de mmoire partage : la srialisation de copie unique. Dautres critres alliant plusieurs niveaux de tolrances sont apparus : la cohrence mixte (Agrawal et al., 1994) et la cohrence hybride (Attiya et al., 1998), utilisant un ordre tolrant (Dubois et al., 1986). La caractristique de localit a t dnie par Weihl (1989) comme tant la capacit pour un critre de cohrence supporter la composition. Ainsi, si les excutions restreintes chaque objet vrient indpendamment le critre local de cohrence alors toute lexcution applique la composition des objets vrie galement le critre de cohrence. Latomicit est locale (Herlihy et al., 1990), contrairement la srializabilit. Ici, nous considrons le critre local de cohrence atomique nous permettant ainsi dtre modulaire. La dnition datomicit est tire de (Lynch, 1996, thorme 13.16)1.

Dnition 2 Soit x un objet accessible en lecture et criture. Soit H une squence complte dinvocations et de rponses doprations de lecture/criture appliques x. La squence H satisfait latomicit sil existe un ordre partiel sur les oprations telles que les proprits suivantes soient vries : 1) si lvnement de rponse de lopration op1 prcde lvnement dinvocation de op2 , alors il nest pas possible que op2 op1 ;

3) la valeur retourne par chaque opration de lecture est la valeur crite par la dernire opration dcriture qui prcde cette lecture selon (cette valeur est la valeur initiale de lobjet si une telle criture nexiste pas). Nous nous intressons essentiellement la dnition des oprations de lecture et dcriture effectues par des clients sur des objets dont ils ont la connaissance. Cet article ntudie pas la recherche dobjet dans un systme. Comme mentionn prcdemment, latomicit est une proprit locale. Ainsi, dans le reste de cet article nous nous intressons un seul objet atomique, la gnralisation un ensemble dobjets supportant aussi latomicit tant directe.
1. Le premier point du thorme original se dduisant des autres points, il na pas t mentionn ici.

2) si op1 est une criture et op2 nimporte quelle autre opration alors soit op2 op1 soit op1 op2 ;

Objet atomique en systmes dynamiques

815

3.2. Un algorithme simple Cette section explique simplement comment utiliser les quorums comme briques de base pour muler une mmoire partage. Domaine I N V T NI Description lensemble des identiants des nuds lensemble des valeurs possibles de lobjet lensemble des tags possibles

Tableau 1. Domaine de lalgorithme Nous prsentons ici un algorithme gnrique implmentant un objet atomique. Par la suite, nous verrons plusieurs faons dimplmenter laccs aux quorums et le maintien de ces quorums. Dans cet algorithme, nous ne spcions volontairement pas les procdures de communication (send et recv) ainsi que le test darrt (is-quorum-contacted). En effet, ces procdures sont spcies diffremment en fonction de la solution propose. Par exemple, un client peut connatre lensemble du quorum et attendre que tous les lments du quorum rpondent pour dcider darrter la procdure visant le contacter. Ou bien, sans connatre lensemble du quorum, le client peut attendre le message du dernier lment contact pour dcider de cet arrt. Algorithme 1 tat de lalgorithme gnrique dobjet atomique
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

tats de i: Q1 , ..., Qk I , les quorums Q = {Q1 , ..., Qk }, le systme de quorums M, un message contenant : type {GET, SET, ACK}, un type de message ; val , tag V T {}, la valeur et son tag ; seq N, le numro de squence du message. v V, v = v0 , la valeur de lobjet t T, t = 0, i , le tag utilis compos de : compteur N, le compteur des critures ; id I , lidentiant du client crivain. s N, s = 0, le numro de squence en cours tmax T , le tag dcouvert le plus grand vlast V , la valeur dcouverte la plus jour tnew T , nouveau tag crire vnew V , nouvelle valeur crire

Lalgorithme gnrique implmente un objet atomique supportant des lecteurs multiples et crivains multiples. Le domaine des variables utilis dans lalgorithme est prsent dans le tableau 1. Le pseudocode est volontairement abstrait et prsente une solution gnrique utilisant des accs aux quorums. Cet algorithme sinspire la fois des travaux de (Attiya et al., 1995) ainsi que de ceux de (Lynch et al., 2002).

816

RSTI - TSI 30/2011. Algorithmique distribue

Un client excute une opration en invoquant la procdure Lire ou Ecrire. Chaque serveur possde une rplique de lobjet et maintient une valeur v et un tag t associ indiquant le numro de version de v . Ce tag est incrment chaque fois quune nouvelle valeur est crite. Pour assurer quun seul tag correspond une valeur unique, lidentiant du nud crivain (le client qui initie lcriture) est ajout au tag comme chiffre de poids faible. Les procdures de lecture (Lire) et dcriture (Ecrire) sont similaires puisquelles se droulent en deux phases : la premire phase Consulte la valeur et le tag associ dun objet en interrogeant un quorum de serveurs. La seconde phase Propage la valeur vnew et le tag tnew jour de lobjet au sein dun quorum de serveurs. Lorsque la consultation termine, le client rcupre la dernire valeur crite ainsi que le tag qui lui est associ. Si lopration est une criture, le client incrmente le tag et Propage ce nouveau tag avec la valeur quil souhaite crire. Si, par contre, lopration est une lecture alors le client Propage simplement la valeur jour (et son tag associ) quil a Consult prcdemment. Le numro de squence s est utilis comme un compteur de phase pour pallier lasynchronie et viter quun nud ne prenne en compte un message prim. Plus pcisment, lorsquun nouvel appel Consulte ou Propage est effectu, ce numro est incrment lorsque la phase dbute. Lorsquun nud reoit un message de numro de squence s lui demandant de participer, il Participe en envoyant un message contenant le mme numro de squence s. Un message reu ne correspondant pas la phase courante est donc dtect grace ce chiffre s et il est ignor. Chaque nud reoit donc des messages de participation avec deux numros diffrents si les rponses appartiennent deux phases distinctes. 3.3. Preuve de cohrence atomique Le thorme 1 prouve que lalgorithme gnrique, prsent sur les algorithmes 1 et 2, implmente un objet atomique. La preuve utilise lordre dcrit par les tags et vrie successivement que cet ordre respecte les trois proprits de la dnition 2. Pour cela, on dnit le tag dune opration op comme tant le tag propag durant lexcution de cette opration op (cf. lignes 19 et 24). Thorme 1 Lalgorithme gnrique implmente un objet atomique. Preuve. La preuve montre successivement que lordre des tags sur les oprations vrie les trois proprits de la dnition 2. Soit lordre partiel sur les oprations dni par : op 1 op 2 si t1 et t2 sont les tags de deux oprations et t1 < t2 , ou bien t1 est le tag dune opration dcriture et t2 celui dune opration de lecture et t1 = t2 . 1) Dune part, lexcution squentielle de la procdure de propagation indique que lorsquune opration op 1 termine alors tous les nuds dau moins un quorum (cf. ligne 44) ont reu la dernire valeur jour et le tag t1 de lopration op 1 . Dautre part, la phase de consultation de toute opration op 2 consulte tous les nuds dau moins un quorum (cf. ligne 35). Sans perte de gnralit, xons Q1 Q et Q2 Q, ces deux

Objet atomique en systmes dynamiques

817

Algorithme 2 Lecture/criture de lalgorithme gnrique dobjet atomique


17: 18: 19: 20:

Lire()i : v, t Consulte()i Propage( v, t )i Return v, t Ecrire(vnew )i : v, t Consulte()i tnew t.compteur + 1, i Propage( vnew , tnew )i Consulte()i : Soit Q un quorum de Q ss+1 send(GET, , s) aux nuds de Q Repeat: if recv(ACK, v, t , s) de j then repondant repondant {j } if t > tmax then tmax t vlast v Until is-quorum-contacted(repondant ) Return vlast , tmax Propage( v, t )i : Soit Q un quorum de Q ss+1 send(SET, v, t , s) aux nuds de Q Repeat: if recv(ACK, , s) de j then repondant repondant {j } Until is-quorum-contacted(repondant ) Participe()i (activer la rception de M): if recv(M) du nud j then if M.type = GET then send(ACK, v, t , M.seq ) j if M.type = SET then if M.tag > t then v, t = M. val , tag send(ACK, , M.seq ) j

21: 22: 23: 24:

25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:

37: 38: 39: 40: 41: 42: 43: 44:

45: 46: 47: 48: 49: 50: 51: 52:

quorums respectifs. Par la proprit dintersection des quorums, il existe au moins un nud j , tel que j Q1 Q2 , possdant un tag suprieur ou gal t1 . tant donn que le tag propag dans op2 est suprieur (si op2 est une criture, ligne 24) ou gal (si op2 est une lecture, ligne 19) celui propag en j , op2 op1 .

818

RSTI - TSI 30/2011. Algorithmique distribue

2) Si op2 est une lecture alors il est clair que op1 op2 ou op2 op1 par dnition de . Maintenant supposons que op1 et op2 soient deux oprations dcriture. En raisonnant par labsurde, supposons que les deux oprations aient le mme tag. Premirement, si les deux oprations sont inities au mme nud i alors le compteur de leur tag diffre ce qui contredit lhypothse. Deuximement, admettons que les oprations soient inities des nuds i et j tels que i = j . Par hypothse de dpart, chaque nud possde un identiant unique. Lidentiant est utilis comme numro de poids faible dans le tag, ainsi mme avec un compteur gal les tags sont diffrents. Par consquent, lhypothse est nouveau contredite. 3) Soit op, une opration de lecture et soit op1 , ..., opk , les critures qui prcdent op, et oph lopration parmi ces critures possdant le plus grand tag. Premirement, oph est telle que k , op oph , par dnition de . Deuximement, la valeur retourne par lopration op de lecture est associe au plus grand tag rencontr durant la phase de consultation (cf. lignes 3234). Ainsi op renvoie la valeur crite par la dernire criture oph . 2 Lalgorithme gnrique prsente les principes communs aux mthodes utilises pour implmenter des objets atomiques. Cependant, certaines amliorations permettent une opration de lecture de terminer aprs laccs un seul quorum. Par exemple, lorsquune valeur plus ancienne que la valeur concouramment crite est retourne (Dutta et al., 2004) ou bien lorsquil est clair que la valeur jour a dj t propage tout un quorum lorsque la lecture consulte (Chockler et al., 2009; Gramoli et al., 2007a).2 De telles approches prsentent des cas particuliers que ne spcie pas lalgorithme gnrique pour des raisons de simplicit dans la prsentation. 4. Tolrer les pannes franches via rplication Cette section prsente comment choisir les systmes de quorum utiliss dans lmulation de mmoire partage an quils tolrent un nombre born de pannes. 4.1. Panne du systme de quorum Certains systmes de quorum peuvent souffrir dune seule panne et une de leur proprit cruciale est leur disponibilit (Naor et al., 1998). La disponibilit dun systme de quorum est la probabilit quil a de tomber en panne, tant donn la probabilit que chacun de ses nuds a de tomber en panne. Si lintersection de deux quorums est vide, alors ces deux quorums ne sont plus considrs comme actifs. Par exemple, si tous les nuds situs dans lintersection des quorums Q1 et Q2 tombent en panne, alors les
2. Nous supposons ici le modle plus gnral avec lecteurs multiples et crivains multiples. Une opration dcriture ne ncessitant quun seul accs dans le cas dun seul crivain (Attiya et al., 1995).

Objet atomique en systmes dynamiques

819

quorums Q1 et Q2 sont considrs galement comme tant en panne. Si tous les quorums intersectent exactement le mme nud i, alors la panne du nud i provoque la panne du systme de quorum. Nous prsentons ici, deux systmes de quorum qui ne tolrent pas de panne franche. 4.1.1. Un systme de quorum en toile An de mieux comprendre comment un systme de quorum peut ne pas tolrer les pannes franches, nous proposons dtudier le systme de quorum en toile comme dni dans (Holzman et al., 1995). Chacun de ses quorums sinteresectent en un seul nud commun, qui reprsente le centre dune toile. En dpit de la rplication aux membres du quorum, lintersection nest pas elle-mme rplique. Ainsi la cohrence ne peut tre assure lorsquune panne franche a lieu. La dnition formelle du systme de quorum en toile est la suivante. Dnition 3 (Systme de quorum en toile) Soit lunivers U = {u1 , u2 , ..., un }. Le systme de quorum en toile est un systme de quorum Q constitu de n 1 quorums {u1 , u2 }, {u1 , u3 }, ..., {u1 , un }. partir de la dnition 3, il est facile de remarquer quune seul panne franche peut provoquer la panne du systme de quorum en toile. En effet, si le nud u1 tombe en panne, alors plus aucun quorum nest actif et le systme de quorum tombe en panne. 4.1.2. Un systme de quorum en arbre Une illustration un peu diffrente de ce problme est le systme de quorum en arbre tel quil a t dni dans (Agrawal et al., 1990). Ce systme de quorum est diffrent puisquil correspond a un systme biquorum o il nest pas ncessaire davoir une intersection non vide entre tout couple de quorums. Plus prcisment, il est compos de deux types de quorums tels que chaque quorum dun type intersecte tout quorum de lautre type. Ce type de systmes de quorum, quali de lecture/criture (Herlihy, 1986), est particulirement intressant dans le cas des oprations en deux phases ou les quorums utiliss lors de la premire (resp. seconde) phase nont pas besoin dintersecter les quorums utiliss dans les autres premires (resp. secondes) phases. Dans le cas du systme de quorum en arbre, un quorum de lecture se dnit par une fonction rcursive qui commence la racine et retourne soit le nud courant soit la majorit des ls du nud courant dans larbre. Un quorum dcriture se dnit simplement comme prenant, chaque hauteur de larbre, une majorit des nuds prsents et en faisant lunion de ces majorits. Comme tous les quorums dcriture contiennent la racine, tous les quorums dcriture tombent en panne ds que la racine de larbre est en panne. Si cela se produit, alors plus aucun quorum dcriture nintersecte tous les quorums de lecture. Il est intressant pour un systme de quorum de supporter les pannes franches. Cest pourquoi il faut soit quun quorum tolre la panne dun de ses nuds ou alors il

820

RSTI - TSI 30/2011. Algorithmique distribue

faut que le systme tolre la panne dun de ces quorums. Dans le premier cas, lintersection doit contenir plus dun seul nud pour quelle reste non vide en dpit dune panne. Dans le second cas, il doit exister sufsamment dintersections pour que le systme de quorum persiste en dpit de la panne dune de ces intersections. Ainsi, il existe deux solutions possibles : une intersection large ou des intersections nombreuses, comme indiques dans la section suivante. 4.2. Rpliquer lintersection pour tolrer une seule panne Les intersections sont le point important des systmes de quorum. Pour tolrer les pannes, il est ncessaire que plusieurs nuds constituent ces intersections de deux faons possibles : intersections larges : lintersection entre nimporte quel couple de quorums a une cardinalit suprieure 1, ainsi si un des nuds de lintersection tombe en panne, les quorums restent actifs ; intersections nombreuses : les quorums sont rpliqus de faon ce que plusieurs intersections existent. Si plus aucun nud nest actif au sein dune intersection entre deux quorums, alors il existe une autre intersection entre un autre couple de quorums. Contrairement aux apparences, ces deux solutions ne sont pas quivalentes, nous indiquons dans la suite comment lune ou lautre de ces solutions apparat comme tant la meilleure en fonction des pannes considres.
1

2 6

Figure 2. Un systme de quorum en plan-projet ni avec des intersections nombreuses ; le systme contient 7 quorums chacun de taille 3, o chaque lment appartient exactement a 3 quorums : {{1, 2, 4}, {1, 3, 7}, {1, 5, 6}, {2, 3, 5}, {2, 6, 7}, {3, 4, 6}, {4, 5, 7}} Lorsque lon considre les pannes malicieuses, o le comportement dun nud peut sortir de sa spcication initiale, alors il est prfrable dutiliser la premire de ces deux solutions. Malkhi et Reiter (2004) dnissent les systmes de quorum masquant comme tant des systmes de quorum ou chaque intersection une cardinalit au moins gale 2f + 1, o f est le nombre de pannes malicieuses supportes. Dans le but dobtenir une information jour, il est ncessaire quune majorit de rponses

Objet atomique en systmes dynamiques

821

soient correctes, et 2f +1 est bien le nombre minimum de nuds communs contacter pour tre certain dobtenir f + 1 rponses correctes. Contacter de larges intersections prsente un inconvnient majeur car cela implique de devoir contacter davantage de nuds lors dun accs un quorum, puisquune intersection large ncessite que la taille des quorums associs soit large elle aussi. Contrairement aux modles pannes malicieuses, le modle pannes franches na pas besoin dintersections larges et les intersections nombreuses sont sufsantes. Ainsi, dans la suite de cet article, nous nous intresserons plus particulirement aux systmes de quorum avec intersections nombreuses. Maekawa (1985) suggre des systmes de quorum avec des intersections nombreuses mais toutes de cardinalit 1. Le systme est plus prcisment compos de m2 + m + 1 nuds o m = pk , p est un nombre premier et k est une constante, et il contient m + 1 quorums chacun de taille m + 1. La gure 2 dcrit un tel systme de quorum, o m = 2, qui illustre les intersections nombreuses. 4.3. Tolrer davantage de pannes Une autre proprit interessante est celle dintersections disjointes. Cette proprit est assure par un systme de quorum, si et seulement si, ses quorums sintersectent en des nuds disjoints. Les intersections disjointes prsentent une proprit indpendante de celles dintersections larges ou nombreuses. Voici la dnition formelle de la proprit des intersections disjointes : Dnition 4 (Intersections disjointes) Un systme de quorum Q dni sur un univers U vrie les intersections disjointes si pour tout triplet de quorum Q1 , Q2 , Q3 Q, on a Q1 Q2 Q3 = .
1

Figure 3. Un systme de quorum bas sur le 3-gon vriant les intersections disjointes ; le systme contient 4 quorums, chacun de taille 3 et o chaque lment appartient au plus deux quorums : {{1, 2, 4}, {1, 3, 6}, {2, 3, 5}, {4, 5, 6}} La gure 3 prsente un exemple de systme de quorum 3-gon qui vrie les intersections disjointes. Ce systme de quorum a t propos dans (Kuo et al., 1997). Il est

822

RSTI - TSI 30/2011. Algorithmique distribue

important de remarquer que certains systmes de quorum dit n-gon ne sont pas disjoints (pour certaines valeurs de n = 3), le 3-gon tant un cas particulier pour illustrer la proprit des intersections disjointes. La tolrance aux pannes de systmes de quorum vriant les intersections disjointes est intressante puisquau moins |Q| nuds doivent tomber en panne pour que le systme soit en panne lorsque chaque nud appartient plusieurs quorums. Un systme de quorum, dit en grille (Lee et al., 2003) car il consiste en un biquorum de lignes et de colonnes o chaque ligne de la grille intersecte chaque colonne, respecte aussi la proprit des intersections disjointes. Pour un systme de quorum en grille, avec Q1 , Q2 , Q3 Q nous avons Q1 Q2 Q3 = alors que tout couple de quorums de types diffrents ont une intersection non vide. Si tous les |Q| nuds situs sur la diagonale de cette grille tombent en panne, alors plus aucun quorum nest actif et le systme tombe en panne. 5. Tolrer un nombre non born de pannes franches via reconguration Le dynamisme du systme peut induire laccumulation de pannes puisque de nouveaux nuds rejoignent sans cesse le systme. Il est donc crucial de tolrer laccumulation de pannes franches. Cette section propose des techniques pour en tolrer une quantit non borne. 5.1. La reconguration comme le remplacement de quorums Dans les systmes dynamiques, le nombre de pannes est potentiellement inni. Alors que la rplication permet de tolrer un nombre limite de pannes, elle ne permet pas de tolrer les modles de pannes propres aux systmes dynamiques. Dans un systme dynamique, un mcanisme doit tre effectu rgulirement an de tolrer les pannes qui saccumulent perptuellement. Ici, nous dcrivons un mcanisme possible appel reconguration. Les oprations sont divises en phases qui consistent pour un client contacter un quorum (gnralement plusieurs reprises). Ces oprations, bases sur les quorums, doivent pouvoir sexcuter et respecter la cohrence impose. Ainsi le mcanisme de reconguration ne doit pas affecter les oprations de lectures critures en les bloquant ou en violant latomicit. La reconguration consiste remplacer les quorums par des nouveaux quorums sans panne. Le but est dassurer que tous les nuds de quelques quorums soient toujours actifs (en gnral deux sufsent, comme expliqu ultrieurement). Herlihy (1986) divise en quatre tapes ce que peut tre un mcanisme de reconguration simple. Celles-ci sont les suivantes : (i) rcuprer ltat courant de lobjet ; (ii) stocker cet tat ; (iii) initialiser une nouvelle conguration ; (iv) mettre jour la nouvelle conguration, pour pouvoir enlever les prcdentes.

Objet atomique en systmes dynamiques

823

5.2. Indpendance des oprations Certains travaux, comme (Martin et al., 2004), proposent de stopper les oprations durant la reconguration. Par consquent une reconguration bloquante peut empcher les oprations de terminer, et les oprations dpendent ainsi de la reconguration. Dans la suite nous nous intressons lindpendance des oprations par rapport la reconguration. An que les oprations soient indpendantes et puissent terminer indpendamment du fonctionnement de la reconguration, cette dernire doit informer les oprations sur la bonne conguration utiliser. Lorsquune conguration est nouvellement installe, les oprations doivent lutiliser plutt quune conguration antrieure. Cependant comme des oprations peuvent tre en cours dexcution lorsquune nouvelle conguration est installe, lopration (ou tout au moins sa phase courante qui lui sert contacter un quorum) doit recommencer son excution pour utiliser la nouvelle conguration et les nouveaux quorums associs. Lynch et Shvartsman (2002), proposent une mmoire recongurable dont les oprations sont indpendantes de la reconguration. Ils dnissent deux procdures distinctes la base de toute reconguration : linstallation de conguration introduisant une nouvelle conguration et permettant plusieurs congurations de cohabiter ; la mise jour de la conguration permettant de rassembler les informations prsentes dans toutes les congurations au sein de la nouvelle conguration. Les premires tentatives (Lynch et al., 1997; Englert et al., 2000) consistent utiliser un recongureur centralis. Dans ce cas, un seul nud initie la reconguration et sassure de son bon fonctionnement. Linconvnient de cette centralisation est quelle peut tre victime dune seule panne. Si le recongureur tombe en panne, alors la reconguration devient impossible et le systme nest plut tolrant au dynamisme. 5.3. La reconguration dcentralise An dassurer que la reconguration puisse sexcuter en dpit des pannes, il est ncessaire de lexcuter de faon dcentralise. R AMBO (Lynch et al., 2002) propose lutilisation dun algorithme de consensus permettant plusieurs participants de se mettre daccord sur une nouvelle conguration installer. Cet algorithme requiert un algorithme de consensus indpendant, comme Paxos (Lamport, 1989) pour assurer quune nouvelle conguration soit choisie de faon dcentralise. Comme voqu prcdemment, il y a deux mcanismes au sein de la procdure de reconguration. Un algorithme de reconguration doit installer une nouvelle conguration utilisable an que lalgorithme puisse continuer en dpit du dynamisme, mais aussi supprimer les congurations prcdentes an dassurer que lalgorithme arrte dutiliser des congurations devenues obsoltes. Une implmentation de ces mca-

824

RSTI - TSI 30/2011. Algorithmique distribue

nismes dans R AMBO permet dinstaller une nouvelle conguration la demande. Cependant le mcanisme de recyclage permettant dinformer les clients potentiels que les congurations prcdentes sont devenues obsoltes est indpendant. Plus prcisment, ce mcanisme de recyclage ne dpend pas de lintroduction dune nouvelle conguration. Ne pas activer ce mcanisme au bon moment conduit soit multiplier le nombre de congurations prsentes dans le systme soit communiquer inutilement. 5.4. Suppression de congurations Dans cette premire version de lalgorithme R AMBO, un client doit contacter plusieurs congurations an dexcuter ses oprations. Durant la priode o plusieurs congurations cohabitent, chaque nud doit contacter non pas un seul quorum par phase de son opration mais un ensemble de quorums : un quorum par conguration prsente. De plus, le nombre de congurations actives cohabitantes peut crotre arbitrairement si le taux de recyclage nest pas assez lev, ainsi la complexit en nombre de message crot de manire correspondante pour toute opration au fur et mesure que le temps passe. An dempcher le nombre de congurations de crotre inniment si la frquence de recyclage est trop faible, la nouvelle version de R AMBO, appele R AMBO II (Gilbert et al., 2003) intgre un mcanisme de recyclage agressif permettant de supprimer non plus une seule conguration mais un ensemble de congurations en mme temps. Lide est didentier la dernire conguration, de rcuprer les informations contenues dans les anciennes congurations, de transmettre ces informations la dernire conguration avant de supprimer toutes les congurations sauf la dernire. Ce mcanisme empche le nombre de congurations prsentes de crotre inniment si le recyclage est effectu de faon rgulire. Cependant, ce mcanisme reste indpendant de linstallation de nouvelle conguration et ne permet pas de restreindre le nombre de congurations prsentes une petite constante (une ou deux par exemple). R AMBO III (Gramoli, 2004) amliore les prcdentes versions en utilisant les accs aux quorums la fois pour obtenir un consensus sur le choix de la nouvelle conguration, et pour recongurer le systme. Ce couplage repose sur la combinaison de lalgorithme Paxos (Lamport, 1989) avec lalgorithme de R AMBO permettant ainsi de limiter le nombre de congurations non-utilises et daccrotre substantiellement sa tolrance au dynamisme. La solution propose dans Recongurable Distributed Storage (RDS) (Chockler et al., 2009) repose sur R AMBO III et permet de limiter le nombre de congurations en couplant linstallation et la suppression pour quil nexiste jamais plus de deux congurations prsentes dans le systme au mme moment. De fait, chaque phase excute par un client ne doit jamais contacter plus de deux quorums ce qui permet de sabstraire des hypothses de R AMBO et R AMBO II concernant lactivit danciens quorums.

Objet atomique en systmes dynamiques

825

5.5. Ordonner les congurations en utilisant le consensus Le consensus permet diffrents nuds de se mettre daccord sur une dcision prendre. Il est ncessaire que les congurations soient choisies de faon uniforme par tous les nuds. tant donn que la suppression des congurations obsoltes ainsi que lexcution des oprations utilisent des changes de messages entre quorums, il est naturel dutiliser un algorithme de consensus galement bas sur lchange dinformation entre quorums. Paxos est un algorithme propos par Lamport qui permet de rsoudre le problme du consensus en utilisant des changes de messages entre quorums. Celui-ci permet certains nuds de proposer des nouvelles congurations et de laisser dcider les autres nuds par un systme de vote. La particularit est, dune part, quil est impossible pour les nuds de dcider de deux congurations diffrentes du fait de ce systme de vote. Dautre part, si les propositions cessent un moment donn de rentrer en conit alors une dcision uniforme est prise par lensemble des nuds participant lalgorithme. Il est ainsi possible, en utilisant Paxos, de permettre aux noeuds de se mettre daccord sur une conguration commune installer telle que tous les nuds nutiliseront que celle-ci. Cela revient donc assurer un ordre total sur les congurations successivement installes, chaque nud ne pouvant installer la i + 1e conguration que si la ie a dj t installe. Bien sr linconvnient est que des conits entre les votants empchent la dcision dtre prise empchant linstallation de la nouvelle conguration. Mais lorsque le systme stabilise et que lchange des messages est relativement rapide alors la dcision est prise trs rapidement car Paxos permet de rsoudre le consensus en deux changes de message (aprs que des congurations aient t proposes) lorsque de bonnes conditions pratiques sont runies. Ce dlai a t prouv comme tant minimal et la variante de Paxos permettant ces performances est appele Paxos Rapide (Lamport, 2006). Paxos a tout dabord t dcrit comme une suite de rgles informelles dans un rapport technique de 1989, publi neuf ans plus tard. Cette prsentation dcrit le fonctionnement dun parlement ancien sur lle grecque de Paxos o les dputs travaillent mi-temps. Ce papier explique comment les dcrets peuvent tre vots bien que les dputs ne soient pas tous dans la chambre du parlement au mme moment et peuvent ainsi avoir du mal communiquer. Cet algorithme permet dassurer la cohrence en dpit dune quantit arbitraire dabsences pourvu que le systme retourne un tat o plus de la moiti des participants sont prsents. La gure 4 dcrit la squence normale des messages envoys lors dun rfrendum dans lalgorithme Paxos. Une phase y est reprsente par un change de message et chaque nud peut jouer plusieurs rles parmi proposeur, accepteur et appreneur. Les accepteurs sinterdisent de participer un rfrendum sils dcouvrent un autre rfrendum avec une valeur plus grande indiquant quil est plus rcent (phase 1b). Les accepteurs peuvent voter pour un rfrendum sils ne se le sont pas interdis avant. Un rfrendum gagne si un quorum daccepteur la vot, mais les accepteurs dun mme quorum peuvent voter pour diffrents rfrendums. Si cela se produit, alors

826

RSTI - TSI 30/2011. Algorithmique distribue

Phase 1a. Un coordinateur envoie un nouveau rfrendum a un quorum de proposeurs. Phase 1b. Lorsque le message est reu, chaque proposeur rpond en envoyant la valeur du plus grand rfrendum (sil en existe un) pour lequel il a vot. Chacun des proposeurs qui dcouvre un rfrendum plus jour sinterdit de participer tout rfrendum prcdent. Phase 2a. Aprs avoir reu les rponses dau moins un quorum daccepteurs, le coordinateur choisit une nouvelle valeur pour son rfrendum et informe un quorum daccepteurs du choix de cette valeur pour ce rfrendum. Phase 2b. Tout accepteur qui dcouvre cette valeur et qui ne sest pas interdit de voter ce rfrendum, peut voter pour celui-ci et donner cette valeur aux appreneurs (et au coordinateur). Lorsque les appreneurs apprennent quun quorum daccepteurs a vot pour cette valeur, ils dcident de cette valeur.

Figure 4. Description de lalgorithme Paxos un nouveau rfrendum avec un identiant plus grand doit tre dmarr pour assurer qu un moment un rfrendum gagne. Le consensus est rsolu lorsque les appreneurs reoivent un message les informant de la valeur dcide ; cette rception met n au rfrendum (phase 2b). 5.6. Reconguration dcentralise rapide Bien sr, les recongurations doivent tre sufsamment frquentes pour que le nombre de dfaillances saccumulant reste sous le seuil critique tolr (typiquement, au moins un quorum doit rest actif). Autrement dit, plus le mcanisme de reconguration est rapide, plus le temps de remplacement de serveurs dfaillants est court, ce qui rend le systme davantage robuste. Cet aspect est la principale motivation de R AMBO III et RDS. qui proposent un mcanisme de reconguration rapide. Le protocole de reconguration qui y est prsent utilise la version optimise Paxos Rapide, un algorithme de consensus pour permettre au systme de choisir une nouvelle conguration installer. Lalgorithme remplace sufsamment de serveurs pour assurer qu tout moment au moins un quorum est actif. Plus prcisment, un systme de quorum est lu par un quorum rest actif, puis les anciens quorums sont remplacs par de nouveaux quorums actifs. Loriginalit de cet algorithme rside dans la superposition des deux mcanismes. Puisque dcider dune nouvelle conguration et remplacer lancienne conguration par une nouvelle sont deux problmes utilsant les quorums, le couplage de ces deux mcanismes rsulte en un algorithme aussi rapide que le moins rapide des deux mcanismes sous-jacents. Par consquent lorsque le systme stabilise et quun leader est lu, RDS recongure le systme en trois dlais de message. La gure 2 rsume la complexit en temps des oprations et de la reconguration dans les algorithmes prsents ci-avant. RDS amliore substantiellement les autres algorithmes en minimisant la complexit en temps.

Objet atomique en systmes dynamiques

827

Algorithme Latence min. Latence max. Delai max. de des operations de conguration suppression de cong. R AMBO 4 10d + 4(s 1)d + R AMBO II 4 10d + 4d + RDS 2 5d + 0 Tableau 2. Complexit en temps dexcution de R AMBO, R AMBO II, et RDS ; la lettre (rciproquement d) est une borne infrieure (rciproquement suprieure) sur le dlai de message, s est le nombre de congurations prsentes et = O(1) est une constante indpendante du dlai des messages La reconguration rapide est utile pour la tolrance aux dfaillances dans les systmes distribus dynamiques. Plus le systme renouvelle rapidement lensemble des serveurs actifs et plus le systme est tolrant aux dfaillances. Cependant, ce mcanisme peut paratre trop complexe pour un systme o les ressources sont limites et o le systme doit stabiliser durant sufsamment longtemps. De plus, cette technique suppose que les nuds accdent directement tous les participants dun quorum. Cela ncessite pour chaque client potentiel de connatre tous les lments dau moins un quorum. La tolrance aux fautes rsultant de la rplication des quorums, il est mme prfrable que chaque client potentiel connaisse lensemble des participants de plusieurs quorums. Ainsi pour un petit nombre de fautes se produisant durant le lapse de temps ncessaire la reconguration, un client pourra plus facilement trouver un quorum dont lensemble des participants sont toujours actifs. Cette connaissance globale peut avoir des consquences dramatiques sur les performances de lalgorithme lorsque la taille et le nombre de quorums tend devenir trs grand. En effet, dans un systme o le nombre de clients est trs grand, la charge induite peut ncessiter galement un grand nombre de serveurs. Dans ce cas, le cot en communication ncessaire chaque opration peut amener des congestions dans le rseau. 6. Des alternatives efcaces en communication Dans cette section, nous nous intressons aux cots en communication lis lmulation de la mmoire partage. Nous proposons des solutions pour diminuer cette complexit. 6.1. viter les communications lensemble des participants cause de lintrt croissant pour les systmes dynamiques grande chelle, une approche radicalement diffrente a t adopte. Cette approche est base sur le prin-

828

RSTI - TSI 30/2011. Algorithmique distribue

cipe de localit. La localit est la qualit dun algorithme tirer parti de linformation situe dans un voisinage proche plutt que linformation loigne. Lide est de permettre chaque nud de conserver une partie de linformation du systme en fonction de son emplacement dans le rseau des communications. Par consquent, un algorithme utilisant la localit minimise limpact induit par les vnements dynamiques : la rparation dune dfaillance, bien quen moyenne plus frquente que la reconguration, a un cot plus faible. 6.1.1. Rduire les bavardages Les solutions proposes prcdemment possdent un inconvnient lorsquelles sont dployes grande chelle. En effet, dans un systme tel quinternet, o la bande passante est limite, la communication entre un grand nombre de nuds provoque des congestions au sein du rseau. Dans les approches cites prcdemment, les nuds clients connaissent le systme de quorum de lobjet an de pouvoir excuter une opration. Le client effectue une opration en envoyant un message simultanment lensemble des nuds du systme de quorum. Comme la reconguration assure qu tout moment un quorum est actif, le client reoit nalement un message de la part de chaque serveur dau moins un quorum. Lopration se poursuit ventuellement par une seconde phase dchange entre le client et un quorum. Par consquent, le nombre de messages requis chaque reconguration pour que tous les n nuds soient au courant du nouveau systme de quorum est O(n2 ).

Figure 5. Approche par connaissance globale : le client C effectue chaque opration de lecture et criture en temps O(1) ; tous les serveurs (ou presque) du quorum sont contacts en parallle Gramoli, Musial et Shvartsman (2005) proposent une amlioration substantielle dans le but de rduire la complexit en communication de quadratique linaire en n. Pour cela, des rles spciques sont assigns aux serveurs et des quorums particuliers doivent tre utiliss. Un nud a un rle de propritaire sil se considre localement comme faisant partie dun quorum jour un quorum du dernier systme de quorum install.

Objet atomique en systmes dynamiques

829

Lorsquune reconguration a lieu, les informations relatives au nouveau systme de quorum sont dissmines uniquement entre propritaires. Ainsi la diminution en nombre de messages est proportionnelle au carr de la diffrence entre le nombre de nuds et le nombre de propritaires. Cette amlioration constitue une premire tape pour le passage grande chelle. Lorsque le nombre de nuds devient grand, diminuer le nombre de serveurs permet de diminuer le nombre de propritaires et donc diminue, de surcrot, la complexit en communication dune reconguration. Cependant, malgr la diminution du cot de communication pour la reconguration, tout nud doit pouvoir trouver lobjet sur lequel effectuer les oprations. Pour cela, tout client doit pouvoir envoyer sa requte un des propritaires du systme de quorum actuel bien que ces systmes se succdent au l du temps. Lhypothse utilise est quau moins un propritaire de chaque systme de quorum reste actif. Lorsquun client contacte un systme qui a t remplac, il contacte au moins un nud de ce systme permettant de retrouver le systme de quorum successeur. Par consquent les anciens propritaires permettent petit petit de recontacter les propritaires actuels. Cette proprit reste difcile satisfaire dans un systme fortement dynamique. La complexit daccs un quorum est reprsente sur la gure 5 o la taille q des quorums est q = 6. Les cercles numrots indiquent les nuds dun quorum et le cercle not C indique le client y accdant. Il est clair que laccs un quorum seffectue en temps constant puisquun message est ncessaire pour contacter un propritaire et un message est ncessaire pour consulter les autres serveurs du quorum. Comme les oprations ncessitent un nombre constant daccs aux quorums, chaque opration seffectue dans ce cas en temps constant. 6.1.2. Diminuer la connaissance pour passer grande chelle En restreignant encore davantage linformation que chaque nud maintient sur le systme, un mcanisme de rparation peut tre excut avec un cot moindre que dans le cas dune reconguration. Supposons, par exemple, quun des serveurs quitte le systme de quorum, il sera seulement ncessaire ses voisins, les nuds pouvant communiquer directement avec lui, de rparer cette panne soit en agissant sa place soit en rpliquant la donne un autre nud qui deviendra un serveur remplaant. Linconvnient direct dune telle solution est laugmentation de la latence des oprations. Bien que la complexit des messages soit diminue, la complexit en temps dune opration est augmente. En effet, diminuer la connaissance des nuds un voisinage restreint empche de contacter les quorums en un nombre constant de messages. Dans ce cas, le premier serveur contact devra contacter le serveur suivant et ainsi de suite. Le nombre de messages requis sera alors proportionnel la taille du quorum O(q ). 6.1.3. Mmoire atomique adaptative Il est intressant de noter que le paradigme de la rparation locale ou globale est li au paradigme du routage ractif ou proactif. La rparation locale est telle que seul un

830

RSTI - TSI 30/2011. Algorithmique distribue

routage ractif peut tre adopt durant la phase daccs aux quorums. En effet, aucun serveur nest connu lorsque le routage commence. Les serveurs sont ainsi dcouverts au fur et mesure de lexploration. loppos, la rparation globale ncessite un routage proactif o lensemble des serveurs est connu lorsque laccs au quorum dbute. Les algorithmes utilisant la premire de ces deux techniques sont appels adaptatifs alors que ceux utilisant la seconde sont appels non adaptatifs comme dnis dans (Naor et al., 2003). Rcemment, certains auteurs se sont intresss aux quorums dynamiques (Naor et al., 2003; Nadav et al., 2005; Abraham et al., 2005), dont les serveurs changent progressivement avec le temps. Dans (Abraham et al., 2005), un nouveau nud est insr par un ajout de lien dans une structure en graphe De Bruijn, tandis que la localit est dnie de la manire suivante : si deux nuds sont relis par un lien du graphe alors ils sont voisins. Par ailleurs, le Dynamic Path (Naor et al., 2003) dnit des quorums dans une couche de communication logique utilisant des cellules de Voronoi pour dterminer les relations de voisinage : deux nuds dtenant deux cellules accoles sont voisins. Les cellules se radaptent automatiquement en fonction du placement des nouveaux nuds ou des nuds qui partent. Le systme de quorum dynamiques et/ou (Nadav et al., 2005) consiste en une structure arborescente binaire dont les feuilles reprsentent les serveurs. Un quorum est choisi en partant de la racine et en descendant alternativement un chemin (ou) ou les deux chemins (et) allant vers les feuilles. Les feuilles aux terminaisons des chemins choisis constituent les serveurs dun quorum. Les quorums sont dynamiques puisque durant le parcours ractif de larbre, des nuds peuvent tre supprims ou ajouts. Des mulations de mmoire partage en modle passage de message utilisent ces nouveaux types de quorums pour leur adaptation aux systmes dynamiques grande chelle, non seulement du fait de leur dynamisme inhrent mais galement du fait de leur proprit de localit. Par exemple, S AM (Anceaume et al., 2005) et S QUARE (Gramoli et al., 2007a) utilisent des spcicits dynamiques an dadapter la structure des systmes de quorum aux variations de charges imprvisibles en contexte grande chelle. De plus, ces solutions utilisent une grille supportant des dparts et arrives de nuds ainsi le nombre de voisins est constant et la rparation locale ne ncessite quun nombre constant de messages. Ces solutions reposent sur un algorithme adaptatif pour accder aux quorums et les oprations ncessitent O(q ) messages successifs. La gure 6 reprsente un accs au quorum : le client C contacte tour tour chacun des serveurs dun quorum. Certaines mthodes adaptatives tendent la notion de localit un nombre de nuds logarithmique en la taille du systme. Ce type dapproche (Muthitacharoen et al., 2004) permet deffectuer des oprations en temps O(log q ).

Objet atomique en systmes dynamiques

831

Figure 6. Approche adaptative : le client C accde un quorum en contactant chaque serveurs du quorum tour tour ; les oprations sont excutes en temps O(q ) 6.2. Assurer les intersections avec forte probabilit tant donn les diffrentes solutions tudies prcdemment, il semble difcile dobtenir la fois des oprations rapides et une cohrence assure sans surcot de communication. De plus, an de prserver les conditions de vivacit, les solutions prsentes mettent des hypothses fortes. Par exemple, Chockler et al. (2009) prsupposent que le systme stabilise et que les temps des messages sont borns pour que la reconguration termine. Aussi, Anceaume et al. (2005) requirent la prsence de dtecteurs de fautes parfaits. Rcemment et face aux difcults rencontres pour assurer des proprits dterministes, des solutions probabilistes ont vu le jour. Abraham et al. (2005) proposent une couche de communication logique en graphe De Bruijn an dassurer un degr constant. Cette structure est dynamique, comme mentionne prcdemment, et chaque vnement dynamique ncessite une rparation locale impliquant O(log n) messages avant que la structure stabilise nouveau (car tous les n nuds font partie de la structure). Les quorums de cette structure sinter sectent avec grande probabilit. Ce rsultat est atteint en excutant O( n) marches alatoires en parallle, de longueur O(log n) chacune. Ainsi le temps ncessaire pour accder un quorum est de O(log n) dlais de message (avec q = n log n). La gure 7 prsente simplement laccs un quorum en utilisant deux marches alatoires en parallle. Malkhi et al. (2001) dnissent un systme de quorum probabiliste. Appel systme de quorum -intersectant, il contient des quorums qui sintersectent avec probabilit 1 . Ces solutions sont bases sur laccs un certain nombre de nuds choisis alatoirement tels que lors de deux accs, il soit probable quun nud soit contact deux fois, autrement dit que lintersection existe. De tels quorums sont essentiellement dnis par leur taille q et cette taille est par dnition leve.

832

RSTI - TSI 30/2011. Algorithmique distribue

Figure 7. Approche par marches alatoires : deux marches alatoires sont excutes en parallle an de contacter lensemble des serveurs du quorum ; le temps daccs est donc linaire en la taille des marches alatoires Bien que la taille de ces quorums ne peut pas tre considrablement diminue, contrairement au mthodes prcdentes, les quorums probabilistes apportent des amliorations en termes de complexit et posent de nouvelles questions : Quels seraient les critres de cohrence envisageables dans les systmes dynamiques grande chelle ? Faut-il dnir un nouveau critre de cohrence atomique probabiliste ou doit-on se contenter de cohrence faible ? 6.3. Affaiblir la cohrence forte De nombreux travaux sont ddis la dnition formelle de critres de cohrence. Parmi ceux-ci, latomicit est le critre le plus fort (dnition 2). Ainsi si une implmentation vrie ce critre alors cette mme implmentation vrie tout autre critre. Latomicit prsente de nombreux avantages tels que la proprit de localit comme mentionn prcdemment. Dautres critres moins forts on vu le jour. La sret et la rgularit (Lamport, 1986) sont deux proprits quil est plus facile dassurer que latomicit. Ces deux proprits ncessitent quune opration de lecture qui nest pas en concurrence avec une opration dcriture retourne la dernire valeur crite. Latomicit faible ncessite au contraire que si deux oprations de lecture retourne une mme valeur, alors toute lecture ultrieure renvoie la mme valeur ou une valeur plus jour. Un classe de cohrence intressante, appele hybride (Attiya et al., 1998) bncie des critres faibles et forts la fois. Elle dnit des ordres forts et faibles sur les oprations. Les oprations ordonnes fortement ont un ordre sur lequel tous les nuds du systme sont daccord alors que les oprations ordonnes faiblement ont un ordre qui peut tre diffrent en fonction du point de vue dun nud. Un critre de cohrence

Objet atomique en systmes dynamiques

833

fournissant la fois lordre faible et fort en fonction de lobjet qui est accd a t dni par Dubois et al. (1988; 1990). Tous ces critres de cohrence sont dterministes, ainsi pour quune implmentation vrie la cohrence hybride, chaque type dopration doit tre dni lavance comme tant fort ou faible mais ne peut pas tre les deux la fois. Dautres critres de cohrence incluent la notion dala. Par exemple dans (Afek et al., 1995), une valeur ancienne peut tre retourne en fonction du type courant de lobjet accd. Par ailleurs, certains travaux ne posent pas de contrainte sur la latence des oprations mais assurent que lorsquune opration de lecture termine, elle renvoie une valeur jour (Shavit et al., 1998). Aussi, les registres alatoires (Lee et al., 2005) permettent de retourner des valeurs anciennes tant que nimporte quelle valeur crite est lue ou rcrite ultimement. Finalement, un critre de cohrence appel atomicit probabiliste (Gramoli et al., 2007b) autorise toute opration chouer en renvoyant une valeur qui nest plus jour, mais seulement avec trs faible probabilit. Ce dernier critre de cohrence peut tre utilis pour viser un niveau de qualit de service exprim par la probabilit que les oprations effectues par ce service aient du succs. Pour formaliser cette notion de qualit qui nest plus dterministe, il nous faut modier le critre de cohrence dni au dbut de cet article (dnition 2) en atomicit probabiliste. Tout dabord nous rappelons, les points 1 et 3 de la dnition initiale : (1 , 2 )ordre : si la rponse dune opration 1 prcde linvocation de lopration 2 alors il nest pas possible davoir 2 1 ;

(1 , 2 )retour : la valeur retourne par une opration de lecture 2 est la valeur crite par la dernire criture la prcdant 1 (par dnition de ) et sil nexiste pas de telle opration dcriture alors la valeur retourne est la valeur par dfaut. La dnition datomicit probabiliste est la suivante. Dnition 5 (Atomicit probabiliste) Soit x un objet accessible en lecture et criture. Soit H une squence complte dinvocations et de rponses de lecture/criture appliques x. La squence H satisfait latomicit probabiliste sil existe un ordre partiel sur les oprations succs tel que les proprits suivantes soient vres :

3) soit 1 une opration succs. Nimporte quelle opration 2 satisfait (1 , 2 )retour avec forte probabilit (si 2 ne le satisfait pas, alors il est considr comme sans succs).

1) soit 1 une opration succs. Nimporte quelle opration 2 satisfait (1 , 2 )ordre avec forte probabilit (si 2 ne le satisfait pas, alors il est considr comme sans succs) ; 2) si 1 est une opration dcriture et 2 une autre opration, alors soit 2 1 ou bien 1 2 ;

Il est important de mentionner quun tel critre de cohrence probabiliste est inutile dans beaucoup de cas de gure. En effet, des systmes critiques ne peuvent

834

RSTI - TSI 30/2011. Algorithmique distribue

se permettre des garanties probabilistes mais ncessitent des garanties dterministes. Aussi, la faible probabilit quune opration choue peut avoir un impact sur les oprations ultrieures. Par exemple, une opration dcriture qui ncrirait que partiellement pourrait avoir du succs si une opration de lecture retournait cependant sa donne. Dans ce cas, doit-on considrer que les oprations de lecture retournant des valeurs anciennes ont chou ou devrait-on considrer que toutes les oprations ont eu du succs. Une alternative cette ambigut serait de combiner des oprations dcriture dterministes (nchouant jamais) et des oprations de lectures probabilistes. Il existe cependant des applications concrtes, dans les systmes grande chelle, pouvant proter dun tel critre de cohrence probabiliste. En effet, lchange dinformations (renseignements gographiques ou musicaux) entre entits mobiles qui se rencontrent de faon imprvue ne ncessite nullement de garanties dterministes. Par ailleurs, rechercher une information apparue au sein dun systme pair--pair renvoie souvent des rsultats variables voir incohrents car un chier trouv un moment donn peut avoir disparu un instant plus tard. Latomicit probabiliste garantit une certaine qualit de service sufsante pour nombre dapplications qui privilgient davantage lchange quantitatif lchange qualitatif dinformation. 6.4. Solutions sans structure Toutes les solutions dcrites prcdemment ont un point commun : elles utilisent une couche de communication logique structure. tant donn les contraintes imposes par de telles structures, des cots de communication sont ncessaires pour assurer que les donnes soient cohrentes ou mme subsistent. En effet la solution principale est de ragir aux vnements dynamiques par une rparation de la structure.

Figure 8. Lapproche par dissmination : des messages sont dissmins au sein des nuds an de contacter les serveurs du quorum ; le temps daccs est donc au plus logarithmique en le nombre de nuds contacter

Objet atomique en systmes dynamiques

835

Par consquent, diminuer les cots de communication quimpliquent le maintien de la cohrence ncessite de dnir une mmoire atomique sans structure logique. Gramoli et al. (2006; 2007b) voquent une faon de prserver lintersection en dpit du dynamisme sans utiliser de structure. Leur approche est donc gnralisable la cohrence des donnes. Leur ide fondamentale est dassurer la subsistance dun noyau constitu de serveurs contenant la donne critique (i.e., la donne subsistante ou la dernire valeur crite) an que nimporte quel nud puisse y accder tout moment avec forte probabilit. Un travail ultrieur utilisant des quorums temporels (Gramoli et al., 2007b) propose dans un modle dynamique, lgrement diffrent de (Gramoli et al., 2006), un systme assurant latomicit probabiliste (dnition 5). Lide matresse est temporelle dans le sens o un objet subsiste si les oprations sont sufsamment frquentes par rapport au va-et-vient. En dautres termes, si un objet est crit (mis jour ou modi) sufsamment souvent sur un nombre sufsant q de serveurs alors lobjet subsiste. Cette technique peut tre utilise an de dnir des quorums ne ncessitant aucun mcanisme de rparation. La gure 8 reprsente comment accder de tels quorums avec un protocole de dissmination au sein du rseau. Dune autre faon, il est galement possible de dnir des protocoles pidmiques utilisant un bavardage rgulier pour obtenir des rsultats similaires en diminuant les effets de congestion possibles. Probabilit Va-et-vient dintersection C = 1 (1 c) statique 10 % 99 % 30 % 60 % 80 % statique 10 % 99.9 % 30 % 60 % 80 % q (n = 103 ) 66 70 79 105 143 80 85 96 128 182 Taille du quorum q (n = 104 ) q (n = 105 ) 213 677 224 714 255 809 337 1071 478 1516 260 828 274 873 311 990 413 1311 584 1855

Tableau 3. La taille du quorum en fonction de la taille du systme et du va-et-vient Gramoli et al. (2006) montrent que lorsque la portion des nuds quitter et rejoindre le systme par unit de temps est c, et que la priode maximale entre deux oprations est de units de temps, alors on peut paramtrer la taille des quorums an dobtenir la qualit de service dsire. Le tableau 3 retranscrit les rsultats prsents dans (Gramoli et al., 2006) o C reprsente la portion des nuds du systme qui ont t remplacs entre deux oprations, durant une priode et avec un va-et-vient c. Il est intressant dobserver que la taille des quorums doit tre lgrement augmente pour tolrer le dynamisme tout en assurant la mme probabilit dintersection que dans un environnement statique. Similairement, lorsque deux fois plus de nuds sont

836

RSTI - TSI 30/2011. Algorithmique distribue

remplacs un quorum doit simplement tre augment de quelques nuds an de garantir la mme probabilit dintersection. 7. Conclusion Cet article prsente les ds qui entourent lmulation de mmoire partage dans un environnement passage de message o les nuds participants ne cessent de quitter le systme et o de nouveaux nuds rejoignent ce systme de faon imprvisible. travers les travaux existants sur les systmes de quorum, les mcanismes de reconguration et les objets en lecture/criture probabilistes nous avons dress un tat de lart des approches pour pallier le dynamisme. Le rsultat de notre tude est une classication des systmes de quorum statiques, dynamiques et probabilistes qui rgissent la rplication des donnes pour tolrer les pannes franches, le va-et-vient et minimiser les cots associs la communication quinduit une telle tolrance. Je suis convaincu que les systmes de quorum probabilistes peuvent tre adapts pour diffrents besoins. Bien que certaines applications, dites critiques, ncessitent des garanties fortes pour les utilisateurs, dautres types dapplications distribues visent de gros volumes de communication au dtriment des garanties. Typiquement, les rseaux dynamiques proposent un change dinformation dont le volume ne cesse de crotre alors mme que leur intrt dcrot. Lutilisation dinternet travers les rseaux sociaux en est un exemple puisquil place la quantit dinformation devant la pertinence des changes. Ceux-ci regroupent notamment les rseaux pair--pair. Les rseaux mobiles permettent dj de mettre en relation une clientle cible avec les informations de proximit, et l encore le but est de privilgier la communication de masse par rapport la non redondance ou laspect jour du message lui-mme. Il semble donc primordial pour ces nouveaux types dapplications dtudier lmulation de mmoire partage avec des critres de cohrence plus faibles que ceux tudis par le pass au prot du passage lchelle. Remerciements Je souhaite remercier Michel Raynal, Roy Friedman et Alex Shvartsman pour leurs commentaires clairs lors de la rdaction de ma thse (Gramoli, 2007) dont ce travail est tir. 8. Bibliographie
Abraham I., Malkhi D., Probabilistic quorums for dynamic systems , Distributed Computing, vol. 18, n 2, p. 113-124, 2005. Afek Y., Greenberg D. S., Merritt M., Taubenfeld G., Computing with faulty shared objects , J. ACM, vol. 42, n 6, p. 1231-1274, 1995.

Objet atomique en systmes dynamiques

837

Agrawal D., Abbadi A. E., The tree quorum protocol : an efcient approach for managing replicated data , Proceedings of the 16th Intl Conference on Very Large Databases, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, p. 243-254, 1990. Agrawal D., Choy M., Leong H. V., Singh A., Mixed consistency : a model for parallel programming , Proceedings 13th Annual Symposium on Principles of Distributed Computing, p. 101-110, 1994. Anceaume E., Gradinariu M., Gramoli V., Virgillito A., P2P Architecture for Self* Atomic Memory , Proceedings of 8th Intl Symposium on Parallel Architectures, Algorithms and Networks, p. 214-219, Dec., 2005. Attiya H., Bar-Noy A., Dolev D., Sharing memory robustly in message-passing systems , J. ACM, vol. 42, n 1, p. 124-142, 1995. Attiya H., Friedman R., A correctness condition for high-performance multiprocessors , SIAM Journal on Computing, vol. 27, n 6, p. 1637-1670, 1998. Chockler G., Gilbert S., Gramoli V., Musial P., Shvartsman A., Recongurable Distributed Storage for Dynamic Networks , Journal of Parallel and Distributed Computing, vol. 69, n 1, p. 100-116, 2009. Dubois M., Scheurich C., Memory Access Dependencies in Shared-Memory Multiprocessors , IEEE Trans. Softw. Eng., vol. 16, n 6, p. 660-673, 1990. Dubois M., Scheurich C., Briggs F., Memory access buffering in multiprocessors , Proceedings of the 13th Annual Intl Symposium on Computer Architecture, IEEE Computer Society Press, Los Alamitos, CA, USA, p. 434-442, 1986. Dubois M., Scheurich C., Briggs F. A., Synchronization, Coherence, and Event Ordering in Multiprocessors , Computer, vol. 21, n 2, p. 9-21, 1988. Dutta P., Guerraoui R., Levy R. R., Chakraborty A., How fast can a distributed atomic read be ? , Proceedings of the 23th Annual Symposium on Principles of Distributed Computing, ACM Press, New York, NY, USA, p. 236-245, 2004. Englert B., Shvartsman A. A., Graceful quorum reconguration in a robust emulation of shared memory , Proceedings of Intl Conference on Distributed Computer Systems, p. 454463, 2000. Garcia-Molina H., Barbara D., How to assign votes in a distributed system , J. ACM, vol. 32, n 4, p. 841-860, 1985. Gifford D. K., Weighted voting for replicated data , Proceedings of the 7th ACM Symposium on Operating systems principles, ACM Press, p. 150-162, 1979. Gilbert S., Lynch N. A., Shvartsman A. A., RAMBO II : Implementing atomic memory in dynamic networks, using an aggressive reconguration strategy, Technical report, LCS, MIT, 2003. Goodman J. R., Cache Consistency and Sequential Consistency, Technical Report n 61, SCI Committee, Mar., 1989. Gramoli V., RAMBO III : Speeding-up the reconguration of an atomic memory service in dynamic distributed system , Masters thesis, Universit Paris Sud - Orsay, France, Sep., 2004. Gramoli V., Distributed Shared Memory for Large-Scale Dynamic Systems, PhD thesis, Universit Rennes 1, 2007.

838

RSTI - TSI 30/2011. Algorithmique distribue

Gramoli V., Anceaume E., Virgillito A., SQUARE : Scalable Quorum-Based Atomic Memory with Local Reconguration , Proceedings of the 22nd ACM Symposium on Applied Computing, p. 574-579, Mar., 2007a. Gramoli V., Kermarrec A.-M., Mostefaoui A., Raynal M., Sericola B., Core Persistence in Peer-to-Peer Systems : Relating Size to Lifetime , Proceedings of the Intl Workshop on Reliability in Decentralized Distributed systems, vol. 4218 of LNCS, Springer, p. 14701479, Oct., 2006. Gramoli V., Musial P., Shvartsman A., Operation Liveness and Gossip Management in a Dynamic Distributed Atomic Data Service , Proceedings of the 18th Intl Conference on Parallel and Distributed Computing Systems, Sept., 2005. Gramoli V., Raynal M., Timed Quorum Systems for Large-Scale and Dynamic Environments , Proceedings of the 11th Intl Conference on Principles of Distributed Systems, vol. 4878, Springer-Verlag, p. 429-442, 2007b. Herlihy M., A quorum-consensus replication method for abstract data types , ACM Trans. Comput. Syst., vol. 4, n 1, p. 32-53, 1986. Herlihy M. P., Wing J. M., Linearizability : a correctness condition for concurrent objects , ACM Trans. Program. Lang. Syst., vol. 12, n 3, p. 463-492, 1990. Holzman R., Marcus Y., Peleg D., Load Balancing in Quorum Systems , Proceedings of the 4th Intl Workshop on Algorithms and Data Structures, Springer-Verlag, London, UK, p. 38-49, 1995. Hutto P. W., Ahamad M., Slow Memory : Weakening Consistency to Enhance Concurrency in Distributed Shared Memories , Proceedings of the 10th Intl Conf. on Distributed Computing Systems, p. 302-311, May, 1990. Kuo Y., Huang S., A geometric Approach for constructing Coteries and k-Coteries , IEEE Transactions on Parallel and Distributed Systems, vol. 8, p. 402-411, 1997. Lamport L., Time, Clocks, and the Ordering of Events in a Distributed System , Communications of the ACM, vol. 21, n 7, p. 558-565, July, 1978. Lamport L., On interprocess communication, Part II : Algorithms , Distributed Computing, vol. 1, p. 86-101, 1986. Lamport L., The Part-time Parliament, Technical Report n 49, Digital SRC, Sept., 1989. Lamport L., Fast Paxos , Distributed Computing, vol. 19, n 2, p. 79-103, Oct., 2006. Lee H., Welch J. L., Randomized Registers and Iterative Algorithms , Distributed Computing, vol. 17, n 3, p. 209-221, 2005. Lee H., Welch J. L., Vaidya N. H., Location Tracking Using Quorum in Mobile Ad Hoc Networks , Ad Hoc Networks, vol. 1, n 4, p. 371-381, 2003. Lipton R. J., Sandberg J. S., PRAM : A Scalable Shared Memory, Technical Report n CS-TR180-88, Dept. of Computer Science, Princeton University, Sept., 1988. Lynch N., Distributed Algorithms, Morgan Kaufmann Publishers, 1996. Lynch N. A., Shvartsman A. A., Robust emulation of shared memory using dynamic quorumacknowledged broadcasts , Proceedings of 27th Intl Symposium on Fault-Tolerant Computing, p. 272-281, 1997. Lynch N., Shvartsman A., RAMBO : A recongurable atomic memory service for dynamic networks , Proceedings of 16th Intl Symposium on Distributed Computing, p. 173-190, 2002.

Objet atomique en systmes dynamiques

839

Maekawa M., A N algorithm for mutual exclusion in decentralized systems , ACM Trans. Comput. Syst., vol. 3, n 2, p. 145-159, 1985. Malkhi D., Reiter M., Byzantine Quorum Systems , Distributed Computing, vol. 11, n 4, p. 203-213, 2004. Malkhi D., Reiter M., Wool A., Wright R., Probabilistic quorum systems , Information and Computation, vol. 170, n 2, p. 184-206, 2001. Martin J.-P., Alvisi L., A Framework for Dynamic Byzantine Storage , Proceedings of the Intl Conference on Dependable Systems and Networks, IEEE Computer Society, p. 325, 2004. Muthitacharoen A., Gilbert S., Morris R., Etna : a fault-tolerant algorithm for atomic mutable dht data, Technical Report n MIT-LCS-TR-993, Massachussetts Institute of Technology, June, 2004. Nadav U., Naor M., The Dynamic And-Or Quorum System , in P. Fraigniaud (ed.), Proceedings of 19th Intl Symposium on Distributed Computing, vol. 3724 of LNCS, p. 472-486, Sept., 2005. Naor M., Wieder U., Scalable and dynamic quorum systems , Proceedings of the 22th Annual symposium on Principles of Distributed Computing, ACM Press, p. 114-122, 2003. Naor M., Wool A., The Load, Capacity, and Availability of Quorum Systems , SIAM Journal on Computing, vol. 27, n 2, p. 423-447, 1998. Shavit N., Zemach A., Combining funnels : a new twist on an old tale... , Proceedings of the 17th Annual Symposium on Principles of Distributed Computing, ACM Press, New York, NY, USA, p. 61-70, 1998. Thomas R. H., A Majority consensus approach to concurrency control for multiple copy databases , ACM Trans. Database Syst., vol. 4, n 2, p. 180-209, 1979. Vidyasankar K., Weak atomicity : A helpful notion in the construction of atomic shared variables , Journal of Engineering Sciences of the Indian Academy of Sciences, vol. 21, p. 245-259, 1996. Weihl W. E., Local Atomicity Properties : Modular Concurrency Control for Abstract Data Types , ACM Trans. Program. Lang. Syst., vol. 11, n 2, p. 249-283, 1989.

Article reu le 1er avril 2009. Accept aprs rvisions le 18 fvrier 2010.
Vincent Gramoli effectue ses recherches lEPFL et lUniversit de Neuchtel. Ses travaux portent sur la cohrence des donnes dans les systmes distribus dynamiques et plus rcemment sur des modles transactionnels permettant de rendre la programmation concurrente simple et rutilisable. Il a obtenu son doctorat lUniversit Rennes 1 et a t afli lIRISA, lINRIA Saclay, University of Connecticut et Cornell University.

840

RSTI - TSI 30/2011. Algorithmique distribue

S ERVICE DITORIAL H ERMES -L AVOISIER 14 rue de Provigny, F-94236 Cachan cedex Tl. : 01-47-40-67-67 E-mail : revues@lavoisier.fr Serveur web : http://www.revuesonline.com

ANNEXE POUR LE SERVICE FABRICATION


A FOURNIR PAR LES AUTEURS AVEC UN EXEMPLAIRE PAPIER DE LEUR ARTICLE ET LE COPYRIGHT SIGNE PAR COURRIER LE FICHIER PDF CORRESPONDANT SERA ENVOYE PAR E-MAIL

1. A RTICLE POUR LA REVUE : RSTI - TSI 30/2011. Algorithmique distribue 2. AUTEURS : Vincent Gramoli 3. T ITRE DE L ARTICLE : mulation de mmoire partage en environnements distribus dynamiques 4. T ITRE ABRG POUR LE HAUT DE PAGE MOINS DE 40 Objet atomique en systmes dynamiques 5. DATE DE CETTE VERSION : 25 dcembre 2011 6. C OORDONNES DES AUTEURS : adresse postale : EPFL Station 14, CH-1015 Lausanne, Suisse Universit de Neuchtel Rue Emile-Argand 11, CH-2007 Neuchtel, Suisse vincent.gramoli@epfl.ch tlphone : +41 21 693 8125 tlcopie : +41 21 693 75 70 e-mail : vincent.gramoli@ep.ch 7. L OGICIEL UTILIS POUR LA PRPARATION DE CET ARTICLE : A L TEX, avec le chier de style article-hermes.cls, version 1.23 du 17/11/2005. 8. F ORMULAIRE DE COPYRIGHT : Retourner le formulaire de copyright sign par les auteurs, tlcharg sur : http://www.revuesonline.com
SIGNES

S ERVICE DITORIAL H ERMES -L AVOISIER 14 rue de Provigny, F-94236 Cachan cedex Tl. : 01-47-40-67-67 E-mail : revues@lavoisier.fr Serveur web : http://www.revuesonline.com