44
List Ranking : Um Estudo Experimental

List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

List Ranking : Um Estudo ExperimentalGuilherme Pereira VanniDISSERTAC� ~AO APRESENTADAAOINSTITUTO DE MATEM�ATICA E ESTAT�ISTICADAUNIVERSIDADE DE S~AO PAULOPARAOBTENC� ~AO DO GRAU DE MESTREEMCIENCIA DA COMPUTAC� ~AO

�Area de Con entra� ~ao: Cien ia da Computa� ~aoOrientador: Prof. Dr. Siang Wun Song| S~ao Paulo, outubro de 2004 |

Page 2: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

List Ranking : Um Estudo Experimental

Este exemplar orresponde �a reda� ~ao�nal da disserta� ~ao devidamente orrigida e defendida porGuilherme Pereira Vannie aprovada pela omiss~ao julgadora.S~ao Paulo, outubro de 2004.

Ban a examinadora:� Prof. Dr. Siang Wun Song (orientador) (IME-USP)� Prof. Dr. Mar o Dimas Gubitoso (IME-USP)� Prof. Dr. Edson Norberto C�a eres (UFMS)

Page 3: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Aos meus pais Carlos (in memoriam) e Marise

Page 4: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

AgradecimentosGostaria de agrade er aos meus pais por propor ionarem a base fundamentalpara eu hegar at�e aqui. M~ae, tamb�em por seu arinho e por suas ora� ~oes. Aosmeus irm~aos Fernando, Andr�e e M��riam, que sempre depositaram em mim umagrande on�an� a. Ao meu saudoso pai, uja mem�oria, sempre presente, ajudou-menos momentos mais dif�� eis, pois seu exemplo de vida, por si s�o, foi o meu grandein entivo.Agrade� o tamb�em a minha esposa Isabela, sempre amorosa e ompanheira,desde o dia da sele� ~ao para o ingresso no mestrado at�e a reda� ~ao �nal deste tra-balho. Sua pa ien ia e dedi a� ~ao tornou o meu trabalho menos �arduo e maisprazeroso. Ao meu �lho Guilherme, que nas eu nesta fase �nal, me trazendoainda mais alegria, servindo para me fazer ter, a ada sorriso seu, mais vontadede ontinuar lutando.Ao Siang Wun Song, primeiramente por ser meu orientador. Tamb�em pela suasabedoria e ompeten ia. Sua dedi a� ~ao e generosidade foram grandes in entivospara a on retiza� ~ao do meu trabalho. Tamb�em agrade� o ao Professor EdsonC�a eres por suas valiosas ontribui� ~oes.�A Funda� ~ao Vunesp por todo seu apoio, me permitindo on iliar o mestrado om o emprego.Aos olegas que �z durante o urso. Ao Daniel, pelo seu ompanheirismo,amizade e sua ontagiante perseveran� a. Ao Mar elo, pelos seus ensinamentos epor nossas onstantes tro as de informa� ~oes. Ao Ulisses, por suas di as para a on lus~ao da fase �nal e aos demais, Mateus, Mimi� a, Danielle, Ana L�u ia, entreoutros que tiveram muita importan ia para a realiza� ~ao das dis iplinas.Aos fun ion�arios da se retaria de p�os-gradua� ~ao, espe ialmente ao Pinho, pela ompeten ia e aten� ~ao om que trata os alunos.En�m, a Deus, que me deu sa�ude e dis ernimento para eu onseguir estaronde hoje eu estou. Guilherme Pereira Vannii

Page 5: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

ResumoA solu� ~ao de muitos algoritmos paralelos para grafos re ai no problema do ListRanking. Este problema foi muito estudado para o modelo PRAM. Entretanto,o modelo PRAM n~ao traz resultados satisfat�orios na pr�ati a e para o modeloBSP/CGM s~ao en ontradas pou as implementa� ~oes do List Ranking. Neste tra-balho, analisamos os resultados experimentais en ontrados no modelo BSP/CGM.Tamb�em foram implementados dois algoritmos usando o modelo BSP/CGM, ondeum deles �e probabil��sti o e requer, om alta probabilidade, log(3p) + log ln(n) =~O(logp + log logn) rodadas de omuni a� ~ao. O outro �e determin��sti o e requerapenas O(log p) rodadas de omuni a� ~ao. Al�em disso, modi� amos o algoritmodetermin��sti o visando a obten� ~ao de uma implementa� ~ao mais e� iente. Nossaimplementa� ~ao al an� ou um desempenho satisfat�orio, e as a elera� ~oes al an� adasforam melhores no algoritmo probabil��sti o.AbstractThe solution of many parallel graph algorithms depend on List Ranking. Thisproblem has been extensively studied under the PRAMmodel. The PRAMmodel,however, does not give satisfa tory results in pra ti e and for the BSP/CGMmodelthere are very few implementations of List Ranking. In this work, we analyze theexperimental results for the BSP/CGM. We also implemented two algorithmsusing the BSP/CGM model, one is probabilisti and requires log(3p) + log ln(n)= ~O(log p + log logn) ommuni ation rounds with high probability. The otheris a deterministi algorithm and requires only O(log p) ommuni ation rounds.Furthermore, we modi�ed the deterministi algorithm to obtain a more eÆ ientimplementation. Our implementation obtained a satisfa tory performan e, andthe probabilisti algorithm gave better speedups.

ii

Page 6: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Sumario

1 Introducao 1

2 Modelos Realısticos BSP/CGM 32.1 O Modelo BSP (Bulk-Syn hronous Parallel) . . . . . . . . . . . . 32.2 O Modelo CGM(Coarse Grained Multi omputer) . . . . . . . . . 53 Algoritmos paralelos para List Ranking no modelo CGM 73.1 Algoritmo Probabil��sti o . . . . . . . . . . . . . . . . . . . . . . . . 83.2 Algoritmo Determin��sti o . . . . . . . . . . . . . . . . . . . . . . . 114 Implementacoes 164.1 Implementa� ~ao do Algoritmo Probabil��sti o . . . . . . . . . . . . . 174.2 Implementa� ~oes do Algoritmo Determin��sti o . . . . . . . . . . . . 185 Resultados Experimentais 195.1 Resultados Obtidos Neste Trabalho . . . . . . . . . . . . . . . . . . 215.1.1 Resultados do Programa Probabil��sti o . . . . . . . . . . . 215.1.2 Resultados do Programa Determin��sti o . . . . . . . . . . . 225.1.3 Resultados do Programa Determin��sti o Modi� ado . . . . 23

iii

Page 7: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

SUM�ARIO6 Conclusao 32

iv

Page 8: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Lista de Figuras

1.1 S��ntese de algoritmos paralelos para grafos . . . . . . . . . . . . . . 12.1 Algoritmo BSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Algoritmo CGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.1 Uma lista linear om pivos es olhidos . . . . . . . . . . . . . . . . 85.1 Tempo de exe u� ~ao por elemento para o algoritmo determin��sti o . 205.2 Tempo de exe u� ~ao por elemento para o algoritmo probabil��sti o . 205.3 Curvas dos tempos observados para o algoritmo determin��sti o naplataforma THOG . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.4 Curvas dos tempos observados para o algoritmo determin��sti o naplataforma ULTRA . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.5 Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 1M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.6 Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 8M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.7 Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 16M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.8 A elera� ~oes (speedups) obtidas para o algoritmo probabil��sti o omentrada n = 16M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25v

Page 9: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

LISTA DE FIGURAS5.9 Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 32M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.10 A elera� ~oes (speedups) obtidas para o algoritmo probabil��sti o omentrada n = 32M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.11 Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 1M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.12 Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 8M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.13 Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 16M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.14 Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 32M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.15 A elera� ~oes (speedups) obtidas para o algoritmo determin��sti o omentrada n = 32M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.16 Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 1M. . . . . . . . . . . . . . . . . . . . . . 295.17 Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 8M. . . . . . . . . . . . . . . . . . . . . . 295.18 Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 16M. . . . . . . . . . . . . . . . . . . . . 305.19 Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 32M. . . . . . . . . . . . . . . . . . . . . 305.20 A elera� ~oes (speedups) obtidas para o algoritmo determin��sti o mo-di� ado om entrada n = 32M. . . . . . . . . . . . . . . . . . . . . 315.21 A elera� ~oes (speedups) obtidas para ada algoritmo om entrada n= 32M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31vi

Page 10: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 1

Introducao

Uma lista linear ligada �e uma seq�uen ia de n�os tal que ada n�o aponta paraoutro n�o, hamado seu su essor, e n~ao h�a i lo em tal lista. Conven iona-se que o�ultimo n�o aponta pra nil ou para si.O problema de List Ranking onsiste em determinar o rank para todos os n�os,isto �e, a distan ia para o �ultimo n�o da lista. Sua importan ia se deve ao fato de quemuitos algoritmos paralelos em teoria dos grafos o usam omo uma subrotina, omopodemos ver na Figura 1.1, que sintetiza uma fam��lia de algoritmos rela ionadosa partir de t�e ni as de algoritmos fundamentais [1℄.Figura 1.1: S��ntese de algoritmos paralelos para grafosList Ranking foi um dos problemas bastante estudados no modelo PRAM(Parallel Random A ess Ma hine), entretanto as a elera� ~oes te�ori as n~ao s~aoas mesmas obtidas quando implementados em m�aquinas reais [2℄. O modelo BSP(Bulk-Syn hronous Parallel) foi sugerido por Valiant em [11℄ para ser um modeloadequado de paralelismo su� ientemente pr�oximo �as m�aquinas paralelas existentes om mem�oria distribu��da.Baseado neste modelo, foi proposto por Dehne et al. [12℄ o modelo CGM(Coarse Grained Multi omputer) que apresenta muita similaridade om o BSP,por�em �e mais simples, fa ilitando o projeto e an�alise de algoritmos. Ele om-preende um onjunto de p pro essadores p1,..., pp om O(n/p) mem�oria lo al porpro essador e uma rede de omuni a� ~ao arbitr�aria. Todos os algoritmos onsistemde alternan ia entre rodadas de omputa� ~ao lo al e omuni a� ~ao global. Cadarodada de omuni a� ~ao onsiste de roteamento de uma simples h-rela� ~ao om h =1

Page 11: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 1. INTRODUC� ~AOO(n/p) , isto �e, ada pro essador envia e re ebe no m�aximo O(n/p) dados [2℄.En ontrar um algoritmo e� iente no modelo CGM �e equivalente �a minimizaro n�umero de rodadas de omuni a� ~ao bem omo o tempo de omputa� ~ao lo altotal.O modelo men ionado a ima tem sido usado (impli ita ou expli itamente) nodesenvolvimento de algoritmos paralelos para v�arios problemas e tem mostradoresultados pr�ati os muito bons [2℄.Ao ini iar este trabalho os resultados das implementa� ~oes para o problemado List Ranking n~ao eram satisfat�orios, omo se pode observar em [5℄. Durantea elabora� ~ao deste trabalho Chan e Dehne em [19℄ apresentaram a mais e� ienteat�e ent~ao. Nesta disserta� ~ao foram estudados os algoritmos existentes no modeloCGM para este problema, implementamos dois deles e analisamos os resultados, omparando-os om os obtidos at�e ent~ao. Tamb�em �zemos modi� a� ~oes em umdos algoritmos para torn�a-lo mais e� iente.Para isso foi utilizada a bibliote a MPI (Message Passing Interfa e) e o omputador paralelo do tipo Beowolf presente no Departamento de Computa� ~aodo IME/USP.Al�em desta introdu� ~ao, este trabalho est�a dividido em mais 5 ap��tulos. No ap��tulo 2, de�nimos e detalhamos os modelos BSP e CGM e a rela� ~ao entre eles.No ap��tulo 3 apresentamos os algoritmos CGM para solu� ~ao do PLR (Problemade List Ranking), omparando suas omplexidades. Neste ap��tulo tamb�em de-talhamos os algoritmos que implementamos. No ap��tulo 4 mostramos omo foifeita a implementa� ~ao dos algoritmos do ap��tulo anterior resaltando os aspe tosmais importantes. No ap��tulo 5 mostramos os resultados experimentais obtidos om a implementa� ~ao de algoritmos seguindo o modelo CGM en ontrados na li-teratura. Mostramos tamb�em os resultados al an� ados pela nossa implementa� ~aoe a ompara� ~ao om as anteriores. No ap��tulo 6, apresentamos a on lus~ao destetrabalho.

2

Page 12: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 2

Modelos Realısticos BSP/CGM

O pro essamento paralelo sofre a falta de um modelo que seja amplamentea eito. Ao �nal dos anos 80, v�arios problemas haviam sido estudados e v�arios limi-tes inferiores e superiores foram demonstrados para esses problemas em diferentesmodelos de omputa� ~ao, tais omo mem�oria ompartilhada, hiper ubos e grades.Quando esses resultados te�ori os eram implementados nas m�aquinas existentes, asa elera� ~oes obtidas eram, muitas vezes, desapontadoras. Esses resultados levaram�a ria� ~ao de modelos de omputa� ~ao paralela om granularidade grossa. Nessesmodelos, o on eito de omputa� ~ao paralela �e representado om uma s�erie de su-perpassos, ao inv�es de passos om o envio individual de mensagens ou a essosindividuais �a mem�oria ompartilhada. O BSP e o CGM s~ao exemplos desses mo-delos. Os algoritmos projetados para esses modelos, quando implementados nasm�aquinas existentes, tem obtido a elera� ~oes pr�oximas das previstas em resultadoste�ori os. Isso faz om que sejam hamados de modelos real��sti os [13℄.2.1 O Modelo BSP (Bulk-Syn hronous Parallel)O modelo BSP foi proposto por Valiant [11℄ em 1990 e �e um dos modelosreal��sti os mais importantes. Al�em disso, foi um dos primeiros a onsiderar os ustos de omuni a� ~ao e a abstrair as ara ter��sti as de uma m�aquina paralela emum pequeno n�umero de parametros. O modelo seq�uen ial de Von Neumann servede ponte entre as ne essidades de hardware e software da omputa� ~ao seq�uen ial,sendo essa a raz~ao do seu su esso. O prin ipal objetivo do modelo BSP �e ser essaponte para a omputa� ~ao paralela e, onseq�uentemente, servir omo um padr~ao.O modelo BSP onsiste na ombina� ~ao de tres atributos, quais sejam, p pro-3

Page 13: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 2. MODELOS REAL�ISTICOS BSP/CGM essadores om mem�oria lo al, um roteador que entrega mensagens ponto-a-pontoentre pares de pro essadores e fa ilidade de sin roniza� ~ao de todos ou apenas umsub onjunto de pro essadores.Um algoritmo BSP onsiste em uma seq�uen ia de superpassos separados porbarreiras de sin roniza� ~ao, omo mostra a Figura 2.1.Figura 2.1: Algoritmo BSPEm um superpasso, a ada pro essador �e atribu��do um onjunto de opera� ~oesindependentes, onsistindo de uma ombina� ~ao de passos de omputa� ~ao, usandodados disponibilizados lo almente no in�� io do superpasso, e passos de omu-ni a� ~ao, atrav�es de instru� ~oes de envio e re ebimento de mensagens. Neste modelo,uma h-rela� ~ao em um superpasso orresponde ao envio e/ou re ebimento de, nom�aximo, h mensagens em ada pro essador. Os valores obtidos em resposta a umamensagem enviada em um superpasso somente poder~ao ser usados no pr�oximo su-perpasso.O modelo possui os seguintes parametros:� n: tamanho do problema;� p: n�umero de pro essadores dispon��veis, ada um om uma mem�oria lo alde tamanho O(n/p);� L: tempo m��nimo de um superpasso;� g: des reve a taxa de e� ien ia de omputa� ~ao e omuni a� ~ao, que orres-ponde �a raz~ao entre total de opera� ~oes de omputa� ~ao lo al de todos ospro essadores em uma unidade de tempo, e o n�umero total de mensagensenviadas/re ebidas em uma unidade de tempo.Os parametros L e g s~ao utilizados para al ular o usto de omuni a� ~ao deum algoritmo BSP. O parametro L �e o usto de sin roniza� ~ao, de forma que adaopera� ~ao de sin roniza� ~ao ontribui om L unidades de tempo para o tempo totalde exe u� ~ao. O parametro g est�a rela ionado om apa idade de omuni a� ~ao deuma rede de omputadores. Se o n�umero m�aximo de mensagens enviadas poralgum pro essador durante uma tro a simples �e h, ent~ao seriam ne ess�arias at�e ghunidades de tempo para a on lus~ao da tro a [6℄. Cada superpasso de um algoritmoBSP possui tempo total de exe u� ~ao wi + gh i + L, onde wi = max {L; t1 ; ...; tp},sendo que tj �e o tempo das opera� ~oes de omputa� ~ao exe utadas pelo pro essador j4

Page 14: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 2. MODELOS REAL�ISTICOS BSP/CGMno superpasso i e hi = max {L; 1 ; ...; p} onde j �e o tempo das mensagens re ebidase/ou enviadas pelo pro essador j no superpasso i. Seja T o n�umero de superpassos,teremos:� Custo total de omputa� ~oes lo ais: W =∑Ti=0 wi� Custo total de omuni a� ~ao: H =

∑Ti=0 hiDe tudo isso, o usto total de um algoritmo BSP �e dado por W+gH+LT.2.2 O Modelo CGM(Coarse Grained Multi omputer)O modelo CGM foi proposto por Dehne [12℄ e onsiste em um onjunto dep pro essadores, ada um om mem�oria lo al de tamanho O(n/p), onde n �e otamanho do problema. Um algoritmo CGM onsiste em uma seq�uen ia alternadade rodadas de omputa� ~ao e rodadas de omuni a� ~ao, separadas por uma barreirade sin roniza� ~ao, omo mostra a Figura 2.2. Normalmente, durante uma rodadade omputa� ~ao �e utilizado o melhor algoritmo seq�uen ial para o pro essamentodos dados disponibilizados lo almente. Um algoritmo CGM �e um aso espe ial dealgoritmo BSP, onde uma rodada de omputa� ~ao �e equivalente a um superpassode omputa� ~ao no BSP, e o usto total de omputa� ~ao �e de�nido analogamente.Uma rodada de omuni a� ~ao onsiste em uma �uni a h-rela� ~ao, om h ≤ n/p.Cada pro essador envia O(n/p) dados e re ebe O(n/p) dados. Toda informa� ~aoenviada de um pro essador para outro em uma rodada de omuni a� ~ao �e empa o-tada em uma grande mensagem, visando om isso reduzir a sobre arga (overhead)para envio de mensagem. O usto das rodadas de omuni a� ~ao �e Hn,p = O(n/p).Portanto, o usto total de omuni a� ~ao de um algoritmo CGM om x rodadas de omuni a� ~ao �e x × Hn,p. Figura 2.2: Algoritmo CGMA prin ipal diferen� a entre os modelos BSP e CGM �e que o CGM permiteapenas um �uni o tipo de opera� ~ao de omuni a� ~ao, a h-rela� ~ao, e apenas onta on�umero de h-rela� ~oes omo sua prin ipal medida de usto de omuni a� ~ao. Umarodada CGM de omputa� ~ao/ omuni a� ~ao orresponde a um superpasso do BSP om usto de omuni a� ~ao g(n/p) (mais o empa otamento) [2℄.5

Page 15: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 2. MODELOS REAL�ISTICOS BSP/CGMO usto de um algoritmo CGM �e a soma dos tempos obtidos em termos don�umero total de rodadas de omputa� ~ao lo al e o n�umero total de rodadas de omuni a� ~ao.Os algoritmos CGM, quando implementados em multipro essadores atual-mente dispon��veis, omportam-se bem e exibem a elera� ~oes similares �aquelas pre-vistas em suas an�alises. Para esses algoritmos, o objetivo �e minimizar o n�umerode superpassos e a quantidade de omputa� ~ao lo al.

6

Page 16: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 3

Algoritmos paralelos para ListRanking no modelo CGM

O primeiro algoritmo CGM para PLR foi proposto por Dehne e Song em[4℄. Este �e um algoritmo probabil��sti o que requer, om alta probabilidade, nom�aximo log(3p) + log ln(n) = ~O(log p + log logn) 1 rodadas de omuni a� ~ao (h-rela� ~oes om h = ~O(n/p)) e ~O(n/p) omputa� ~ao lo al, onde p �e o numero depro essadores e n �e o tamanho da lista ligada.Simultaneamente, foi proposta por Dehne e Song em [4℄ uma vers~ao melho-rada que requer, om alta probabilidade, somente r ≤ (4K + 6 ) log(23 p) + 8 =~O(K log p) rodadas de omuni a� ~ao, onde K = min{i ≥ 0 | ln(i+1)n ≤ (23 p)2i+1 }.Observamos que K < ln∗(n) �e um n�umero extremamente pequeno. Paran ≤ 10 10 100 e p ≥ 4 , o valor de K �e no m�aximo 2. Isto �e, para um dado n�umerode pro essadores, p, o n�umero requerido de rodadas de omuni a� ~ao �e, para todosos prop�ositos pr�ati os, independente de n.Depois disso, um novo algoritmo foi proposto por Dehne et al. em [2℄, [3℄.Entretanto, este �e um algoritmo determin��sti o. Ele requer O(log p) rodadas de omuni a� ~ao e O(n/p) omputa� ~ao lo al, sendo este o algoritmo mais e� ienteen ontrado na literatura.Finalmente foi proposto por Sibeyn em [8℄ outro algoritmo determin��sti o querequer O(p) rodadas de omuni a� ~ao.1 ~O(n) denota O(n) \ om alta probabilidade". Mais pre isamente, X = ~O(f (n)), se e somentese (∀ > 0 > 1 ) Prob fX ≥ f (n)} ≤ 1ng( ) onde 0 �e uma onstante �xa e g( ) �e um polimonioem om g( )→∞ para →∞ [4℄. 7

Page 17: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGMNeste trabalho implementamos o algoritmo proposto por Dehne e Song [4℄,por ser probabil��sti o e por sua simpli idade. Tamb�em foi implementado o algo-ritmo determin��sti o de Dehne et al. [2℄, [3℄ o mais e� iente em teoria. A seguir,apresentamos os dois algoritmos.3.1 Algoritmo ProbabilısticoConsidere uma lista ligada de n elementos, distribu��dos igualmente em p pro- essadores, de maneira arbitr�aria. Cada pro essador tem portanto n/p elementos.Al�em disso, ada pro essador armazena uma par ela de uma amostra de n/pelementos, extra��dos dos elementos originais de modo aleat�orio. Os elementosamostrados ser~ao denominados pivos. A Figura 3.1 mostra uma lista om algunselementos es olhidos omo pivos.

- - - - - - - - - - -

1 2 3 4 5 6 7 8 9 10 11 12Elemento amostrado hamado pivoFigura 3.1: Uma lista linear om pivos es olhidosEm Dehne [4℄ demonstra-se que a m�axima distan ia m entre dois pivos on-se utivos n~ao �e maior que 3p ln(n), om alta probabilidade. Em outras palavras,Probabilidade {m ≥ 3p ln(n)} ≤ 1n , > 2Vamos ini ialmente estabele er algumas nomen laturas. Considere uma listalinear S de n elementos. Seja um onjunto aleat�orio S ′ ⊂ S de pivos. Para ada x ∈ S seja nextPivot(x ,S ′) o pivo mais pr�oximo �a direita de x na listaS . Sem perda de generalidade, vamos supor que o �ultimo elemento de S , λ, �esempre es olhido omo pivo e seja nextPivot(λ,S ′) = λ. Note que para x 6= λ,nextPivot(x ,S ′) 6= x .Seja distToPivot(x ,S ′) a distan ia entre x e nextPivot(x ,S ′) na lista S . Oproblema de \List Ranking Modi� ado" para S om respeito a S ′ �e o seguinte:Determinar para ada x ∈ S seu pr�oximo pivo, nextPivot(x ,S ′), bem omo adistan ia distToPivot(x ,S ′). 8

Page 18: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGMPodemos agora des rever o algoritmo:1. Sele ione um onjunto aleat�orio de um total de n/p pivos: Cada pro essadorpi onsidera ada um de seus n/p elementos, es olhendo-o omo pivo omprobabilidade 1/p.2. Todos os pro essadores resolvem oletivamente o subproblema de List RankingModi� ado que determina, para ada elemento x da lista, nextPivot(x ,S ′)e distToPivot(x ,S ′).3. Usando tro a ompleta, os valores nextPivot e distToPivot para todos ospivos x ∈ S ′ s~ao enviados a todos os pro essadores.4. Usando os dados re ebidos no passo 3, ada pro essador pi pode resolver oproblema de List Ranking para os elementos armazenados em pi seq�uen ial-mente.A prova de que o algoritmo requer, om alta probabilidade, log(3p) + log ln(n)= ~O(logp + log logn) rodadas de omuni a� ~ao �e apresentada a seguir onforme[4℄. Primeiramente vamos estudar uma amostra aleat�oria em uma lista ligada.Considere uma lista ligada om um onjunto S de n elementos. Mostraremosque se n�os sele ionarmos n/p elementos aleat�orios (pivos) de S, ent~ao om altaprobabilidade, estes pivos ir~ao dividir S em sublistas ujo tamanho m�aximo �elimitado por 3p ln(n).Lema 1. xk ≥ n elementos es olhidos aleatoriamente de S (pivos) parti ionaa lista S em sublistas Si, tal que o tamanho da maior sublista �e no m�aximo n/x om probabilidade de no m��nimo 1 − 2x (1 − 12x )xk .Prova. Suponha que os elementos de S s~ao ordenados por seus ranks. Estalista ordenada pode ser vista omo 2x segmentos de tamanho n2x . Se todo segmento ont�em no m��nimo um pivo, ent~ao max1≤j≤xk |Sj | ≤ nx . Considere um segmento.Como os pivos s~ao es olhidos aleatoriamente, a probabilidade de que um pivoespe ��� o n~ao esteja no segmento �e de (1 − 12x ). Como xk pivos s~ao sele ionadosindependentemente, a probabilidade de que nenhum pivo esteja no segmento �e(1 − 12x )xk . Portanto, mesmo assumindo ex lus~ao m�utua, a probabilidade de queexista um segmento que n~ao ontenha nenhum pivo �e no m�aximo 2x (1 − 12x )xk .Assim, todo segmento ont�em no m��nimo um pivo om probabilidade de no m��nimo1 − 2x (1 − 12x )xk . 9

Page 19: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGMCorol�ario 1. xk ≤ n pivos es olhidos aleatoriamente parti ionam a lista Sem xk + 1 sublistas Si , tal que existe uma sublista Si de tamanho maior que nx om probabilidade de no m�aximo 2x (1 − 2x )xk ≤ 2x e−12 k .Lema 2. Considere xk ≤ n pivos es olhidos aleatoriamente que parti ionamS em xk + 1 sublistas Si , e seja m = max0≤i≤xk |Si |. Se k ≥ ln(x ) + 2 ln(n) ent~aoProb{m > nx } ≤ 1n , > 2 .Prova. O Corol�ario 1 impli a que Prob{m > nx } ≤ 2x e−12 k .N�os observamos que, para > 2 ,ln(x ) + 2 ln(n) ≤ k ⇒2 ln(2x ) + 2 ln(n) ≤ k ⇒ln(2x ) + ln(n) ≤ k2 ⇒2x n ≤ e k2 ⇒Prob{m > nx } ≤ n− .Teorema 1. n/p pivos es olhidos aleatoriamente parti ionam S em np + 1sublistas Sj om m = max0≤j≤p |Sj | tal que Prob{m ≥ 3p ln(n)} ≤ 1n , > 2 .Prova. Seja x = n3p ln(n), k = ln(x ) + 2 ln(n) = 3 ln(n) − ln(3p ln(n)). Ent~aoxk = np 3 ln(n)−ln(3p ln(n))3 ln(n)

≤ np , e Teorema 1 segue do Lema 2.Agora, para provarmos o Passo 1 do algoritmo, re a��mos no seguinte:Lema 3. Considere uma vari�avel aleat�oria X om distribui� ~ao binomial. Sejan o n�umero de possibilidades, onde ada uma �e su esso om probabilidade q.A expe tativa de X �e E(X ) = nq e Prob{X > nq} ≤ e−12 ( −1)2nq , para qualquer > 1 .Para a implementa� ~ao do Passo 2, simplesmente simula-se a t�e ni a do pointerjumping. (Para todo o x em paralelo: WHILE next(x ) 6= nextPivot(x ,S ′) DOnext(x ) := next(next(x )).) Do Teorema 1 segue que, om alta probabilidade,m(S ,S ′) ≤ 3p ln(n). Portanto, o Passo 2 requer, om alta probabilidade, nom�aximo log(3p ln(n)) = log(3p) + log ln(n) rodadas de omuni a� ~ao. O passo 3requer 1 rodada de omuni a� ~ao e o Passo 4 �e imediato. Em resumo, obt�em-se:Teorema 2. O Algoritmo probabil��sti o resolve o problema do List Ranking,usando, om alta probabilidade, no m�aximo 1 + log(3p) + log ln(n) rodadas de omuni a� ~ao e ~O(n/p) omputa� ~ao lo al.10

Page 20: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGMObserva-se que, se np ≤ e(3p)α para algum α > 1 ent~ao,ln(n) ≤ ln(p) + (3p)α⇒log ln(n) ≤ log(ln(p) + (3p)α) ≤ log(2 (3p)α)⇒log ln(n) ≤ 1 + α log(3p)⇒log(3p) + log ln(n) ≤ 1 + (α + 1 ) log(3p).Isto impli a queCorol�ario 2. Se np ≤ e(3p)α , para alguma onstante α > 1 , ent~ao o n�umero derodadas de omuni a� ~ao requeridas pelo Algoritmo Probabil��sti o �e limitado por2 + (α + 1 ) log(3p) = ~O(log(p)).3.2 Algoritmo DeterminısticoAntes do algoritmo propriamente dito �e ne ess�ario fazer algumas de�ni� ~oes.Seja L uma lista ligada om n elementos representada por s [1 · · ·n ]. Para ada i ∈ {1 · · ·n}, s [i ] �e um ponteiro para o su essor de i na lista L. O �ultimoelemento da lista L, λ �e aquele onde s [λ] = λ. Denominamos i e s [i ] por vizinhos.A distan ia entre i e j, dL(i , j ), �e o n�umero de n�os em L entre i e j mais um. Oproblema de List Ranking onsiste em al ular para ada i ∈ L a distan ia entrei e λ, referido omo rankL(i) = dL(i , λ).Cada pro essador re ebe ini ialmente n/p elementos da lista om seus respe -tivos ponteiros.Um r-ruling set L' de L �e de�nido omo um sub onjunto de elementos se-le ionados de L om as seguintes ara ter��sti as: (1) Dois vizinhos nun a s~aosele ionados. (2) A distan ia de qualquer elemento n~ao sele ionado ao pr�oximoelemento sele ionado �e no m�aximo r.

Algoritmo List Ranking determinısticoEntrada: Uma lista ligada L de omprimento n onde ada pro essador ar-mazena n/p elementos i ∈ L e seus respe tivos ponteiros s [i ]. Sa��da: Para adaelemento i seu rank rankL(i) em L.1. Cal ular O(p2 )-ruling set R om |R| = O(n/p) omo des rito no algoritmoabaixo. 11

Page 21: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGM2. Fazer um broad ast de R para todos os pro essadores.3. Cal ular seq�uen ialmente em ada pro essador o List Ranking de R, isto �e al ular para ada j ∈ R seu rankL(j ) em L.4. Obter para ada elemento da lista i ∈ L−R sua distan ia dL(i , sR[i ]) parao pr�oximo elemeno sR[i ] em R atrav�es do pointer jumping.5. Cal ular em ada pro essador os ranks dos seus elementos i ∈ L−R om:rankL(i) = dL(i , sR[i ]) + rankL(sR[i ]).A parte dif�� il do algoritmo �e a omputa� ~ao de um O(p2 )-ruling set R detamanho O(n/p) que mostraremos no algoritmo a seguir. Dado um O(p2 )-rulingset a prova de que o algoritmo fun iona �e imediata. Observamos tamb�em que ospassos de 2 a 5 podem ser implementdados em O(log p) rodadas de omuni a� ~ao om O(n/p) omputa� ~ao lo al por rodada.De�nimos um intervalo-s de omprimento k omo uma seq�uen ia I = (i1 , ..., 1k)de elementos da lista om s [ij ] = ij+1 , 1 ≤ j ≤ k − 1 .Para al ular o O(p2 )-ruling set ada elemento de L deve ser rotulado om o��ndi e do pro essador. Assim, L(i) �e o n�umero do pro essador onde i se en ontra.Temos, portanto, no m�aximo p r�otulos.Algoritmo para calcular um O(p2 )-ruling setEntrada: Uma lista ligada L de omprimento n onde ada pro essador ar-mazena n/p elementos i ∈ L e seus respe tivos ponteiros s [i ]. Sa��da: Um onjuntode n�os sele ionados de L representando O(p2 )-ruling set de tamanho O(n/p).1. Mar ar todos os elementos da lista omo n�os n~ao sele ionados.2. Para todo i ∈ L fazer em paraleloSe L(i) < L(s [i ]) > L(s [s [i ]]) ent~aomar ar s[i℄ omo sele ionado3. Seq�uen ialmente, em ada pro essador, pro essar as sublistas de elemen-tos subsequentes que est~ao armazenados no mesmo pro essador. Para adasublista, mar ar todo segundo elemento. Se a sublista tem somente doiselementos, e ambos os vizinhos n~ao possuem um r�otulo menor, mar ar oselementos da sublista omo n~ao sele ionados.4. Para k = 1 · · · log p fazer 12

Page 22: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGM4.1. Para todo elemento i ∈ L fazer em paraleloSe s [i ] �e n~ao sele ionado ent~aos [i ]← s [s [i ]].4.2. Para todo elemento i ∈ L fazer em paraleloSe (i , s [i ], s [s [i ]] s~ao sele ionados) e not (L(i) < L(s [i ]) > L(s [s [i ]])) e(L(i) 6= L(s [i ])) e (L(s [i ]) 6= L(s [s [i ]])) ent~aomar ar s[i℄ omo n~ao sele ionado.4.3. Seq�uen ialmente, em ada pro essador, pro essar as sublistas de ele-mentos sele ionados subseq�uentes da lista que est~ao armazenados nomesmo pro essador. Para ada sublista mar ar todo segundo elemento omo n~ao sele ionado. Se a sublista tem apenas dois elementos e ambosos vizinhos n~ao possuem r�otulos menores, ent~ao mar ar ambos elemen-tos da lista omo n~ao sele ionados.5. Mar ar o �ultimo elemento omo sele ionado.O Teorema 3 garante a omplexidade do algoritmo no modelo CGM para omputar o List Ranking. Sua demostra� ~ao est�a des rita a seguir onforme [2℄.Primeiro provaremos que o onjunto de elementos sele ionados no �nal doalgoritmo que al ula O(p2 )-ruling set tem tamanho m�aximo O(n/p).Lema 4. Ap�os a k-�esima itera� ~ao no passo 4, n~ao h�a mais que dois elementossele ionados em qualquer intervalo-s de omprimento 2 k na lista original L.Prova. Por indu� ~ao em k. O Lema �e trivial para k = 1 . Seja S um intervalo-sde omprimento 2 k para a lista original L e sejam S1 e S2 a primeira e a segundametade de S, respe tivamente. Assuma que depois da itera� ~ao k − 1 no passo 4, S1e S2 ont�em no m�aximo dois elementos sele ionados ada. Denote por e1 , ..., e4 osquatro elementos (no m�aximo) sele ionados ordenados em rela� ~ao �a L. Observe quea distan ia entre estes elementos, em rela� ~ao �a L, �e no m�aximo 2 k . Considere agoraa itera� ~ao k no passo 4. Ap�os o passo 4.1, quaisquer dois elementos sele ionadostem a distan ia m�axima de 2 k e os elementos n~ao-sele ionado entre eles ( omrela� ~ao �a L) est~ao diretamente one tados por uma liga� ~ao que �e representadapelo vetor s atual. Portanto, s [e1 ] = e2 , s [e2 ] = e3 , s [e3 ] = e4 . Note que h�a, nom�aximo, quatro asos poss��veis (n~ao sim�etri os) para apli ar os passos 4.2 e 4.3para e1 , ..., e4 . Se e1 , ..., e4 s~ao dois a dois distintos, ent~ao somente o passo 4.2 �eapli ado. Se e1 , ..., e4 s~ao todos iguais, ent~ao o passo 4.3 �e apli ado. Se e1 , ..., e3s~ao dois a dois distintos e e3 = e4 , ent~ao o passo 4.2 �e apli ado para e1 , ..., e3 e opasso 4.3 para e3 , e4 . O outro aso poss��vel �e e1 6= e2 = e3 6= e4 . Ent~ao o passo4.2 �e apli ado para e1 e e4 , e o passo 4.3 �e apli ado para e2 e e3 . Em qualquer13

Page 23: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGM aso, depois dos passos 4.2 e 4.3, no m�aximo dois elementos em e1 , ..., e4 aindaestar~ao sele ionados.Agora provaremos que elementos subseq�uentes sele ionados no �nal do Algo-ritmo de �al ulo do O(p2 )-ruling set tem a distan ia m�axima de O(p2 ) na listaoriginal L. Primeiro pre isamos do seguinte.Lema 5. Depois de ada exe u� ~ao do passo 4.3, a distan ia ( om rela� ~ao aovetor s atual) entre dois elementos subseq�uentes sele ionados �e no m�aximo O(p).Prova. Considere dois elementos subseq�uentes sele ionados e1 e e2 . H�a tres asos poss��veis: (1) e1 , e2 e todos os elementos entre eles, em rela� ~ao �a s, temo mesmo r�otulo. (2) Para e1 , e2 e todos os elementos entre eles, em rela� ~ao �as, qualquer par de elementos onse utivos possuem r�otulos diferentes. (3) O asomisturado onde alguns pares de elementos subsequentes tem o mesmo r�otulo. Noteque no aso (3) �e imposs��vel para tres ou mais elementos onse utivos tenham omesmo r�otulo, porque um deles ser�a um elemento sele ionado (passo 4.3). No aso(1) a distan ia entre e1 e e2 �e, no m�aximo 2, por ausa do passo 4.3. No aso (2),devido ao esquema para rotular os elementos, h�a no m�aximo p r�otulos diferentes.Portanto, por [21℄, a distan ia �e, no m�aximo, O(p). O aso (3) �e equivalente ao aso (2) ex eto por um fator de dois.Lema 6. Ap�os a k-�esima exe u� ~ao do passo 4.3, dois vizinhos-s om respeitoao vetor s atual tem distan ia O(2 k ) om respeito �a lista original L.Prova. Conseq�uen ia do fato de que somente k opera� ~oes pointer jumpingforam efetuadas no passo 4.1.Lema 7. A distan ia entre quaisquer dois elementos subseq�uentes sele ionados�e, no m�aximo, O(p2 ) om respeito �a lista original L.Prova. Segue dos Lemas 5 e 6.Lema 8. Em um modelo CGM om p pro essadores e O(n/p) mem�oria lo alpor pro essador, n/p ≥ pǫ(ǫ > 0), o algoritmo determin��sti o al ula um O(p2 )-ruling set de tamanhoO(n/p) em O(log p) rodadas de omuni a� ~ao om O(n/p) omputa� ~ao lo al por rodada.Prova. Corretude do algoritmo que al ulaO(p2 )-ruling set segue dos Lemas4 a 7. Para n/p ≥ pǫ, o algoritmo de ordena� ~ao em [22℄ requer O(1 ) rodadas omO(n/p) omputa� ~ao lo al por rodada. A omuni a� ~ao utilizada pelo algoritmo onsiste de duas ordena� ~oes globais para os passos 2 e 3, e 3 log p ordena� ~oesglobais para o passo 4. Toda omputa� ~ao lo al em ada passo pode ser exe utada14

Page 24: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 3. ALGORITMOS PARALELOS PARA LIST RANKING NOMODELO CGMem tempo linear.Em resumo, obt�em-seTeorema 3. O problema do List Ranking para uma lista ligada om n elemen-tos pode ser resolvido no modelo CGM om p pro essadores e O(n/p) mem�orialo al por pro essador, n/p ≥ pǫ(ǫ > 0), em O(log p) rodadas de omuni a� ~ao eO(n/p) omputa� ~ao lo al por rodada.

15

Page 25: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 4

Implementacoes

Implementamos os algoritmos des ritos no ap��tulo 3 utilizando a linguagemC e a bibliote a MPI (Message Passsing Interfa e).Os programas desenvolvidos no presente trabalho seguem o modelo SPMD(Single Program Multiple Data), no qual ada pro esso exe uta o mesmo pro-grama om dados distintos. Todos os nossos programas re ebem omo entrada umarquivo ontendo uma lista ligada a qual desejamos determinar o List Ranking.O arquivo de entrada tamb�em forne e o in�� io da lista. Ini ialmente um dos pro- essos le toda a lista e distribui igualmente entre os pro essadores. O tempo deleitura e distribui� ~ao de dados de entrada n~ao �e in luido na ontagem do tempodos programas. Para podermos analisar o desempenho dos programas paralelos,foi implementada uma vers~ao seq�uen ial do List Ranking. A ontagem de tempodos programas paralelos �e feita pela fun� ~ao MPI Wtime do MPI. Para que hou-vesse oeren ia entre as medidas de tempo seq�uen ial e paralelo, utilizamos abibliote a MPI tamb�em no programa seq�uen ial, de forma que pud�essemos uti-lizar a fun� ~ao MPI Wtime para omputar o tempo do programa. Desta forma oprograma seq�uen ial utiliza a bibliote a MPI, mas n~ao utiliza as primitivas de o-muni a� ~ao, e logi amente �e exe utado por apenas um pro esso, sendo que a �uni afun� ~ao da bibliote a MPI nesse programa �e omputar o tempo. A mesma entrada�e usada no programa seq�uen ial, e o tempo de leitura da lista ligada tamb�em n~ao�e onsiderado. As listas ligadas que serviram de entrada para os programas foramgeradas de forma aleat�oria.Utilizamos um sistema de pro essamento paralelo do tipoBeowulf do Institutode Matem�ati a e Estat��sti a da USP. O objetivo do Beowulf do IME �e forne eruma plataforma de omputa� ~ao de alto desempenho para o desenvolvimento deferramentas omputa ionais utilizadas em apli a� ~oes de bioinform�ati a. Por isso,16

Page 26: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 4. IMPLEMENTAC� ~OESo sistema ganhou o nome de Biowulf/IME.O Biowulf/IME �e formado por 16 AMD PCs, one tados por uma have(swit h) Fast Ethernet 100Mbit/seg. ONode 1 �e o servidor e seu nome �e tiramisu.ime.usp.brpara o a esso externo. O sistema est�a one tado �a rede do IME via Ethernet100Mbit/seg. Cada AMD PC �e basi amente on�gurado omo segue [20℄.� Pro essador: 1.2 GHz AMD Thunderbird Athlon, 256KB L2 a he.� Mem�oria: 768MB PC 133 SDRAM.� Dis o: 30.73GB ATA100 7200 RPM HD Deskstar 756GXP DLT-307030 IBM.� Sistema Opera ional: Debian Linux 2.2.19.Utilizamos o ompilador GNU g 2.95.2-13 e o software MPI-LAM.4.1 Implementacao do Algoritmo ProbabilısticoVamos, nessa se� ~ao, detalhar os aspe tos onsiderados mais importantes em ada passo na implementa� ~ao do algoritmo probabil��sti o de Dehne e Song [4℄.No primeiro passo, sele ionamos omo pivo os primeiros np2 elementos de adapro essador. Isto s�o foi poss��vel porque onsideramos que a lista ligada �e geradaaleatoriamente. Com isso, a exe u� ~ao do algoritmo � a mais r�apida, uma vez quen~ao �e ne ess�ario fazer o sorteio dos pivos. O primeiro e o �ultimo elemento da listatamb�em s~ao tratados omo pivos.O passo 2, o qual al ula o list ranking modi� ando, �e resolvido utilizando-sea t�e ni a do pointer jumping. Um vetor auxiliar �e usado para guardar o su essordo su essor de ada elemento. A atualiza� ~ao destes dados �e feita utilizando-se afun� ~ao MPI Alltoallv, que realiza a omuni a� ~ao de todos os pro essos entre si.No passo 3, o algoritmo sugere tro a ompleta dos valores de NextPivot eDistToPivot para todos os pivos. Isto poderia ser implementado om a fun� ~aoMPI Allgather para os dois onjuntos de valores. Entretando, visando minimizaro tempo de omuni a� ~ao e onseq�uentemente de exe u� ~ao do programa, enviamosos valores de NextPivot e DistToPivot somente para um pro essador. Depois, al- ulamos o list ranking para os pivos somente neste pro essador. Como o primeiroelemento da lista foi mar ado om pivo, n~ao pre isamos des obrir o in�� io da lista17

Page 27: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 4. IMPLEMENTAC� ~OESdos pivos. Ap�os omputar enviamos o list ranking dos pivos para os demais pro- essadores. Finalmente, no passo 4, ada pro essador resolve o PRL para seuselementos seq�uen ialmente.4.2 Implementacoes do Algoritmo DeterminısticoA diferen� a fundamental entre o algoritmo determin��sti o e probabil��sti o est�ana determina� ~ao dos elementos es olhidos omo pivo.Foram implementadas duas vers~oes do algoritmo determin��sti o. A primeiradelas segue exatamente os passos do algoritmo proposto por Dehne et al. [2℄, [3℄.Na outra vers~ao realizamos altera� ~oes no �al ulo do ruling set que detalhamos aseguir.Para o �al ulo do O(p2 )-ruling set o passo 3 do algoritmo original pro essaas sublistas de elementos subseq�uentes que est~ao armazenados no mesmo pro es-sador. Para ada sublista, �e mar ado todo segundo elemento. Se a sublista temsomente dois elementos e ambos vizinhos n~ao possuem um r�otulo menor, s~ao mar- ados os elementos da sublista omo n~ao sele ionados. Alteramos este passo n~aomar ando todo segundo elemento e sim todo p-�esimo elemento. Tamb�em n~aofazemos tratamento algum se a sublista tem somente dois elementos.O passo 4.3 do algoritmo �e: Seq�uen ialmente, em ada pro essador, pro essaras sublistas de elementos sele ionados subseq�uentes da lista que est~ao armazenadosno mesmo pro essador. Para ada sublista mar ar todo segundo elemento omon~ao sele ionado. Se a sublista tem apenas dois elementos e ambos os vizinhosn~ao possuem r�otulos menores, ent~ao mar ar ambos elementos da lista omo n~aosele ionado. Este passo n~ao �e exe utado na vers~ao modi� ada.Os demais passos dos algoritmos determin��sti o e determin��sti o modi� ados~ao iguais. Os resultados destas altera� ~oes s~ao apresentados no ap��tulo 5.

18

Page 28: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 5

Resultados Experimentais

Pou os artigos lidam om a parte de implementa� ~ao do PLR. Reid-Millerem [17℄ apresenta uma implementa� ~ao para o Cray C-90 de diferentes algoritmosPRAM que d~ao bons resultados, entretanto estas implementa� ~oes s~ao espe ��� aspara esta m�aquina [5℄. Dehne e Song em [4℄ realizam algumas simula� ~oes, mas elessomente mostram os resultados em rela� ~ao ao n�umero de rodadas de omuni a� ~ao.Santana et al. em [6℄ mostra a es alabilidade do algoritmo probabil��sti o deDehne e Song. Entretanto, Santana em [7℄ n~ao obt�em uma implementa� ~ao oma elera� ~oes favor�aveis.Sibeyn em [14℄ e Sibeyn et al. em [15℄ mostram v�arios algoritmos para PLR om t�e ni as derivadas do PRAM e outras novas. Eles ajustam seus algoritmosde a ordo om a rede de inter onex~ao do Intel Paragon. Os resultados s~ao bons epromissores desde que mais de dez pro essadores sejam usados. Nestes trabalhosas implementa� ~oes s~ao espe ��� as para a rede de inter onex~ao da m�aquina alvo en~ao pare em ser port�aveis [5℄.Gustedt et al. apresenta em [5℄ dois algoritmos, um determin��sti o e outroprobabil��sti o.O algoritmo determin��sti o est�a baseado em duas id�eias dadas por algoritmosPRAM. A b�asi a e primeira t�e ni a, hamada de pointer-jumping, foi men ionadapor Wyllie em [16℄. A segunda t�e ni a PRAM usada �e um k-ruling-set apresentadapor Cole e Vishkin em [18℄.No probabil��sti o, a t�e ni a empregada �e onhe ida por onjuntos indepen-dentes, omo des rita em [10℄. 19

Page 29: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAISAs Figuras 5.1 e 5.2 referem-se �as implementa� ~oes de Gustedt [5℄. A Figura5.1 mostra o tempo de exe u� ~ao por elemento em fun� ~ao do tamanho da lista parao algoritmo determin��sti o, enquanto a Figura 5.2 para o algoritmo probabil��sti o.Figura 5.1: Tempo de exe u� ~ao por elemento para o algoritmo determin��sti oFigura 5.2: Tempo de exe u� ~ao por elemento para o algoritmo probabil��sti oO algoritmo determin��sti o �e sempre mais lento do que o seq�uen ial. Parao algoritmo probabil��sti o, a partir de 9 pro essadores, o algoritmo paralelo setorna mais r�apido que o seq�uen ial. Em ambos os asos o tempo de exe u� ~aoparalelo de res e om o n�umero de pro essadores empregados. As a elera� ~oes s~aode qualquer modo pequenas, uma vez que para 12 pro essadores, por exemplo, aa elera� ~ao obtida �e igual a 1.3 [5℄.Sibeyn em [8℄ apresenta um trabalho que possui resultados experimentais parao PLR. Neste trabalho, um novo algoritmo one-by-one leaning, que realiza O(p)rodadas de omuni a� ~ao, �e implementado.Para onseguir bons resultados, a id�eia �e reduzir o n�umero de start-ups. Paraisso, reduz-se o n�umero de roteamento durante o envio das mensagens.Esse experimento �e realizado em um Intel Paragon. O Paragon �e um om-putador paralelo om uma rede de inter onex~ao tipo grid. Para n ≥ 250000 ,onde n �e o n�umero de elementos da lista, o algoritmo �e mais r�apido do que oseq�uen ial [8℄.O algoritmo tem um melhor desempenho para valores mais modestos de p(n�umero de pro essadores). Por exemplo:Para p = 36 e k = 2 14 , obt�em-se uma a elera� ~ao de 5.3 [8℄.Por �utimo, en ontramos o trabalho de Chan e Dehne em [19℄. Neste tra-balho, implementou-se o algoritmo determin��sti o de [2℄, [3℄ que apresentamosnesta disserta� ~ao no ap��tulo 3. Seus estudos experimentais foram realizados emduas plataformas paralelas: THOG e ULTRA. O luster THOG onsiste de p = 64n�os, ada um om dois pro essadores Xeon. Os n�os s~ao inter one tados via have(swit h) usando Ethernet Gigabit. A plataforma ULTRA �e uma rede de esta� ~oesde trabalho onsistindo de p = 10 Sun Spar Ultra 10. Os n�os s~ao inter one tadosvia Fast Ethernet usando have (swit h) de 100Mb.20

Page 30: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAISFigura 5.3: Curvas dos tempos observados para o algoritmo determin��sti o naplataforma THOGOs desempenhos em ada plataforma podem ser observados na Figura 5.3 e naFigura 5.4. Infelizmente, na Figura 5.3 n~ao foi apresentado o tempo do algoritmoseq�uen ial, inviabilizando o �al ulo da a elera� ~ao. De qualquer forma, observamosque o tempo de exe u� ~ao em ambas as �guras diminui om o aumento do n�umerode pro essadores.Figura 5.4: Curvas dos tempos observados para o algoritmo determin��sti o naplataforma ULTRA5.1 Resultados Obtidos Neste TrabalhoNesta se� ~ao, apresentamos os tempos, em segundos, obtidos om as nossasimplementa� ~oes do algoritmo probabil��sti o de Dehne e Song [4℄, do algoritmodetermin��sti o de [2℄, [3℄ e por �ultimo os resultados da sua vers~ao modi� ada.Cada gr�a� o mostra os tempos de um determinado programa para uma quantidadede elementos de entrada, assim podemos observar omo o programa se omportaem ada situa� ~ao. Cada um dos tempos apresentados representa a m�edia entre 3tempos mensurados. Foram utilizadas omo entrada listas ligadas de tamanho n= 1M, n = 8M, n = 16M e n = 32M. O n�umero de pro essadores p utilizadospara os algoritmos paralelos foram 2, 4 e 8.5.1.1 Resultados do Programa ProbabilısticoNesta subse� ~ao, apresentamos os tempos, em segundos, obtidos om a nossaimplementa� ~ao do algortimo probabil��sti o de Dehne e Song [4℄.Na Figura 5.5 observamos que o algoritmo seq�uen ial �e mais r�apido que oalgoritmo paralelo para qualquer n�umero de pro essadores. Al�em disso o tempode exe u� ~ao para p = 8 �e pior que para p = 4. Isso se deve ao fato do tamanhoda entrada, n = 1M, n~ao ser su� ientemente grande para ompensar o tempo de omuni a� ~ao. 21

Page 31: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦◦

◦ Comun

••

• Comp

⋆⋆

⋆ Total

0 2 4 6 8

0

2

4

6

No. Processadores

Seg

undos

Figura 5.5: Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 1M.Na Figura 5.6, n = 8M, o tempo de pro essamento paralelo diminui om oaumento do n�umero de pro essadores. Para p = 4 e p = 8 o algoritmo paralelo �emais r�apido que o seq�uen ial.Na Figura 5.7, n = 16M, o tempo de pro essamento paralelo tamb�em diminui om o aumento do n�umero de pro essadores. As respe tivas a elera� ~oes podemser observadas na Figura 5.8.Por �ultimo, temos a entrada om n = 32M, na Figura 5.9 notamos que otempo de pro essamento seq�uen ial e de pro essamento paralelo para n = 2 �eprati amente o mesmo. Para maiores valores de p o tempo paralelo diminui. AFigura 5.10 representa as a elera� ~oes obtidas. Para p = 8 a a elera� ~ao �e, aproxi-madamente, 2,21.5.1.2 Resultados do Programa DeterminısticoNesta subse� ~ao, apresentamos os tempos, em segundos, obtidos om a nossaimplementa� ~ao do algoritmo determin��sti o de Dehne el al. [2℄, [3℄.Para valores de n = 1M e n = 8M o algoritmo seq�uen ial �e mais r�apido queo algoritmo paralelo.Na Figura 5.13, n = 16M, observamos que o algoritmo paralelo �e mais r�apidoque o seq�uen ial somente para p = 8. 22

Page 32: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦ ◦ ◦

◦ Comun

••

• Comp

⋆ Total

0 2 4 6 8

0

10

20

30

No. Processadores

Seg

undos

Figura 5.6: Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 8M.Por �ultimo, na Figura 5.14, n = 32M, o algoritmo paralelo �e mais r�apido queo seq�uen ial para p = 4 e p = 8. As a elera� ~oes, que est~ao representadas na Figura5.15, s~ao menores que no algoritmo probabil��sti o para o mesmos valores de n e p.5.1.3 Resultados do Programa Determinıstico ModificadoNesta subse� ~ao, apresentamos os tempos, em segundos, obtidos om a imple-menta� ~ao da vers~ao que modi� amos do algoritmo determin��sti o de Dehne el al.[2℄, [3℄.Para n = 1M o algoritmo seq�uen ial �e mais r�apido que o algoritmo deter-min��sti o modi� ado. Entretanto para n = 8M, diferentemente, do que o orreentre o algoritmo dertemin��sti o de [2℄, [3℄ e o algoritmo seq�uen ial, o algoritmodetermin��sti o modi� ado, om p = 8, �e um pou o mais r�apido que o seq�uen ial, omo podemos observar na Figura 5.17.Com n = 16M, observamos na Figura 5.18 que o algoritmo paralelo modi� ado�e mais r�apido que o seq�uen ial para p = 8 e um pou o mais lento para p = 4.Finalmente, para n = 32M (Figura 5.19), o algoritmo paralelo modi� ado�e mais r�apido que o seq�uen ial para p = 4 e p = 8. As a elera� ~oes podem serobservadas na Figura 5.20.Em todos os asos o tempo de exe u� ~ao do algoritmo determin��sti o modi�- ado �e menor que o tempo de exe u� ~ao do algoritmo determin��sti o.23

Page 33: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦ ◦ ◦

◦ Comun•

• Comp

⋆ Total

0 2 4 6 8

0

10

20

30

40

50

No. Processadores

Seg

undos

Figura 5.7: Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 16M.A Figura 5.21 apresenta a ompara� ~ao entre as a elara� ~oes obtidas em adaum dos algoritmos implementados para uma entrada de n = 32M.

24

Page 34: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

2 4 6 8

0

1

2

3

4

No. Processadores

Ace

lera

coes

Figura 5.8: A elera� ~oes (speedups) obtidas para o algoritmo probabil��sti o omentrada n = 16M.

◦ ◦ ◦

◦ Comun•

• Comp

⋆ ⋆

⋆ Total

0 2 4 6 8

0

20

40

60

80

100

No. Processadores

Seg

undos

Figura 5.9: Curvas dos tempos observados para o algoritmo probabil��sti o omentrada n = 32M.25

Page 35: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

2 4 6 8

0

1

2

3

4

No. Processadores

Ace

lera

coes

Figura 5.10: A elera� ~oes (speedups) obtidas para o algoritmo probabil��sti o omentrada n = 32M.

◦◦

◦ Comun

• Comp

⋆⋆

⋆ Total

0 2 4 6 8

0

2

4

6

No. Processadores

Seg

undos

Figura 5.11: Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 1M.26

Page 36: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦◦ ◦

◦ Comun

• Comp

⋆ Total

0 2 4 6 8

0

10

20

30

No. Processadores

Seg

undos

Figura 5.12: Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 8M.

◦ ◦◦

◦ Comun

• Comp

⋆ Total

0 2 4 6 8

0

20

40

60

No. Processadores

Seg

undos

Figura 5.13: Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 16M.27

Page 37: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦ ◦ ◦

◦ Comun

• Comp

⋆ Total

0 2 4 6 8

0

20

40

60

80

100

120

No. Processadores

Seg

undos

Figura 5.14: Curvas dos tempos observados para o algoritmo determin��sti o omentrada n = 32M.

2 4 6 8

0

1

2

3

4

No. Processadores

Ace

lera

coes

Figura 5.15: A elera� ~oes (speedups) obtidas para o algoritmo determin��sti o omentrada n = 32M.28

Page 38: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦ ◦◦

◦ Comun

• Comp

⋆ ⋆

⋆ Total

0 2 4 6 8

0

2

4

6

No. Processadores

Seg

undos

Figura 5.16: Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 1M.

◦◦ ◦

◦ Comun

• Comp

⋆ Total

0 2 4 6 8

0

10

20

30

No. Processadores

Seg

undos

Figura 5.17: Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 8M.29

Page 39: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

◦ ◦ ◦

◦ Comun

• Comp

⋆ Total

0 2 4 6 8

0

20

40

60

No. Processadores

Seg

undos

Figura 5.18: Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 16M.

◦ ◦ ◦

◦ Comun

••

• Comp

⋆ Total

0 2 4 6 8

0

20

40

60

80

100

120

No. Processadores

Seg

undos

Figura 5.19: Curvas dos tempos observados para o algoritmo determin��sti o mo-di� ado om entrada n = 32M.30

Page 40: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 5. RESULTADOS EXPERIMENTAIS

2 4 6 8

0

1

2

3

4

No. Processadores

Ace

lera

coes

Figura 5.20: A elera� ~oes (speedups) obtidas para o algoritmo determin��sti o mo-di� ado om entrada n = 32M.

◦ Alg. Deterministico

• Alg. Deter. Modificado

⋆ Alg. Probabilistico

2 4 6 8

0

1

2

3

4

No. Processadores

Ace

lera

coes

Figura 5.21: A elera� ~oes (speedups) obtidas para ada algoritmo om entrada n= 32M.31

Page 41: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Capıtulo 6

Conclusao

List Ranking �e um importante problema b�asi o utilizado por uma grande lasse de algoritmos [1℄.Este problema foi bastante estudado para o modelo PRAM. Embora o mo-delo PRAM seja muito onhe ido, ele n~ao �e adequado para as m�aquinas paralelasreais, isto porque, o modelo n~ao onsidera o alto usto de omuni a� ~ao entre ospro essadores. Portanto, muitos algoritmos teori amente e� ientes para o mo-delo PRAM n~ao produzem o desempenho esperado quando implementados emm�aquinas paralelas reais.Para resolver este problema foram propostos os modelos real��sti os omo oBSP e o CGM om a inten� ~ao de modelar um algoritmo que tivesse resulta-dos te�ori os pr�oximos aos resultados pr�ati os. O modelo CGM �e mais simples(simpli� a os ustos de omuni a� ~ao), fa ilitando, assim, o desenvolvimento dealgoritmos.Para o problema do List Ranking, diferentemente do algoritmo seq�uen ial,que pode ser resolvido de forma e� iente, o algoritmo paralelo na maioria dos asos, n~ao leva a uma implementa� ~ao e� iente [5℄.Implementamos o algoritmo probabil��sti o de Dehne e Song [4℄ que requer om alta probabilidade, log(3p) + log ln(n) = ~O(log p + log logn) rodadas de o-muni a� ~ao e ~O(n/p) omputa� ~ao lo al. Tamb�em foi implementado o algoritmodetermin��sti o de Dehne et al. que ne essita de apenas O(log p) rodadas de omu-ni a� ~ao e O(n/p) omputa� ~ao lo al. Al�em disso, alteramos este �ultimo algoritmoe �zemos tamb�em sua implementa� ~ao. Todos os algoritmos foram implementadosna linguagem C utilizando a bibliote a MPI e exe utados em um Beowulf om 16pro essadores AMD. 32

Page 42: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

CAP�ITULO 6. CONCLUS~AOOs dados experimentais obtidos mostram um desempenho satisfat�orio dosprogramas. Estes dados foram obtidos utilizando-se listas ligadas, geradas aleato-riamente, om tamanhos n = 1M, n = 8M, n = 16M e n = 32M e os programasparalelos exe utados em 2, 4 e 8 pro essadores.Em todos os programas paralelos o tempo de exe u� ~ao diminui om o aumentodo n�umero de pro essadores, ex eto para n = 1M, onde o tempo de omuni a� ~aon~ao �e ompensado pela quantidade de dados. Com o aumento do tamanho daentrada, os algoritmos paralelos se tornam mais e� ientes. Para, por exemplo, p= 8 e n = 16 ou n = 32 todos os programas paralelos s~ao mais r�apidos que oprograma seq�uen ial.Para todos os valores de n e p, nossos experimentos mostram que, o pro-grama determin��sti o modi� ado foi um pou o mais r�apido que o programa de-termin��sti o, ou seja, om uma pequena altera� ~ao no algoritmo determin��sti o onseguimos alguma melhora nos tempos de exe u� ~ao.O algoritmo probabil��sti o, embora tenha, na teoria, um maior n�umero derodadas de omuni a� ~ao, sua implementa� ~ao obteve melhor desempenho que oalgoritmo determin��sti o para todas as entradas testadas.

33

Page 43: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

Referencias Bibliograficas

[1℄ S. Baase, Introdu tion to parallel onne tivity, list ranking, and Euler tourte hniques. J. H. Reif (ed.) Synthesis of Parallel Algorithms. MorganKaufmann Publisher, 1993.[2℄ F. Dehne, A. Ferreira, E. C�a eres, S. W. Song, and A. Ron ato. EÆ ientparallel graph algorithms for oarse-grained multi omputers and BSP.Algorithmi a, Vol. 33, pp. 183-200, 2002.[3℄ E. N. C�a eres, F. Dehne, A. Ferreira, P. Flo hini, I. Rieping, A. Ron ato, N.Santoro, and S. W. Song. EÆ ient parallel graph algorithms for oarse-grainedmulti omputers and BSP. 24th International Colloquium on Automata,Languages, and Programming (ICALP 97). Le ture Notes in ComputerS ien e, Vol. 125, pp. 390-400, 1997.[4℄ F. Dehne, and S. W. Song. Randomized parallel list ranking for distributedmemory multipro essors. International Journal of Parallel Programming,Vol. 25, no 1, pp. 1-16, 1997.[5℄ I. G. Lassous, and J. Gustedt. Portable list ranking: an experimental study.Workshop on Algorithm Engineering, pp. 111-122, 2001.[6℄ F. Dehne, F. S. Santana, and S. W. Song. Valida� ~ao da es alabilidade de umalgoritmo paralelo para list ranking. Anais do XIX Congresso Na ional deMatem�ati a Apli ada, pp. 111-122, 1996.[7℄ F. S. Santana. Algoritmos probabil��sti os de list ranking para m�aquinasparalelas om mem�oria distribu��da. Tese de Mestrado, USP, 1997.[8℄ J. F. Sibeyn. One-by-one leaning for prati al parallel list ranking.Algorithmi a, Vol. 32, pp. 345-363, 2002.[9℄ J. R. Anderson and G. L. Miller. A simple randomized parallel algorithm forlist ranking. Information Pro essing Letters, Vol. 33, No. 5, pp. 269-273,1990. 34

Page 44: List Ranking: Um Estudo Experimentalsong/papers/dissertacao-guilherme.pdf · grafos. 1 2.1 Algoritmo BSP. 4 2.2 Algoritmo CGM. 5 3.1 Uma lista linear com piv^ os escolhidos. 8 5.1

REFERENCIAS BIBLIOGR�AFICAS[10℄ J. J�aJ�a. An Introdu tion to Parallel Algorithms. Addison-WesleyPublishing Company, 1992.[11℄ L. G. Valiant. A bridging model for parallel omputation. Communi ationsof the ACM, Vol.33, no. 8, pp. 103-111, 1990.[12℄ F. Dehne, A. Fabri, and A. Rau-Chaplin. S alable parallel geometri algorithms for oarse grained multi omputers. Pro . ACM 9th AnnualComputation Geometry, pp. 298-307, 1993.[13℄ F. Dehne. Coarse grained parallel algorithms. Algorithmi a, 24(3/4): 173-176, 2000.[14℄ J. F. Sibeyn. Better trade-o�s for parallel list ranking. Pro . of 9th ACMSymposium on Parallel Algorithms and Ar hite tures, 221-230, 1997.[15℄ J. F. Sibeyn, F. Guillaume, and T. Sidel. Prati al parallel list ranking.Journal of Parallel and Distributed Computing, 56:156-180, 1999.[16℄ J. C. Wyllie. The Complexity of Parallel Computations. PhD thesis,Computer S ien e Departament, Cornell University, 1979.[17℄ M. Reid-Miller. List ranking and list s an on the Cray C-90. Pro . ACMSymposium on Parallel Algorithms and Ar hite tures, 104-113, 1994.[18℄ R. Cole and U. Vishkin. Faster optimal pre�x sums and list ranking.Information and Computation, 81(3): 128-142, 1989.[19℄ Albert Chan and Frank Dehne. CGMgraph/CGMlib: Implementing andTesting CGMGraph Algorithms on PC Clusters. Pro . 10th EuroPVM/MPI2003, Veni e, Italy Sep 29 - O t 2, 2003.[20℄ M. X. T. Delgado. http://www.vision.ime.usp.br/ age/Beowulf/,2001.[21℄ R. Cole and U. Vishkin. Approximate parallel s hedulling, part i: The basi te hnique with appli ations to optimal parallel list ranking in logaritmi time.SIAM J. of Computing, 17(1): 128-142, 1988.[22℄ M. T. Goodri h. Communi ation EÆ ient Parallel Sorting.ACM Symposiumon Theory of Computing, 1996.35