algoritmos randômicos para a geração de orientações ...felipe/recentpapers/sobrapo2002.pdf ·...

9
1 Algoritmos Randômicos para a Geração de Orientações Acíclicas em Sistemas Distribuídos Gladstone M. Arantes Jr, Felipe M. G. França Engenharia de Sistemas e Computação-COPPE, Universidade Federal do Rio de Janeiro Caixa Postal 68511, 21945-970, Rio de Janeiro, RJ, Brasil {glads,felipe}@cos.ufrj.br Carlos A. Martinhon Instituto de Computação, Universidade Federal Fluminense R. Passo da Pátria 156, Bloco E, Sala 303, São Domingos, 24210-230, Niterói, RJ, Brasil [email protected] Resumoæ Este artigo discute dois novos algoritmos distribuídos randômicos (ou probabilísticos) para a geração de orientações acíclicas em um sistema distribuído anônimo de topologia arbitrária. Os algoritmos são analisados tanto em termos de convergência e velocidade de convergência. Em particular, é demonstrado que o novo algoritmo chamado Alg-Arestas, em condições fáceis de se garantir, é capaz de produzir orientações acíclicas quase instantaneamente, isto é, em menos de dois (2) passos. Duas aplicações para essa forma de quebra de simetria serão discutidas: inicialização do Escalonamento por Reversão de Arestas (ERA), um simples e poderoso algoritmo de escalonamento distribuído, e; uma estratégia de distribuição de uploads em redes de computadores Palavras-chaveæ algoritmos distribuídos randômicos, exclusão mútua, quebra de simetria, sistemas anônimos. Abstractæ This paper discusses two new randomized (or probabilistic) distributed algorithms for the generation of acyclic orientations upon anonymous distributed systems of arbitrary topology. The set of algorithms is analysed both in terms of convergency and velocity of convergency. In particular, it is shown that the new algorithm called Alg- Arestas, under easily obtainable conditions, is able to produce acyclic orientations quasi instantaneously, i.e., in less than two (2) steps. Two applications of this form of symmetry breaking will be discussed: initialization of Scheduling by Edge Reversal (SER), a simple and powerful distributed scheduling algorithm, and; a strategy for distributed uploading in computer networks. Keywordsæ anonymous systems, mutual exclusion, randomized distributed algorithms, symmetry breaking. I. INTRODUÇÃO Neste trabalho apresentaremos dois novos algoritmos probabilísticos que geram orientações acíclicas em sistemas distribuídos anônimos, i.e., sistemas onde não existam identificações globais dos seus componentes. Sendo um dos possíveis métodos de quebra de simetria (criação de conjuntos independentes maximais e coloração são outras formas, todas equivalentes entre si em algum nível), esta é uma aplicação muito útil, com muitos trabalhos correlatos publicados, incluindo algoritmos paralelos, distribuídos e seqüenciais, além de determinísticos e probabilísticos [GOL 87] [GOL 88] [ITA 90] [LUB 86] [PAN 92] [SZE 93]. As maiores motivações para a concepção de algoritmos probabilísticos, em oposição aos algoritmos puramente determinísticos, estão na simplicidade de suas implementações e na rápida geração de soluções com características distintas. Esta diversidade torna-se particularmente interessante em aplicações baseadas em orientações acíclicas, como discutiremos adiante. Analisamos os dois novos algoritmos probabilísticos distribuídos, Alg-Viz e Alg-Arestas, quanto à corretude e velocidade de convergência. Como estamos lidando com algoritmos randômicos, a cada execução do algoritmo uma saída distinta é obtida. Logo, o tempo deve ser expresso como uma variável aleatória com valor esperado indicando a velocidade de convergência do algoritmo. Ambos os algoritmos fazem o uso de dados, viciados ou não, com f faces. Foi determinado que o algoritmo Alg-Viz possui complexidade O(D), onde D é grau máximo de G, o grafo alvo, e assumindo f = D + 1. A análise do novo algoritmo chamado Alg-Arestas foi baseada na noção de recorrência probabilística [KAR 94] e resultou em complexidade O(Èlog f m˘), onde m é o número de arestas de G. Na Seção II, introduzimos conceitos básicos: sistemas distribuídos anônimos e sua representação em termos de grafos. Na Seção III, apresentamos o algoritmo básico de Calabrese/França [CAL 94] [CAL 97] e introduzimos os dois algoritmos de geração de orientações acíclicas (Alg-Viz e Alg-Arestas ), discutindo corretude e velocidades de convergência. Algumas aplicações envolvendo a

Upload: lyxuyen

Post on 30-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Algoritmos Randômicos para a Geração deOrientações Acíclicas em Sistemas Distribuídos

Gladstone M. Arantes Jr, Felipe M. G. FrançaEngenharia de Sistemas e Computação-COPPE, Universidade Federal do Rio de Janeiro

Caixa Postal 68511, 21945-970, Rio de Janeiro, RJ, Brasil{glads,felipe}@cos.ufrj.br

Carlos A. MartinhonInstituto de Computação, Universidade Federal Fluminense

R. Passo da Pátria 156, Bloco E, Sala 303, São Domingos, 24210-230, Niterói, RJ, [email protected]

ResumoæEste artigo discute dois novos algoritmos distribuídos

randômicos (ou probabilísticos) para a geração de orientaçõesacíclicas em um sistema distribuído anônimo de topologiaarbitrária. Os algoritmos são analisados tanto em termos deconvergência e velocidade de convergência. Em particular, édemonstrado que o novo algoritmo chamado Alg-Arestas, emcondições fáceis de se garantir, é capaz de produzirorientações acíclicas quase instantaneamente, isto é, em menosde dois (2) passos. Duas aplicações para essa forma de quebrade simetria serão discutidas: inicialização do Escalonamentopor Reversão de Arestas (ERA), um simples e poderosoalgoritmo de escalonamento distribuído, e; uma estratégia dedistribuição de uploads em redes de computadores

