Algorithme distribu´e d’orientation de graphes dans un
environnement asynchrone et avec pannes
No¨el Gillet, Nicolas Hanusse
To cite this version:
No¨el Gillet, Nicolas Hanusse. Algorithme distribu´e d’orientation de graphes dans un environ-
nement asynchrone et avec pannes. ALGOTEL 2017 - 19`emes Rencontres Francophones sur
les Aspects Algorithmiques des T´el´ecommunications, May 2017, Quiberon, France.
HAL Id: hal-01517177
https://hal.archives-ouvertes.fr/hal-01517177
Submitted on 5 May 2017
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.
Algorithme distribu´
e d’orientation de graphes
dans un environnement asynchrone et avec
pannes
No¨
el Gillet1et Nicolas Hanusse2
1LaBRI, Universit´
e de Bordeaux
2LaBRI, CNRS
Nous nous int´
eressons dans ce papier `
a l’orientation de graphe de mani`
ere distribu´
ee. Plus pr´
ecis´
ement, nous cherchons
`
a calculer une orientation minimum, c’est-`
a-dire `
a minimiser le degr´
e sortant maximum d’un nœud du graphe. Ce
probl`
eme d’orientation est notamment une mod´
elisation naturelle pour des probl`
emes d’allocation de ressources. Nous
pr´
esentons l’algorithme AvrDegAsync qui fonctionne dans un environnement distribu´
e o`
u les communications sont
asynchrones et o`
u les nœuds peuvent ˆ
etre en panne. Notre algorithme garantit une 2(2+ε)-approximation de l’orien-
tation optimale en utilisant un nombre logarithmique de diffusion. De plus, il ne n´
ecessite pas de connaissance sur le
graphe comme le nombre de nœuds ou encore sa densit´
e.
Mots-clefs : Algorithme distribu´
e, Environnement asynchrone, Orientation de graphe, Tol´
erance aux pannes
1 Introduction
Contexte et motivations Dans ce papier, nous nous int´
eressons `
a un probl`
eme classique en th´
eorie des
graphes qui consiste `
a trouver une orientation des arˆ
etes d’un graphe tel que le degr´
e sortant maximum
d’un nœud soit minimis´
e. Ce probl`
eme d’orientation minimum est une mod´
elisation naturelle pour les
probl`
emes d’allocation de ressources. Consid´
erons par exemple le cas d’une base de donn´
ees distribu´
ee
qui doit traiter un ensemble de requˆ
etes. Supposons que chaque requˆ
ete puisse ˆ
etre trait´
ee par un ensemble
de nœuds candidats. On peut repr´
esenter les requˆ
etes et leurs candidats par un graphe de requˆ
etes o`
u une
arˆ
ete repr´
esente une requˆ
ete et ses extr´
emit´
es encodent les candidats pour cette requˆ
ete. L’orientation des
arˆ
etes va symboliser l’allocation des requˆ
etes correspondantes. Une autre application concerne les r´
eseaux
de capteurs sans fil qui sont des ensembles d’agents autonomes charg´
es notamment de collecter des donn´
ees
sur leur environnement. Une probl´
ematique essentielle dans ce contexte est de minimiser la consommation
d’´
energie afin de maximiser la dur´
ee de vie du r´
eseau. Pour cela, trouver une bonne allocation des tˆ
aches `
a
effectuer par les agents est une piste naturelle. On peut ici aussi mod´
eliser ce probl`
eme par une orientation de
graphe. On remarque que dans ces deux exemples, les d´
ecisions d’allocations doivent se prendre de mani`
ere
distribu´
ee et les communications sont principalement asynchrones. De plus, certains nœuds peuvent tomber
en panne, ce qui complique le processus d’allocation. Nous nous int´
eressons donc `
a ces diff´
erents aspects
(asynchronisme et pr´
esence de pannes) dans ce papier.
Une br`
eve remarque Habituellement, le probl`
eme de l’orientation minimum d´
ecrit dans la litt´
erature
consiste `
a consid´
erer un graphe non orient´
e en entr´
ee et `
a calculer une orientation de ce graphe. Ici nous
optons pour une approche diff´
erente qui consiste `
a consid´
erer un graphe bidirig´
eet `
a conserver pour chaque
paire de nœuds un seul des deux arcs qui les relient. On remarque facilement que ces deux versions sont
´
equivalentes. L’utilisation d’un graphe bidirig´
e est justifi´
ee par la pr´
esence potentielle de pannes. En effet,
dans le cas o`
u les communications sont asynchrones, il est a priori impossible de d´
eterminer si un nœud
est seulement lent `
a r´
epondre `
a un message ou bien s’il est en panne. Dans le contexte de l’allocation de
ressources, on veut pourtant que les nœuds puissent se mettre d’accord afin d’allouer le maximum de tˆ
aches.
Avec l’utilisation d’un graphe bidirig´
e on suppose que tous les nœuds candidats pour une tˆ
ache veulent la
No¨
el Gillet et Nicolas Hanusse
traiter et on garantit donc que si au moins un candidat est correct, la tˆ
ache sera allou´
ee. On remarque
cependant que si tous les candidats sont en panne, alors la tˆ
ache sera perdue.
Formalisation du probl`
eme Soit
G= (V,
E)un graphe simple bidirig´
e avec |V|=nnœuds et |
E|=m
arcs. Comme
Gest bidirig´
e cela implique que si (u,v)
Ealors (v,u)
E. On utilisera le terme d’arc
bidirig´
epour d´
esigner les arcs entre deux sommets uet vet un tel arc sera not´
e[u,v]. Le degr´
e sortant d’un
nœud uest not´
ed+(u)et le degr´
e sortant maximum du graphe est not´
eD+(
G). Le voisinage ouvert N(S)
d’un ensemble de nœuds Sest d´
efini par N(S) = {vV|(u,v)EuS} \ S. On d´
efinit de mani`
ere
similaire le voisinage ferm´
eN[S] = N(S)S. Le sous-graphe induit
G[S]a pour ensemble de nœuds Set
pour ensemble d’arcs {(u,v)|u,vS(u,v)
E}. Un sous-graphe induit
Hest valide si pour toute paire
de sommets u,vtel que [u,v]
E(
G)on a soit (u,v)
E(
H), soit (v,u)
E(
H)mais pas les deux en
mˆ
eme temps. On consid`
ere ici que tout sous-graphe valide correspond `
a un orientation du graphe et qu’un
algorithme d’orientation est un algorithme qui prend en entr´
ee un graphe bidirig´
e et qui produit en sortie
un sous-graphe valide. Soit Aun algorithme d’orientation, on note D+
A(
G)le degr´
e sortant maximum du
sous-graphe valide produit par Aavec le graphe
Gen entr´
ee. Le degr´
e sortant maximum obtenu avec un
algorithme d’orientation optimal sera not´
eD+
opt (
G). Le probl`
eme de l’orientation minimum consiste donc
`
a trouver un algorithme d’orientation qui soit le plus proche de l’optimal. On consid`
ere ´
egalement qu’un
ensemble FVde nœuds peuvent ˆ
etre en panne initialement, c’est-`
a-dire qu’un nœud est soit en panne d`
es
le d´
ebut de l’algorithme et le restera, soit correct pour toute la dur´
ee de l’algorithme. Un nœud en panne peut
recevoir des messages mais pas en envoyer. On note C=V\Fl’ensemble des nœuds corrects. On consid`
ere
que les arcs de G[F]sont inutilisables et on cherche donc `
a orienter le sous-graphe
GF= (VF,
EF)d´
efini par
VF=N[C]et
EF={(u,v)
E|uCvC}. On remarque que tout arc (u,v)avec uun noeud correct et
vun noeud en panne sera conserv´
e dans tout sous-graphe valide de
G.
Lien entre orientation et densit´
eL’orientation minimum optimale est ´
etroitement li´
ee avec la densit´
e du
graphe `
a orienter. La densit´
eδ(G)d’un graphe
Gest d´
efini par |
E(
G)|
|V(
G)|et la densit´
e maximum (
G)est
le maximum des densit´
es de tous les sous-graphes induits. En combinant les r´
esultats de [AF76] et [FT14],
on peut montrer que D+
opt (
G) = l(
G)m. En utilisant cette notion de densit´
e, on peut donc concevoir des
algorithmes d’orientation proche de l’optimal. Plusieurs solutions exactes ou approch´
ees du probl`
eme de
l’orientation minimum existent dans un mod`
ele centralis´
e [Kow06, AMOZ06] et se basent sur une r´
eduction
`
a un probl`
eme de flot maximum. Toutefois, il existe peu de solutions dans un environnement distribu´
e.
Barenboim et Elkin [BE10] proposent un algorithme d’orientation dans le mod`
ele LOCAL qui n´
ecessite
O(logn)rondes de communication et fournit une 2(2+ε)-approximation du probl`
eme si les nœuds n’ont
pas d’information sur la densit´
e du graphe. Par contre, tous les nœuds connaissent n. Farach-Colton et Tsai
[FT14] proposent un algorithme (2+ε)-approch´
e. L’algorithme est bas´
e sur un m´
ecanisme d’´
epluchage du
graphe facilement adaptable dans un mod`
ele de communication synchrone utilisant un nombre de rondes
logarithmiques et garantissant la mˆ
eme approximation.
Cependant ces algorithmes sont difficilement adaptables dans un environnement asynchrone avec pannes.
L’utilisation de synchroniseurs [Awe85] n’est pas envisageable car ils n´
ecessitent de pouvoir d´
etecter les
pannes, ce qui n’est pas possible dans un mode de communication asynchrone. L’orientation minimum de
graphe reste donc un probl`
eme ouvert dans ce contexte.
Enfin, Tel ´
etudie dans [Tel94] le probl`
eme, plus faible que le notre, de l’orientation de r´
eseaux. Il montre
que ce probl`
eme n´
ecessite soit l’existence d’un nœud distingu´
e, soit que les nœuds aient des identifiants
uniques.
2 Mod`
ele et contributions
On consid`
ere un r´
eseau de communication statique repr´
esent´
e par le graphe bidirig´
e
G`
a orienter avec
nnœuds qui ont chacun un identifiant unique. Il existe un nœud distingu´
e appel´
e la racine et not´
eR. On
consid`
ere un mode de communication par passage de messages et on suppose que les canaux de communi-
Algorithme distribu´
e d’orientation de graphes dans un environnement asynchrone et avec pannes
cation sont FIFO (les messages sont rec¸us dans l’ordre d’´
emission) et qu’il n’y a pas de perte de messages.
Les communications sont asynchrones, mais pour l’analyse on supposera qu’un message est d´
elivr´
e en au
plus une unit´
e de temps. On d´
efinit une ronde de communication asynchrone de la mani`
ere suivante : soit ti
le temps o`
u une ronde icommence et Mil’ensemble des messages envoy´
es mais pas encore rec¸u au temps
ti. On consid`
ere qu’une nouvelle ronde i+1 ne peut pas commencer tant que les conditions suivantes ne
sont pas remplies : (1) tous les messages de Miont ´
et´
e rec¸us (2) pour chaque message rec¸u au cours de la
ronde, un noeud peut appliquer le traitement correspondant (3) un nœud peut envoyer (resp. recevoir) un
message `
a tous ses voisins (de tous ses voisins). Finalement, il y a des algorithmes de routage et de diffusion
connus de tous les nœuds pour communiquer avec R. On fait aussi l’hypoth`
ese que le chemin de routage
entre deux nœuds uet vest toujours identique, quel que soit le message envoy´
e. On note TBle nombre de
rondes maximum n´
ecessaire pour chacune des deux op´
erations (routage et diffusion).
Nous proposons l’algorithme AvrDegAsync qui calcule un sous-graphe valide de
G. A notre connais-
sance, c’est le premier algorithme d’orientation de graphe fonctionnant de mani`
ere totalement asynchrone.
Dans le mod`
ele de panne que nous consid´
erons, on peut r´
esoudre le consensus (cf. [FLP85]) et donc ´
elire
un leader. L’hypoth`
ese de l’existence d’un nœud racine est donc justifi´
ee. Enfin, l’algorithme ne n´
ecessite
pas la connaissance d’un param`
etre global du graphe, comme le nombre de nœuds ou bien la densit´
e. On
d´
efinit MBcomme le nombre maximum de messages ´
echang´
es pour une diffusion. On prouve le th´
eor`
eme
suivant :
Th´
eor`
eme 1. Soit
G un graphe bidirig´
e avec un ensemble de F pannes initiales et ε>0. Pour f =|F|=0,
AvrDegAsync (
G,ε) calcule une 2(2+ε)-approximation de l’orientation optimale du graphe
G . Pour
f>0, apr`
es ex´
ecution de AvrDegAsync (
G,ε) on a d+(u)max{(2+ε)f,2(2+ε)D+
opt (
G)}pour
tout nœud u. Dans tous les cas, l’algorithme s’ex´
ecute en O((TB+logsn)·log1+ε)rondes, avec s =2+ε
1+ε.
La m´
emoire additionnelle utilis´
ee par nœud est de taille O(n)bits et l’algorithme n´
ecessite l’´
echange de
O(m+MBlog1+εn)messages de taille O(max{logm,nlog n})bits.
3 Description de l’algorithme
Par la suite, on note αRla derni`
ere valeur de densit´
e´
emise par la racine, mrle nombre d’arcs comptabi-
lis´
es par la racine, nle nombre de nœuds identifi´
es et nale nombre de nœuds activ´
es.
Identification des nœuds Au d´
ebut de l’algorithme, Rne connaˆ
ıt pas le nombre de nœuds du syst`
eme ni
le nombre d’arcs du graphe. Elle va envoyer un premier message dit de diffusion, not´
ehbr,αRi, avec αR=1
la derni`
ere estimation de densit´
e´
emise, `
a tous les nœuds de G. A noter que nous ne faisons pas d’hypoth`
ese
sur l’algorithme de diffusion utilis´
e. Lorsqu’un nœud urec¸oit pour la premi`
ere fois un message de diffusion,
il envoie un message d’identification hid,u,N(u)i`
aR, o`
uN(u)correspond au voisinage ouvert de u.
Diffusion et activation Lorsqu’un nœud urec¸oit un message de diffusion hbr,αi, si d(u)2(2+ε)α
alors us’active. Informellement, un nœud qui s’active va prendre en charge les doubles arcs qui lui sont
adjacents. Il va envoyer un message d’activation hact,u,d+(u)i`
a la racine Rainsi qu’`
a chaque voisin
vN(u). Lorsqu’un voisin vrec¸oit le message d’activation et qu’il n’est pas lui mˆ
eme activ´
e, il va supprimer
l’arc (v,u)correspondant. Son degr´
e sortant va donc diminuer et vva tester s’il est activable. A la r´
eception
du message hact,u,d+(u)i,Rva mettre `
a jour le nombre d’arcs mRrestants non pris en charge par un nœud
ainsi que la liste des nœuds activ´
es. Lorsque la valeur mR/2(nna)d´
epasse d’un certain seuil la valeur de
αRcourante, alors αRest mise `
a jour et cette valeur est diffus´
ee `
a tous les nœuds.
Conflits entre nœuds Supposons maintenant que deux nœuds voisins uet vs’activent `
a un intervalle de
temps r´
eduit. Plus pr´
ecis´
ement, le nœud u(resp. v) s’active avant d’avoir rec¸u le message d’activation de v
(resp. u). Les deux nœuds vont donc vouloir prendre en charge l’arc bidirig´
e[u,v]et conserver l’arc sortant
qui leur est adjacent. On dit que ces deux nœuds sont en conflit. Le sous-graphe ainsi obtenu ne serait pas
valide. Pour palier `
a ce probl`
eme on choisit de mani`
ere arbitraire un des nœuds pour conserver l’arc. Dans
notre cas, c’est le nœud de plus petit identifiant qui conserve l’arc correspondant. Toutefois, un message
d’activation a ´
et´
e envoy´
e`
a la racine par chacun d’eux. Intuitivement, Rva comptabiliser deux fois [u,v]et
donc sous-estimer le nombre d’arc restant. Si l’estimation de la densit´
e est trop faible, cela peut stopper les
No¨
el Gillet et Nicolas Hanusse
activations des nœuds et donc l’algorithme lui-mˆ
eme. Supposons que vsoit le nœud de plus petit identifiant.
Afin de corriger cette estimation, un message correctif hpatch,u,d+(u)iva ˆ
etre envoy´
e par v`
aRafin de
l’avertir du conflit entre uet v. Lorsque Rrec¸oit hpatch,u,d+(u)i, il va d’abord v´
erifier si hact,u,d+(u)i
a d´
ej`
a´
et´
e rec¸u. Si ce n’est pas le cas, Rva d´
eduire 2d+(u)2 de mR, r´
eglant ainsi le conflit et le message
d’activation envoy´
e par une sera pas pris en compte lors de sa r´
eception. Par contre si ce message a d´
ej`
a´
et´
e
rec¸u, cela signifie que le double arc [u,v]a d´
ej`
a´
et´
e comptabilis´
e 2 fois, mR´
etant sous-estim´
ee de 2 unit´
es.
Dans ce cas, Rva additionner 2 `
amRafin de corriger cette sous-estimation.
4 Sch´
ema de preuve du Th´
eor`
eme 1
L’alqorithme que nous proposons est bas´
e sur l’estimation de la densit´
e du graphe et sur la diffusion
de cette valeur. Cependant l’asynchronisme coupl´
e`
a la pr´
esence de pannes compliquent cette estimation,
car il est impossible de distinguer les nœuds en panne des nœuds corrects. La racine va donc calculer son
estimation avec une connaissance partielle du graphe. Cependant, il faut pouvoir garantir que l’estimation
ne sera ni trop faible (au risque de ne voir aucun nœud s’activer) ni trop ´
elev´
ee (sinon les activations seront
trop rapides). Nous pr´
esentons les grandes id´
ees de la preuve du Th´
eor`
eme 1.
Tout d’abord nous consid´
erons qu’aucun nœud n’est en panne. Nous montrons dans un premier temps
que la racine ne diffuse jamais de valeur sup´
erieure `
a la densit´
e maximum. Nous montrons ensuite que
l’algorithme termine en un nombre logarithmique de diffusion ce qui nous permet de d´
eduire facilement
l’´
enonc´
e du Th´
eor`
eme 1 dans le cas sans panne. Dans un deuxi`
eme temps, nous consid´
erons un ensemble
Fde nœuds en panne. En utilisant des arguments similaires au cas sans panne, on peut facilement d´
eduire
que si un nœud s’est activ´
e au cours de l’algorithme, alors son degr´
e sortant ne d´
epasse pas 2(2+ε)(
GF).
On peut ´
egalement montrer que (
GF)D+
opt (
GF)en remarquant que si les nœuds de
GFn’´
etaient pas
en panne, on pourrait obtenir une meilleur orientation, ce qui nous permet de d´
eduire l’´
enonc´
e. Cependant
certains nœuds, mˆ
eme corrects, peuvent ne pas ˆ
etre activ´
es au cours de l’algorithme. En effet, Rcalcule et
diffuse une sous-estimation de la densit´
e de
GFparce que Rne peut distinguer si un nœud est fautif ou non.
Si la densit´
e estim´
ee puis diffus´
ee est trop faible, aucun nœud ne s’activera. Ce sc´
enario peut notamment
arriver si certains nœuds de fort degr´
e ont un nombre important de voisins en panne. Nous montrons que
les nœuds corrects non activ´
es `
a la fin de l’algorithme ont un degr´
e sortant ne d´
epassant pas le nombre de
fautes f,`
a une constante pr`
es. L’argument pour le nombre de rondes est identique `
a celui du cas sans panne.
Concernant la m´
emoire, l’´
enonc´
e d´
ecoule directement de la structure de donn´
ees o`
u chaque nœud maintient
un nombre constant de tableaux de nbits. Enfin, le nombre de messages ´
echang´
es se d´
eduit du fait qu’il y a
au plus un nombre logarithmique de diffusion et qu’un nombre constant de message est envoy´
e pour chaque
arc bidirig´
e.
R´
ef´
erences
[AF76] A. Gyarfas A. Frank. How to orient the edges of a graph ? In Combinatorics, 18Colloq. Math. Soc. J´
anos Bolyai, pages
352–354, 1976.
[AMOZ06] Yuichi Asahiro, Eiji Miyano, Hirotaka Ono, and Kouhei Zenmyo. Graph orientation algorithms to minimize the maxi-
mum outdegree. In Proceedings of the 12th Computing : The Australasian Theory Symposium-Volume 51, pages 11–20.
Australian Computer Society, Inc., 2006.
[Awe85] Baruch Awerbuch. Complexity of network synchronization. J. ACM, 32(4) :804–823, 1985.
[BE10] Leonid Barenboim and Michael Elkin. Sublogarithmic distributed MIS algorithm for sparse graphs using nash-williams
decomposition. Distributed Computing, 22(5-6) :363–379, 2010.
[FLP85] Michael J. Fischer, Nancy A. Lynch, and Mike Paterson. Impossibility of distributed consensus with one faulty process.
J. ACM, 32(2) :374–382, 1985.
[FT14] Martin Farach-Colton and Meng-Tsung Tsai. Computing the degeneracy of large graphs. In LATIN, volume 8392 of
Lecture Notes in Computer Science, pages 250–260. Springer, 2014.
[Kow06] Lukasz Kowalik. Approximation scheme for lowest outdegree orientation and graph density measures. In ISAAC, volume
4288 of Lecture Notes in Computer Science, pages 557–566. Springer, 2006.
[Tel94] Gerard Tel. Network orientation. Int. J. Found. Comput. Sci., 5(1) :23–57, 1994.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !