1 / 21

Marcelo Panosso Edson Berreta

CMP 157 Processamento Paralelo e Distribuído Prof Claudio Geyer. TL 1 Análise de Artigo. Marcelo Panosso Edson Berreta. A Scalable, Asynchronous Spanning Tree Algorithm on a Cluster of SMPs. Guojing Cong IBM Research Yorktown Heights, NY gcong@us.ibm.com. Hanhong Xue

ziya
Download Presentation

Marcelo Panosso Edson Berreta

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMP 157 Processamento Paralelo e DistribuídoProf Claudio Geyer TL 1 Análise de Artigo Marcelo PanossoEdson Berreta

  2. A Scalable, Asynchronous Spanning Tree Algorithm on a Cluster of SMPs Guojing Cong IBM Research Yorktown Heights, NY gcong@us.ibm.com Hanhong Xue IBM System & Technology Group Poughkeepsie, NY hanhong@us.ibm.com IPDPS 2008. IEEE International Symposium on Parallel and Distributed Processing14-18 April 2008

  3. Motivação e estado-da-arte Manipulação de grafos esparsos com bilhões de vértices Muitas vezes não podem ser armazenados na memoria principal de um computador. Maioria do algoritmos existentes são baseados PRAM (modelo teórico de computador) Shiloach-Viskin (SV), ST em paralelo utilizando BFS-Busca em largura Propõe um novo algoritmo distribuído ST, recursivo e assíncrono

  4. Motivação e estado-da-arte A “única” aplicação de alta performance com memoria distribuída utilizando BFS (largura) A. Yoo, E. Chow, K. Henderson, W. McLendon, B. Hendrickson, and U¨ . V. C¸ atalyu¨rek. A scalable distributed parallel breadth-first search algorithm on Bluegene/L. In Proc. Supercomputing (SC 2005), Seattle, WA, November 2005.

  5. Problemas a resolver (objetivos) BFS leva O (d) passos para um grafo de diâmetro d, para um d grande a quantidade de paralelismo é rapidamente saturada Tanto BFS e SV utilizam mensagens de parada “barreiras” globais, causando problemas de escalabilidade com muitos processadores Um dos principais objetivos do algoritmo é diminuir a quantidade de mensagens de parada (barreira).

  6. Algorítimo 1: DFS Paralela Semelhante ao DFS regular Menor sintaxe Diferente semântica Linguagem Cilk (multi-treaded parallel) eficaz para explorar o paralelismo dinâmico altamente assíncrono spawn(cria um filho e continua no pai em paralelo) Assíncrono Atômico (garante acesso ao vértice uma única vez) Para cada vizinho u de v chama “spawn DFS_T(u)” recursivamente

  7. Diferença para PRAM ou BSP As atividades são criadas durante a execução Não há construção de loop paralelo É improvável que escalonamento estático funcione(?) Não emprega sincronização global Amplamente assíncrono Impl. real: barreira após a inicialização de dados e antes de liberar recursos pode ser necessária (poucas) Prova formal do Algoritmo 1 (não tem ciclos) → teorema 1 Problemas

  8. Implementação Otimizada para Memória Distribuída Derivada naturalmente do algorítimo anterior Representação de entrada: Lista de adjacência LAPI (API de baixo nível) Comunicação unilateral Active Messages Distribuída Assíncrona Chamada de função recursiva

  9. Algorítimo 2 DFS_T(u): Thread principal Msg_Handler(u,v): Chegada do Active Mesage (maior processamento)

  10. Características do Algoritimo 2 Acesso atômico a matriz por exclusão mútua Terminação trivial (todos os vértices foram visitados e não existe mensagem em transito = barreira) → teorema 2, complexidade para detecção término = O(log p) Problema na memória distribuída: terminação prematura (atividades assíncronas) Soluções: Detectar se todas as atividades criadas por ela estão terminadas, lista de active mensages enviadas. Demora = O(m) Dijkstra

  11. Otimização Evitar envio de mensagens para processador próprio Turning com LAPI Dois Handlers (manipuladores) Manipulador de cabeçalho (MC) Manipulador de conclusão da mensagem (MCM) Pode ser opcionalmente executado em segmento separado Não usado nessa implementação

  12. Manipulador de cabeçalho Inspecionar cabeçalho Detectar novas ações a executar na chegada da msg Msg enviada para MCM, se não foi consumida pelo MC Sempre invocado pelo mesmo segmento que recebeu a msg (evita custo de comutação) Reduz tempo gasto apenas dando pushing na pilha ao invés de enviar uma mensagem recursiva A função DFS_T fica com o trabalho de enviar a msg Isso faz com que o algorítimo injete msgs continuamente na rede Maioria do trabalho ocorre na função principal Diferente do algorítimo original Não existe modelo apropriado para análise de tal comportamento

  13. Análises |Msg| transmitidas entre quaisquer processadores é estável ( m >> p) Ex.: m=4G, p=1024, δ = 0.01 Probabilidade é inferior a Carga de processadores equilibrada para grandes grafos aleatórios

  14. Resultados Hardware Cluster SMPs cada nó 16-CPUIBMP575+ running at 1.9 Ghz Communication network among nodes is 2GB/s IBM HPS adapters connected by IBM HPS switch. For our test, we use 64 nodes with a total of 1024 CPUs. Experimental results for random graphs with 1G (230) vertices and 4G, 8G, 30G (m =n log n) arestas

  15. Resultados Tempo execução x nr processadores

  16. Resultados Mensagens x nr processadores

  17. Resultados - Análise Tempo de execução aproximadamente de forma linear até 1024 processadores. Com o aumento da densidade dos vértices, para o mesmo número de processadores, o tempo de execução também aumenta conforme o esperado. Não parece haver qualquer gargalo que limita a expansão do algoritmo. Para DFS paralelo o número de mensagens enviadas é basicamente o fator determinante de desempenho. O número de mensagens enviadas é perfeitamente linear com o número de processadores. Desvio padrão de 0,1 % da média de mensagens enviadas. Este fato confirma a nossa análise do número de mensagens transmitidas entre os processadores.

  18. Comparação com trabalhos relacionados Apesar de citarem o trabalho ....Yoo.... Scalable distributed parallel breadth-first search algorithm on Bluegene/L. In Proc. .... não fizeram a comparação com as mesmas entradas, pois não tinham acesso a esta implementação. Complexidade de mensagens para detecção de terminação: Parallel DFS O ( log p ) (processadores) SV O ( log n)(vértices) Yoo Parallel BFS O ( d ) (diâmetro)

  19. Conclusões do grupo de PDP Constam provas teóricas e também práticas As otimizações descritas não aparecem no algorítimo Artigo é tendencioso, está direcionado para a IBM, feito pelo pessoal da e software da empresa e também testado somente em equipamentos da empresa Como seria o desempenho em outras plataformas ?

  20. Comparação Lynch O artigo mostra as provas formais e também a implementação. No livro da Lynch da só são tratados algorítimos com busca em largura – BFS Neste algorítimo o envio de mensagens é feito por um manipulador de mensagens LAPI da IBM.

  21. Notas a) Motivação e estado-da-arte........................5 b) Problemas a resolver e Modelo..................4 c) Protótipo, Resultados e comparação com trabalhos relacionados................................... 3 d) Redação e formatação .............................. 3

More Related