Palavras-chaveæ algoritmos distribuídos randômicos,exclusão mútua, quebra de simetria, sistemas anônimos.

AbstractæThis paper discusses two new randomized (or

probabilistic) distributed algorithms for the generation ofacyclic orientations upon anonymous distributed systems ofarbitrary topology. The set of algorithms is analysed both interms of convergency and velocity of convergency. Inparticular, it is shown that the new algorithm called Alg-Arestas, under easily obtainable conditions, is able to produceacyclic orientations quasi instantaneously, i.e., in less than two(2) steps. Two applications of this form of symmetry breakingwill be discussed: initialization of Scheduling by Edge Reversal(SER), a simple and powerful distributed schedulingalgorithm, and; a strategy for distributed uploading incomputer networks.

Keywordsæ anonymous systems, mutual exclusion,randomized distributed algorithms, symmetry breaking.

I. INTRODUÇÃO

Neste trabalho apresentaremos dois novos algoritmosprobabilísticos que geram orientações acíclicas em sistemasdistribuídos anônimos, i.e., sistemas onde não existam

identificações globais dos seus componentes. Sendo um dospossíveis métodos de quebra de simetria (criação deconjuntos independentes maximais e coloração são outrasformas, todas equivalentes entre si em algum nível), esta éuma aplicação muito útil, com muitos trabalhos correlatospublicados, incluindo algoritmos paralelos, distribuídos eseqüenciais, além de determinísticos e probabilísticos[GOL 87] [GOL 88] [ITA 90] [LUB 86] [PAN 92][SZE 93]. As maiores motivações para a concepção dealgoritmos probabilísticos, em oposição aos algoritmospuramente determinísticos, estão na simplicidade de suasimplementações e na rápida geração de soluções comcaracterísticas distintas. Esta diversidade torna-separticularmente interessante em aplicações baseadas emorientações acíclicas, como discutiremos adiante.

Analisamos os dois novos algoritmos probabilísticosdistribuídos, Alg-Viz e Alg-Arestas, quanto à corretude evelocidade de convergência. Como estamos lidando comalgoritmos randômicos, a cada execução do algoritmo umasaída distinta é obtida. Logo, o tempo deve ser expressocomo uma variável aleatória com valor esperado indicandoa velocidade de convergência do algoritmo. Ambos osalgoritmos fazem o uso de dados, viciados ou não, com ffaces. Foi determinado que o algoritmo Alg-Viz possuicomplexidade O(D), onde D é grau máximo de G, o grafoalvo, e assumindo f = D + 1. A análise do novo algoritmochamado Alg-Arestas foi baseada na noção de recorrênciaprobabilística [KAR 94] e resultou em complexidadeO(Èlogfm˘), onde m é o número de arestas de G.

Na Seção II, introduzimos conceitos básicos: sistemasdistribuídos anônimos e sua representação em termos degrafos. Na Seção III, apresentamos o algoritmo básico deCalabrese/França [CAL 94] [CAL 97] e introduzimos osdois algoritmos de geração de orientações acíclicas (Alg-Vize Alg-Arestas), discutindo corretude e velocidades deconvergência. Algumas aplicações envolvendo a

2

determinação de orientações acíclicas no contexto desistemas anônimos são analisadas na Seção IV. Finalmente,nossas conclusões, incluindo futuros desenvolvimentos, sãoexpostas na Seção V.

II. CONCEITOS BÁSICOS

A. Sistemas Anônimos

Um sistema distribuído pode ser simplificadamentedescrito como um conjunto de nós de processamento(podendo ser muito simples ou muito complexos)organizados de tal forma que cada nó está conectado a umsubconjunto dos outros por um canal de comunicaçãoqualquer. A comunicação entre cada par de nós se dáatravés de envio de mensagens. Comumente, assume-se queas conexões são bidirecionais, o que significa que um nóconectado a outro tanto pode enviar mensagens a ele quantoreceber. Esta é uma definição bastante genérica, podendoser aplicada para uma enorme gama de sistemas.

Um sistema distribuído é considerado anônimo quandonão existe um identificador que diferencie um nó de outro.No nosso caso, estaremos assumindo ainda que não existanenhuma informação global acerca do sistema, ou seja, nãohá disponível, a priori, informações como o número totalde nós, o número de canais ou ainda qual a topologia dosistema. Esse tipo de sistema apresenta grandesdificuldades para ser manipulado [BAR 96].

B. Notação Adotada

Todo sistema distribuído pode ser modelado como umgrafo G(V, E). Nesse grafo, V, de cardinalidade n , é oconjunto dos nós do sistema e E, de cardinalidade m, é oconjunto de arestas do tipo (ni,nj), onde ni e nj são nós de V.Se (ni,nj) Œ E, então existe um canal de comunicação entreni e nj.

III. OS ALGORITMOS DISTRIBUÍDOS

Descrevemos e analisaremos aqui os dois algoritmosdistribuídos probabilísticos de nosso interesse. Estes doisalgoritmos foram desenvolvidos a partir das idéias básicascontidas em [CAL 94] e [CAL 97], traduzidas peloalgoritmo aqui chamado Calabrese/França . Este éapresentado logo a seguir e precede a apresentação dosalgoritmos Alg-Viz e Alg-Arestas.

A. Calabrese/França

Este algoritmo utiliza um gerador de números aleatóriossimples que pode gerar 0 ou 1 randomicamente e comprobabilidade 1/2. Por isso, dizemos tratar-se de umamoeda equilibrada ou não-polarizada.

O algoritmo executa sincronamente. Cada nó é ditoprobabilístico se ainda está participando do algoritmo(nesse caso, ele ainda tem arestas incidentes não orientadas

e continua tomando parte nos sorteios) ou determinístico,no caso de não participar mais por já ter tido todas asarestas incidentes orientadas. Em cada passo do algoritmotodos os nós probabilísticos lançam uma moeda, obtendo 0ou 1. Um nó que obtiver 1 e cujos vizinhos probabilísticosrestantes tiverem obtido 0 irá orientar todas as suas arestasainda não orientadas na sua direção. O algoritmo executaaté que todas as arestas sejam orientadas.

Tal algoritmo é bastante ineficiente se a probabilidadede obter-se 0 ou 1 no sorteio for 1/2. Por isso, comumente,a moeda será polarizada (ou viciada), da seguinte forma:Pr{moedai=1} = 1/(|N(ni)|+1) e Pr{moedai=0} = 1 -Pr{moedai=1}, onde |N(ni)| representa a cardinalidade doconjunto de vizinhos probabilísticos N(ni) do nó ni. Destaforma, intuitivamente, em uma dada vizinhança, apenas umdos nós tende a obter 1 no sorteio.

A.1 Velocidade de convergência

O tempo ou velocidade de convergência é a medida donúmero de passos que o algoritmo precisa dar para que esteconvirja (termine), ou seja, até que todos os nós se tornemdeterminísticos. É fácil ver que o algoritmo deCalabrese/França [CAL 94] para moedas equilibradas ébastante ineficiente. Sucintamente, pode-se mostrar nestecaso que, para grafos completos, aproximadamente O(2n)passos serão necessários para orientação completa de todasas arestas. A análise do tempo de processamento utilizandografos completos é interessante já que, além de maissimples, um grafo completo representa, na verdade, a piorinstância para o problema. Se Si é um evento indicando queni Œ V obteve 1 e os demais nós probabilísticos obtiveram 0então, no máximo, um evento Si ocorrerá de cada vez. Paramostrar esse fato, seja S um evento indicando a união de neventos disjuntos Si (p/ 1=1,..,n).

Tem-se então que:

n

n

i

nn

ii

n

ii

nSSS

22

1

2

1)Pr(Pr)Pr(

1

1

11ÂÂ

=

-

==

=˜¯

ˆÁË

ʘ¯

ˆÁË

Ê==˜̃¯

ˆÁÁË

Ê= U

Assim, O (2n.n-1) repetições serão necessárias (valoresperado) até que algum dos eventos Si ocorra. Observe queo número de repetições pode ser modelado por umavariável aleatória com distribuição exponencial e valoresperado 2n.n-1. Logo, a orientação completa para cada umdos n vértices de V irá consumir aproximadamente n.2n.n-1

=2n passos.A complexidade do algoritmo de Calabrese/França cai

drasticamente quando se troca as moedas equilibradas pormoedas viciadas ou polarizadas. Novamente, para grafoscompletos, tem-se que Pr{moedai=1}=1/n (considerando-sen-1 nós probabilísticos no passo). Assim

een

n

nnSSS

n

i

nn

ii

n

ii

1

.

11

1)Pr(Pr)Pr(

1

1

11

=≥˜¯

ˆÁË

Ê -˜¯

ˆÁË

Ê==˜̃¯

ˆÁÁË

Ê= ÂÂ

=

-

==U

3

{ }

{ } { }( )

{ } 10 que tal,1

Pr

:1|)(|

20,Pr11|)(|

1Pr

1|)(|

11Pr

:1|)(|

1

1

-££"==

+>

-££=-+

==

+=-=

Â-

+=

ff

dado

nNf

fkdadonN

dado

nNfdado

nNf

i

i

f

k ii

i

ii

i

aaa

aaa

Portanto, aproximadamente e repetições serão neces-sárias até que algum dos eventos Si (p/ iŒ{1,..,n}) ocorra.Logo, para todos os nós tornarem-se determinísticos deveráocorrer um número de passos aproximadamente igual a n.e,sendo portanto O(n). Para maiores detalhes vide [CAL 94],[CAL 97].

B. Alg-Viz

Esse algoritmo é uma extensão muito simples doanterior e propõe que o sorteio seja realizado com númerosem uma faixa de valores inteiros. Isso equivale à utilizaçãode um dado de f faces em vez de uma moeda. Assim,poderemos obter como resultado do sorteio númerosinteiros de 0 a f - 1.

Assim, Alg-Viz pode ser descrito da mesma forma que oalgoritmo Calabrese/França, sendo necessário chamar aatenção apenas para o fato de que, agora, um nó ganha nosorteio quando tira o maior valor entre todos seus vizinhosprobabilisticos.

Da mesma forma que no algoritmo Calabrese/França, autilização de um gerador de números aleatórios polarizado(ou viciado) torna o algoritmo mais eficiente. Entretanto,como será visto na seção seguinte, a redução não acontecede maneira drástica como no algoritmo de Calabrese/França. Veremos que, em ambas as versões (com dadospolarizados e não-polarizados), o tempo esperado de pro-cessamento será igual a O(n).

O método de polarização utilizado é diferente para cadanó do sistema e é mostrado abaixo:

A Figura 1 dá uma idéia, através de resultados desimulações, da melhora ocorrida com a utilização depolarizações. As simulações apresentadas nesse trabalhosão versões seqüenciais dos algoritmos escritos emlinguagem C. Cada ponto, de todos os gráficos produzidos,é a média aritmética obtida através da simulação de mil(1000) de grafos conexos gerados aleatoriamente.

Desta forma, mantém-se uma polarização similar àquelautilizada em Calabrese/França para os casos em quef £ |N(ni) | + 1 e, para os casos em que f > |N(ni)|+1,aproveita-se o fato de haver mais faces do que vizinhospara particionar melhor a probabilidade de cada face. Estapolarização foi escolhida por ter se mostrado a maiseficiente na comparação com outras alternativas.

O teorema seguinte garante convergência do Alg-Viz.

Teorema 1. O algoritmo Alg-Viz (p/ dados polarizadosou não) sempre gera orientações acíclicas em um grafoG(V,E) qualquer.

Prova: Vamos assumir que um nó, ao ganhar a disputade dados com os vizinhos, recebe como rótulo um número rinteiro positivo, que corresponde ao número de disputas dedados que ele participou até ser vitorioso. Sabemos quedois vizinhos não terão o mesmo rótulo, já que no passoque um ganha o outro obrigatoriamente não ganha. Alémdisso, dados dois nós u,v Œ V e o seus rótulos ru e rv, taisque, sem perda de generalidade, ru < rv,, uma aresta (u,v) ŒEterá sempre a direção vÆ u . Desta forma, o algoritmocorresponde a realizar uma coloração no grafo e orientar asarestas da maior para a menor cor o que certamente, nãocria ciclos. �

Obviamente, as análises de convergência realizadas parao algoritmo Alg-V i z são igualmente válidas paraCalabrese/França , já que, Alg-Viz apenas faz umparticionamento maior na distribuição de probabilidades deCalabrese/França.

B.1 Velocidade de convergência

Como veremos, nesta seção, a utilização de dados emvez de moedas não modifica significativamente acomplexidade da convergência a não ser que haja umarelação entre f e uma característica global do sistema. Agrande vantagem de Alg-Viz em relação aCalabrese/França é diminuir (e, no caso, de dados commuitas faces, anular) o efeito dos empates entre vizinhos,incrementando, desta forma, a velocidade de convergênciado algoritmo.

Mostraremos nesta seção que, para grafos completos, otempo esperado de processamento do Alg-Viz para dadosequilibrados com n faces será idêntico ao algoritmoCalabrese/França com moedas viciadas.

Nós x Convergência - Grafos Completos - 50 Nós - 10 Faces

0100200300400500600700800900

1000

10 20 30 40 50 60

Número de Nós do Grafo Completo

PolarizadoNão Polarizado

Figura 1: Alg-Viz. Dados polarizados e não-polarizados.

4

Seja di = µ p/ µŒ{0,1,2,..,f-1}, o resultado associado aum nó ni Œ V, obtido após jogarmos um dado equilibradocom f faces. É fácil ver que neste caso que Pr(di =µ)=1/f.Diremos que um evento Si , associado ao nó ni Œ V ocorre,se e somente se, dj < di , " nj Œ N(ni), onde N(ni) representao conjunto dos vizinhos probabilísticos de ni. Temos entãoo seguinte resultado preliminar:

Teorema 2. Considere G(V,E) um grafo conexoqualquer onde |V| = n ≥ 2. Considere ainda um dadoequilibrado com f ≥2 faces. Se D=max{|N(ni)|: ni Œ V}então:

D+D

˜̃¯

ˆÁÁË

Ê-+˜̃

¯

ˆÁÁË

Ê-˜

¯

ˆÁË

Ê+D

=DD≥fff

fhondefhSi

11.

2

111.

1

1),(),,()Pr(

1

e ni ΠV.

Prova: Da expressão de probabilidade absoluta (vide[JAM 81]) temos que:

)(,)|Pr().Pr()Pr(1

0

IVndSdS i

f

iiii Œ"=== Â-

=a

aa

Seja Bj(ni,µ) p/ j=1,..,|N(ni)|, um conjunto de eventosonde dj< di para nj Œ N(ni) e di =µ. Note que estes eventossão independentes entre si. Além disso, temos Pr(Bj(ni,µ))=µ/f. Assim:

)(),(Pr)|Pr(|)(|

)()(

IIff

nBdSi

ijij

nN

nNnnNnijii ˜̃

¯

ˆÁÁË

Ê=˜̃

¯

ˆÁÁË

Ê=

˜˜

¯

ˆ

ÁÁ

Ë

Ê== ’

ŒŒ

aaaa I

Substituindo (II) em (I) e lembrando que Pr(di=µ)=1/fobtemos :

}|:)(max{|/,11

)Pr(1

0

1

0

|)(|

VnnNpffff

S ii

ff nN

i

i

Œ=D˜̃¯

ˆÁÁË

ʘ̃¯

ˆÁÁË

Ê≥˜̃

¯

ˆÁÁË

ʘ̃¯

ˆÁÁË

Ê= ÂÂ

-

=

D-

= aa

aa

Logo: )(

1)Pr(

1

01

IIIf

Sf

i Â-

=

D+D ˜̃

¯

ˆÁÁË

Ê≥

a

a

Como n ≥ 2 e G é conexo então D ≥ 1.Temos então de[SCH 92] que:

)(2

)1(

1

)1( 11

0

IVfff

˜̃¯

ˆÁÁË

Ê -+

+D

-≥

D+D-

=

DÂa

a

Finalmente, substituindo (IV) em (III) chegamos àexpressão desejada. �

Seja S um evento indicando a união de n eventosdistintos Si, ou seja, S ocorre se Si ocorre para algum iŒ {1,..,n}. O resultado seguinte (conseqüência do Teorema2), mostra que, se G é completo e o número de faces tende ainfinito a probabilidade de orientação das arestas incidentesa algum ni Œ V, tende a 1. Em outras palavras, isto significaque o empate entre dados adjacentes tende a 0.

Corolário 1: Se G é completo e fÆ• então Pr(S)Æ1.

Prova: Como G é completo então D=n-1. Fazendo fÆ•na expressão de h(D,f) (Teorema 1), temos Pr(Si)Æ1/n eportanto Pr(S)Æ1. �

Teorema 3. Considere G(V,E) um grafo conexoqualquer, onde |V| = n ≥ 2. Além disso, considere D o graumáximo de G, e um dado equilibrado com f = D+1 faces. Oalgoritmo Alg-Viz terá tempo esperado de processamentoigual a O((D+1).e).

Prova: Temos que f=D+1(hipótese). Segue então doTeorema 2 que:

DD

˜¯

ˆÁË

Ê+D

-+D

+˜¯

ˆÁË

ÊD

-˜¯

ˆÁË

Ê+D

-˜¯

ˆÁË

Ê+D

≥1

11.

)1(2

111

1

11.

1

1)Pr( iS

onde o evento Si (associado a ni Œ V) ocorre, se e somentese, dj < di, " nj Œ N(ni). Substituindo e/1))1/(11( ≥+D- D na

desigualdade acima obtemos:

˜¯

ˆÁË

ʘ¯

ˆÁË

Ê+D

-˜¯

ˆÁË

Ê+D

≥e

Si

1

1

1

2

3.

1

1)Pr(

Como G é um grafo conexo e n ≥ 2 (hipótese), conclui-se diretamente que D ≥ 1. Logo, o evento S representando aunião dos eventos disjuntos Si (p/ i=1,2,..,n) será obtidopela seguinte expressão:

e

nSSS

n

ii

n

ii ).1(

)Pr(Pr)Pr(11 +D

≥=˜̃¯

ˆÁÁË

Ê= Â

==U

Note agora que ( D+1).e. n-1 repetições (valor esperado)serão necessárias até que pelo menos um evento Si ocorra.Como temos |V| = n, segue que a complexidade esperadaserá igual a O((D+1)e). �

Este resultado é bastante interessante já que expressa acomplexidade de tempo independentemente do número devértices e arestas. É importante lembrar que, em um sistemadistribuído anônimo, o número de informações que se temdo sistema é bastante reduzido. Além disso, comoconseqüência imediata do Teorema 2 temos o seguinteresultado:

Corolário 2: Se G é completo então Alg-Viz terácomplexidade esperada igual a O(n.e). �

Apesar da melhoria introduzida pela utilização de dadospolarizados (Figura 2), pode-se constatar que, para grafoscompletos, o tempo esperado de processamento nunca seráinferior a O(n). Isto se deve ao fato de que, em um grafocompleto, apenas uma orientação (evento Si) ocorre por vez(eventos disjuntos).

5

( )12

-=

nnm

q

Antes de prosseguirmos na apresentação daspropriedades de convergência de Alg-Viz, precisamosdefinir exatamente o que consideraremos conectividade deum grafo daqui para frente. Isso se deve ao fato de aconectividade de um grafo, no sentido de "quão conexo" é ografo, exerce forte influência sobre o tempo deconvergência, já que grafos mais conexos tenderão aconvergir mais devagar para o fim.

Para nós, a conectividade q de um grafo será a razãoentre o número de arestas que o grafo possui e o número dearestas que ele poderia possuir com o mesmo número denós. Logo:

Pela Figura 2, pode-se observar uma característicainteressante acerca da velocidade de convergência do Alg-Viz. Utilizaremos daqui para frente números grandes de f detal forma que este não prejudique a velocidade deconvergência do algoritmo. Como discutido anteriormente,isto praticamente anula a possibilidade de empates nossorteios. Pelo gráfico, claramente, temos que, mantendo-seq constante, a velocidade de convergência é função linearde n. Além disso, o coeficiente da reta fica muito próximode q.

Alg-Viz (Nós x Convergência)

0

10

20

30

40

50

60

0 20 40 60

Número de Nós

Conectividade 0,3Conectividade 0,5Conectividade 0,8Grafo Completo

Figura 2: Alg-Viz (c/ dados polarizados)- com q constante, aconvergência é função linear de n.

C. Alg-Arestas

Este algoritmo apresenta uma filosofia um poucodiferente dos anteriores (Alg-Viz e Calabrese/França). Emvez de tentar gerar sumidouros entre os nós probabilísticos,Alg-Arestas muda o foco de atenção para as arestas.

O algoritmo também é simples e funciona assim:considere um nó ni e todos os seus vizinhos vij ligados a ni

pelas arestas mij. Todos os nós do sistema sorteiam umnúmero com um dado de f faces, obtendo dado(ni). ni irácomparar dado(ni) com dado(vij) para todo vij tal que m ij

ainda não foi orientada. Para cada m ij em que

dado(ni)>dado(vij), orienta mij na direção de ni. O processoé repetido até não sobrar nenhuma aresta sem orientação.

Uma prova formal de que Alg-Arestas funciona é dadaabaixo:

Teorema 4. Alg-Arestas sempre gera orientaçõesacíclicas em qualquer grafo G(V,E).

Prova. Definimos K como sendo o conjunto de todos osciclos simples (sem nós repetidos) em G(V E). A idéia éprovar que o algoritmo não gera ciclos para nenhum kŒK.k é composto dos nós u0,...,u|k|-1, considerados em ordem devizinhança no ciclo, de tal forma que ui é conectado poruma aresta de k a u (i+1) mod |k|, 0 £ i < |k|. Os númerossorteados para os nós ui são dados por u s

i. Temos duaspossibilidades:

(a) us0=us

1=...=us|k|-1 - Nesse caso, nenhuma aresta do

ciclo é orientada e o sorteio é executado novamente;(b) $ a, 0 £ a £ |k|-1, tal que us

a < us(a+1)mod|k| - Nesse

caso, tomemos uma nova nomeação dos nós comov0,v1,...,v|k|-1 tal que v i=u(a+i)mod|k|. Como v 0=ua ev1=u(a+1)mod|k|, já sabemos que vs

0 < vs1, portanto a aresta

(v0,v1) terá a direção v0Æ v1. Desta forma, se "j, 1£ j<|k|-2,tivermos que vs

j £ vsj+1, então vs

|k|-1>vs0 e, portanto, a aresta

(v|k|-1 ,v0) será orientada na direção v0Æ v|k|-1, tornado v0 umsumidouro nas arestas de k, impossibilitando a formação deciclo em k nos passos seguintes do algoritmo. Por outrolado, se $ j, 1 £ j < |k|-2 tal que vs

j > vsj+1, então a aresta

(vj,vj+1) será orientada na direção vj¨vj+1. Assim, teremos aseguinte situação (o símbolo ´ significa orientaçãoindefinida) que define a impossibilidade de formação de umciclo em k nos passos seguintes do algoritmo.

v|k|-1 ´ v0 Æ v1 ´... ´ vj ¨ vj+1 ´ ... ´ v|k|-1. �

C.1 Velocidade de convergência

É bastante fácil perceber que Alg-Arestas temconvergência muito mais rápida que Alg-Viz. Nesta seçãoprovaremos que o tempo esperado de convergência seráinferior a O(n) mesmo considerando-se grafos completos.

A idéia da prova de complexidade consiste no seguinte:em um sorteio, a probabilidade de empate entre doisvizinhos é de 1/f. Assim, enquanto o número de arestas égrande, esta é a proporção de empates ocorridos a cadapasso do algoritmo. Assim, em cada passo, uma proporçãode 1/f das arestas não orientadas até aquele passopermanecem sem serem orientadas. Portanto, aconvergência é dada por O(Èlogfm˘), onde m é o número dearestas do grafo original G(V,E). Apesar de intuitivamenterazoável e de apresentar resultados próximos da realidade,esta análise é dificultada já que a proporção 1/f só é válidaquando o número de arestas sendo consideradas ésuficientemente grande.

6

Mais formalmente, este processo pode ser descrito poruma relação de recorrência do tipo T(x)=a(x)+T(h(x)), ondex é variável real não-negativa, a(x) é função real não-decrescente e não-negativa de x, e h(x) é variável aleatóriaassumindo valores no intervalo [0,x]. Além disso, considereuma função real g(x) onde E(h(x))£g(x)£x, sendo g(x) eg(x)/x funções não-decrescentes e não-negativas de x [KAR94]. A abordagem de [KAR 94] é bastante genérica já que,não se exige, a priori, nenhuma informação sobre adistribuição de h(x). Note que a(x) representa o esforçonecessário para se quebrar o problema original em umproblema de tamanho h(x).

A equação t(x)=a(x)+ t (g(x)), pode ser vista como umaversão determinística da relação de recorrênciaprobabilística T(x). Neste caso, para todo x, a variávelaleatória h(x) será exatamente igual ao limite superior deseu valor esperado, ou seja, faremos E(h(x))=g(x). Comodiscutido em [KAR 94], o Teorema do Ponto-Fixo deTarski garante que, sempre que esta equação tem soluçãonão-negativa, existe uma única solução (não-negativa) u(x)onde u(x)£v(x), " x, e qualquer que seja v(x) não-negativa.A função u(x) é dada explicitamente pela fórmula:

( )•

=

=0

][ )()(i

i xgaxu

onde g[i](x) é definido indutivamente por g[i](x)= g(g[I–1](x))para i=1,2,.. e g[0](x)=x. Temos então o seguinte resultado:

Teorema 5. Suponha que exista uma constante d tal quea(x)=0, x<d e a(x)=1, x≥d. Seja ct =min{x|u(x)≥t}. Então,para todo real positivo x e todo inteiro positivo w,

)(

1)()(

])()(Pr[xu

w

c

xg

x

xgwxuxT

-

˜¯

ˆÁË

Ê£+≥

Prova: [KAR 94]. �

Note, da proposição acima que, se u(x) representa otempo esperado de processamento então Pr[T(x)≥u(x)+w]indica a probabilidade de nos afastarmos de u(x)+w (ondew é inteiro positivo). Este resultado é interessante pois nosdá uma medida do grau de variação de T(x) em torno de seuvalor esperado. O Teorema 6, como veremos a seguir, podeser utilizado na prova da velocidade de convergência doprocedimento Alg-Arestas.

Teorema 6. Dado um grafo G(V,E) com m arestas e umdado equilibrado com f faces, o algoritmo Alg-Arestas temtempo esperado de processamento igual a O(Îlogfm˚ +1).Além disso:

Î ˚ Î ˚ 1log

11

]1log)(Pr[+

-

˜̃¯

ˆÁÁË

Ê£++≥

m

w

fff

m

fwmmT

Prova. Observe em nosso caso que, fazendo-se x=m ed=1, temos a(m)=1 para m≥1 e a(m)=0 para m<1. Alémdisso, h(m) é variável aleatória indicando quantidade dearestas resultantes não orientadas após a primeira iteração.

Cada aresta é orientada independentemente das outras.Portanto, podemos definir uma variável aleatória deBernoulli que modela cada tentativa de orientação de umaaresta, ou seja, a disputa de dados entre os dois nós que sãoconectados por esta. A probabilidade de fracasso, ou seja,de a aresta não se orientar, é igual à de dar empate nadisputa entre dois dados equilibrados de número de facesiguais a f, ou seja, 1/f. Assim, 1/f representa a probabilidadede fracasso e 1-1/f a probabilidade de sucesso.

Note que número total de arestas orientadas a cadaiteração (somatório dos ensaios de Bernoulli) pode serrepresentado por uma variável aleatória com distribuiçãobinomial e valor esperado m(1-1/f). Logo, g(m) = m/f , irárepresentar o número de arestas não orientadas após aprimeira iteração. Além disso, temos que E[h(m)]=g(m),g(m) e g(m)/m são funções não-decrescentes. A soluçãou(m) de t(m)=a(m)+t(g(m)) pode então ser obtida daseguinte forma:

u(m) = a(m)+a(m/f)+ u(m/ f 2)

= 2+ u(m/ f 2)

= 3+ u(m/ f 3), etc.

Após k passos obtemos u(m)=k+ u(m/ f k). Repetimos oprocesso até que m/f k =1 fi k= logf m.Como k é inteirofazemos k=Îlogf m˚. É fácil ver agora que u(1)=1, assimu(m)= Îlogf m˚+1.

Para provar a segunda parte, mostraremos que ct= f t-1..De fato, ct =min{m|u(m)≥t} (Teorema 5) . Assim:

u(m) ≥ t fi Îlogf m˚+1 ≥ t fi logf m ≥ t-1fi 1log -≥ tm ff f

Portanto, temos que: ct=min{m|m≥ft-1}=ft-1. Finalmente,substituindo u(m), cu(m) e g(m)=m/f em:

)(

1)(

.)(

])()(Pr[mu

w

c

mg

m

mgwmumT

-

˜¯

ˆÁË

Ê£+≥

obtemos:

Î ˚ Î ˚ 1log

11

]1log)(Pr[+

-

˜̃¯

ˆÁÁË

Ê£++≥

m

w

fff

m

fwmmT

como queríamos demonstrar. �

7

Para ilustrar esse resultado, note que, se m = f k paraalgum k Œ Z+ e w=1 então: Pr[T(m)≥u(m)+1] £ 1/f. Esteresultado é interessante pois mostra que a probabilidade denos afastarmos do valor esperado independe do número dearestas em G e é inversamente proporcional ao número defaces do dado.

Note ainda que, mesmo para grafos completos (ondem=O(n2)), o desempenho do Alg-Arestas é significa-tivamente superior ao Alg-Viz. O tempo de convergência deAlg-Arestas é bastante pequeno quando comparado comAlg-Viz. Na verdade, na situação em que f>>m, podemosconsiderar que o algoritmo converge em apenas um (1)passo, o que é um resultado muito bom, já que podemossem muito custo utilizar valores bastante grandes de f.

TABELA I

COMPARAÇÃO ENTRE A VELOCIDADE ESPERADA DE CONVERGÊNCIA

E AS OBTIDAS NAS SIMULAÇÕES

Arestas Faces Simulação Èlogfm˘

100 10 2.70 2

200 110 1.82 2

300 210 1.79 2

400 310 1.72 2

500 410 1.70 2

A Tabela I exibe, para alguns valores de m e f, osresultados obtidos por simulação (média aritmética obtidaatravés da simulação de mil (1000) de grafos conexosgerados aleatoriamente), pela expressão aproximadaÈlogfm˘.

Na Figura 3 podemos observar o tempo de convergênciado algoritmo para diferentes valores de f e m. Note que osvalores são realmente pequenos, mesmo para um númeroreduzido de faces do dado.

Alg-Arestas (Faces x Convergência)

11,251,5

1,752

2,252,5

2,753

3,253,5

3,75

0 500 1000 1500

Número de Faces

100 Arestas200 Arestas300 Arestas400 Arestas500 Arestas

Figura 3: Velocidade de convergência de Alg-Arestas.

IV. APLICAÇÕES ALVO

Nesta seção estaremos analisando duas aplicações ondea definição de uma orientação acíclica pode ser um passofrequentemente requerido durante o processamento daaplicação ou sua correta inicialização. A primeira aplicaçãoé sobre o problema do escalonamento distribuído derecursos entre processos em sistemas distribuídos. Umasegunda aplicação versa sobre uma estratégia dedistribuição de uploads em redes de computadores.

A. Escalonamento por Reversão de Arestas

O Escalonamento por Reversão de Arestas [BAR 89][BAR 96] visa resolver o problema de controlar o acesso arecursos compartilhados entre processadores em umambiente distribuído. Assim, dado um conjunto V de nós deprocessamento, um conjunto R de recursos e um conjuntoD Õ (V x R) dos pares (n Œ V, r Œ R) em que o nó n utilizao recurso r, determinar a ordem de execução (ou operação)dos nós de tal forma que dois nós que compartilham omesmo recurso não executem ao mesmo tempo e de talforma que não ocorra deadlock nem starvation. O ERA foicriado para condições de alta carga no sistema, ou seja,cada nó está sempre precisando de todos os recursoscompartilhados ao seu alcance para que possa operar.

A partir dessa definição podemos construir um Grafo deDependências GD(V,ED) onde ED Õ E, que irá representaros padrões de compartilhamento do sistema. O conjunto ED

é composto das arestas que ligam dois nós quecompartilham pelo menos um recurso, ou seja,m = (ni,nj) Œ ED se, e somente se, (ni,nj) Œ E e $ r Œ R, talque, (ni,r) Œ D e (nj,r) Œ D. Observe que, nessa definição,assumimos que um recurso só poderá ser compartilhadoentre nós que tenham um canal de comunicação entre si, oque é razoável. Também vale observar que, nessa notação,cada recurso compartilhado corresponde a um subgrafocompletamente conectado, já que todos os nós que ocompartilham terão arestas entre eles.

O algoritmo ERA admite a existência inicial de umaorientação acíclica no grafo GD. Basicamente uma aresta(ni,nj) orientada no sentido niÆnj indica que o nó nj temprecedência em relação ao nó ni na próxima operação. Anecessidade de a orientação ser acíclica é facilmentepercebida, já que, de acordo com a definição acima, umciclo implicaria uma cadeia de precedências entre nósorganizada de forma a gerar um bloqueio perpétuo oudeadlock.

Assim, um nó para operar precisa ser um sumidouro, ouseja, deverá ter todas as arestas orientadas em sua direção,já que isso equivale a ter precedência sobre todos osvizinhos (como já foi dito, vizinhos em GD não podemoperar ao mesmo tempo). Uma orientação acíclica em GD

implica a existência de pelo menos um sumidouro em N,assim é garantido que o algoritmo pode sempre iniciar com

8

os sumidouros operando. Após sua operação, cadasumidouro reverte as suas arestas na direção oposta. A novaorientação gerada é também acíclica, pois todos ossumidouros foram transformados em fontes e esse tipo deoperação claramente não cria ciclos. Por isso, um novoconjunto de sumidouros será obtido. O processo, então serepete, com os sumidouros operando e revertendo suasarestas, definindo assim o escalonamento pretendido.

B. Upload Distribuído

Nesse problema, visamos contornar o congestionamentonatural no tráfego de informações em uma determinadarede de comunicação, na situação particular onde um únicoponto de recepção é responsável pela captação de todas asinformações provenientes de todos os pontos dessa rede.Esta é uma situação bastante comum, onde uma data limitepara entrega de dados por toda uma população específica éestabelecida e o fluxo de dados se intensifica nasproximidades dessa data provocando o congestionamentodos canais de comunicação, e.g., entrega da declaração doimposto de renda.

Uma alternativa viável para atenuar esse quadro estariana multiplicação de nós receptores na rede. O problema doupload distribuído consiste na determinação do escoamentoapropriado dos dados em direção aos nós receptores. Umaabordagem possível estaria na geração de uma orientaçãoacíclica sobre o grafo G representando a rede decomunicações alvo, onde os nós de G seriam os roteadorese as arestas de G os canais de comunicação existentes.Nessa orientação acíclica, feita sobre as arestas de G , osroteadores associados aos pontos de recepçãocorresponderiam aos únicos nós sumidouros. Para se obtertal configuração orientar-se-ia inicialmente as arestasadjecentes aos nós receptores de forma a definir o conjuntode sumidouros desejado. A seguir, o uso de qualquer dosalgoritmos para geração de orientações acíclicas poderia serutilizado sobre o restante de G. A eventual surgimento denovos sumidouros, indesejados, seria facilmente eliminadovia a aplicação do algoritmo ERA apresentadoanteriormente.

V. CONCLUSÕES

Foram apresentados e analisados dois algoritmosdistribuídos probabilísticos para geração de orientaçõesacíclicas em sistemas distribuídos anônimos: Alg-Viz (umaextensão direta do algoritmo Calabrese/França) e Alg-Arestas (que, em certas circunstâncias, gera orientaçõesacíclicas em menos de 2 passos).

Provamos a convergência teórica de Alg-Viz e Alg-Arestas. Além disso, a análise de seus tempos esperados deprocessamento foi realizada, tanto através de simulaçõesquanto teoricamente.

Apresentamos ainda duas aplicações onde a definiçãode uma orientação acíclica era passo essencial n o

processamento da aplicação. Na primeira aplicaçãodiscutiu-se o problema do escalonamento distribuído derecursos entre processos em sistemas distribuídos. Nasegunda aplicação esboçamos uma estratégia dedistribuição de uploads em redes de computadores.

Um possível trabalho futuro é a utilização dosalgoritmos apresentados para gerar orientações em multi-grafos como passo inicial para SMER (Scheduling byMultiple Edges Reversal) [BAR 01], uma generalização deERA para sistemas heterogêneos no tocante ao regime decarga dos processos.

REFERÊNCIAS

[ARA 99] ARANTES Jr, G.M., “Orientações Acíclicas emSistemas Distribuídos Anônimos e suas Aplicações noCompartilhamento de Recursos”, Tese de M.Sc.,COPPE/UFRJ, Setembro de 1999.

[ARA 01] ARANTES Jr, G.M. e FRANÇA, F.M.G., “GeraçãoQuase-Instantânea de Orientações Acíclicas emSistemas Distribuídos Anônimos”, Anais do IIWorkshop em Sistemas Computacionais de AltoDesempenho, Pirenópolis, GO, pp. 55-62, Setembro de2001.

[BAR 01] BARBOSA, V. C., BENEVIDES, M.R.F. andFRANÇA, F.M.G. “Sharing resources at nonuniformaccess rates”, Theory of Computing Systems, vol. 34,Springer, pp. 13-26, 2001.

[BAR 89] BARBOSA, V. C. "Concurrency in Heavily LoadedNeighborhood-Constrained Systems", A C MTransactions on Programming Languages andSystems, Vol. 11, n. 4, pp. 562-584, Outubro 1989.

[BAR 96] BARVOSA, V. C. An Introduction to DistributedAlgorithms, MIT Press 1996.

[CAL 94] CALABRESE, A. and FRANÇA, F.M.G."Randomized Distributed Primer for the UpdatingControl of Anonymous ANNs", Proceedings ofICANNR94, Sorrento, Italy, 1994.

[CAL 97] CALABRESE, A. "Distributed Acyclic Orientation ofAsynchronous Networks", 11th Internat ionalSymposium of Fundamentals of Computation Theory,pp.129-137, Kraków, Poland, Setembro 1997.

[FRA 91] FRANÇA, F.M.G. "A Self-Organizing UpdatingNetwork", Artificial Neural Network, eds. T.Kohonen, K, Mckisara, O. Simula, and J. Kangas,Elsevier Science Publisher B. V. (North-Holland), pp.1349-1352, 1991.

[FAR 99] FARIA, L. e FRANÇA, F. M. G. ComunicaçãoPessoal.

[GOL 87] GOLDBERG, A. V. and PLOTKIN, S. A. "Parallel(D+1 )-Coloring of Constant-Dregree Graphs",Information Processing Letters, n. 25, pp. 241-245,1987.

[GOL 88] GOLDBERG, A. V. and PLOTKIN, S. A. "ParallelSymmetry-Breaking in Sparse Graphs", SIAM Journalof Discrete Mathematics, Vol. 1, n .4, pp. 434-445,Novembro 1988.

9

[ITA 90] ITAI, A. and RODEH, M. "Symmetry-Breaking inDistributed Networks", Information and Control, n.88, pp. 60-87, 1990.

[JAM 81] JAMES, B.R., “Probabilidade: um curso em nívelintermediário”, Projeto Euclides 1981.

[KAR 94] KARP R.,“Probabilistic Recurrence Relations”, Journalof Assotiation for Computing Machinery. Vol 41. No6. November 1994, pp 1100-1136

[LUB 86] LUBY, M., "A Simple Parallel Algorithm for theMaximal Independent Set Problem", SIAM Journal ofComputing, Vol. 15, n. 4, pp. 1036-1053, Novembro1986.

[PAN 92] PANCONESI, A. and SRINIVASAN, A., "ImprovedDistributed Algorithms for Coloring and NetworkDecomposition Problems", 24th ACM Symposium onTheory of Computation, pp. 581-591, Victoria B. C.,Canada, Maio 1992.

[SCH 92] SPIEGEL, M. R., “Manual de Fórmulas, Métodos eTabelas de Matemática”, Makron, McGraw-Hill 1992(Coleção Schaum).

[SZE 93] SZEGEDY, M. and VISHWANATHAN, S. "LocalityBased Graph Coloring", 25th ACM Symposium onTheory of Computation, pp. 201-207, California, USA,Maio 1993.