4 research outputs found

    Uma estratégia de testes logarítmica para o algoritmo HI-ADSD

    Get PDF
    Orientador: Prof. Dr. Elias P. Duarte Jr.Co-Orientador: Prof. Dr. Luis C.E. BonaDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Curso de Pós-Graduaçao em Informática. Defesa: Curitiba, 24/05/2013Bibliografia: fls. 47-49Resumo: O objetivo do diagnóstico distribuído e permitir que os nodos sem-falha de um sistema determinem o estado - falho ou sem-falha - de todos os nodos do sistema. Assume-se que os nodos sao capazes de testar outros nodos e os nodos sem-falha determinam o estado dos nodos testados corretamente. O algoritmo Hierarchical Adaptive Distributed Systemlevel Diagnosis (Hi-ADSD) [9] e um algoritmo de diagnóstico distribuído que cria uma topologia virtual baseada em um hipercubo. O hipercubo óe uma estrutura escalóavel por definicão, apresentando características topológicas importantes como: simetria, diametro logarítmico e boas propriedades para tolerância a falhas. O algoritmo permite que todo nodo sem-falha de um sistema com N nodos determine o estado de todos os outros nodos com uma latencia de no móximo log2 N rodadas de teste. Entretanto, o numero de testes executados no pior caso e quadrótico. Este trabalho apresenta uma nova estrategia de testes para o algoritmo Hi-ADSD. Esta estrategia utiliza uma quantidade logarítmica de testes no pior caso. O algoritmo e adaptado para a nova estrategia de testes. Alem disso, foi adotado o uso de timestamps para permitir que cada nodo obtenha informacoes de diagnostico a partir de diversos outros nodos, consequentemente reduzindo a latencia media. O novo algoritmo e especificado, suas provas formais são demonstradas e resultados experimentais obtidos por simulações são apresentados e comparados com o Hi-ADSD. A nova estrategia garante que no maximo N log2 N testes são executados a cada log2 N rodadas de teste. A latencia maxima e mantida em log2 N rodadas de teste. O novo algoritmo foi implementado como uma estratóegia escalóavel de monitoramento e execuçcãao de experimentos integrado ao PlanetMon [23], um arcabouço para instalacao, execuçao e monitacão de experimentos no Planet-Lab. Experimentos foram realizados e mostraram que o desempenho do algoritmo em um ambiente realista condiz com as expectativas teoricas.Abstract: The goal of distributed diagnosis is to allow fault-free nodes of a system to determine the state - faulty or fault-free - of all nodes of the system. It is assumed that the nodes are capable of testing each other and that fault-free nodes can determine the state of tested nodes correctly. The Hierarchical Adaptive Distributed System-level Diagnosis (Hi- ADSD) [9] is a distributed diagnosis algorithm that creates a virtual topology based on a hypercube. A hypercube is a scalable structure by definition, presenting important topological features like: symmetry, logarithmic diameter and good fault tolerance properties. The algorithm allows every fault-free node of a system with N nodes to determine the state of every other node with a latency of at most log2 N testing rounds. However, the number of executed tests in the worst case is quadratic. This work presents a new testing strategy for the Hi-ADSD algorithm. This strategy uses a logarithmic amount of tests in the worst case. The algorithm is adapted to the new testing strategy. Furthermore, the use of timestamps is adopted to allow each node to retrieve diagnosis information from several other nodes, thus reducing the average latency. The new algorithm is specified, formal proofs are given, and experimental results obtained by simulations are presented and compared with the Hi-ADSD algorithm. The new strategy ensures that at most N log2 N tests are executed at each log2 N testing rounds. The maximum latency is mantained in log2 2 N testing rounds. The new algorithm was implemented as a scalable strategy to monitor and execute experiments integrated to PlanetMon [23], a framework to install, execute and monitor experiments in Planet-Lab. Experiments were executed and they have shown that the algorithm performance in a realistic environment is consistent with the teoretical limits

    Tolerância a falhas em sistemas MPI com grupos dinâmicos de processos recomendados e registro de mensagens distribuído baseado em paxos

    Get PDF
    Orientador : Prof. Dr. Elias P. Duarte Jr.Tese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 11/05/2017Inclui referências : f. 93-103Área de concentração : Ciência da computaçãoResumo: Os sistemas HPC (High-Performance Computing) são geralmente empregados para executar aplicações de longa duração, incluindo, por exemplo, simulações científicas e industriais complexas. Construir sistemas HPC tolerante a falhas permanece um desafio à medida que o tamanho desses sistemas aumenta. Esta tese de doutorado apresenta duas estratégias de tolerância a falhas para sistemas HPC baseados em MPI. A primeira contribuição apresenta uma solução para lidar com a variabilidade de desempenho que afeta negativamente ou inviabiliza a execução das aplicações HPC. Este é o caso dos clusters compartilhados onde um nodo computacional pode se tornar muito lento e comprometer a execução de toda a aplicação. Esta tese propõe um novo modelo de diagnóstico em nível de sistema onde os processos executam testes entre si a fim de determinar se são recomendados ou não-recomendados. Os processos classificados como recomendados formam um grupo dinâmico, chamado de DGRP (Dynamic Group of Recommended Processes), e são responsáveis por executar a aplicação. Os processos testados como não-recomendados são removidos do DGRP. Um processo pode reingressar ao DGRP após uma rodada de consenso executada pelos processos do DGRP. O modelo foi implementado e empregado para monitorar os processos em um cluster compartilhado multiusuário. No estudo de caso apresentado, os processos do DGRP executam o algoritmo de ordenação paralela Hyperquicksort. O Hyperquicksort é implementado e adaptado para se reconfigurar em tempo de execução a fim de suportar até n ?? 1 processos não-recomendados (em um sistema com n processos). Os resultados obtidos demonstram a sua eficiência. A segunda contribuição desta tese se insere na técnica de rollback-recovery na sua variante chamada de registro de mensagens. O registro de mensagens não requer a sincronização dos processos para salvar o estado da aplicação e evita que todos os processos reiniciem a partir do último estado salvo. No entanto, a maioria dos protocolos de registro de mensagens conta com um componente centralizado e que não tolera falhas, chamado de event logger, para armazenar as informações de recuperação, isto é, os determinantes. Esta tese de doutorado propõe o primeiro event logger distribuído e tolerante a falhas para os protocolos de registro de mensagens. Duas implementações baseadas no algoritmo de consenso Paxos, chamadas de Paxos Clássico e Paxos Paralelo, foram realizadas para o event logger. Um protocolo pessimista de registro de mensagens é construído e implementado para interagir com o event logger proposto e realizar a recuperação automática das aplicações MPI. O desempenho dos event loggers é avaliado perante a aplicação AMG (Algebraic MultiGrid) e as aplicações do NAS Parallel benchmark. A recuperação é avaliada através do algoritmo paralelo de Gusfield e a aplicação AMG. Resultados demonstram que o event logger baseado em Paxos Paralelo tem desempenho comparável ou superior ao da abordagem centralizada e que o protocolo proposto realiza a recuperação da aplicação eficientemente. Palavras-chave: Tolerância a Falhas em MPI, DGRP, Registro de Mensagens, Paxos Paralelo.Abstract: HPC systems are employed to execute long-running applications including, for example, complex industrial and scientific simulations. Building robust, fault-tolerant HPC systems remains a challenge as the size of the system grows. This doctoral thesis presents two faulttolerant strategies for HPC systems based on MPI. Our first contribution presents a solution to deal with the performance variation of HPC system processes that negatively a_ect or even prevent the execution of HPC applications. This is the case in shared clusters in which a single node can become too slow and can thus compromise the entire application execution. This thesis proposes a new system-level diagnosis model in which processes execute tests among themselves in order to determine whether they are recommended or non-recommended. Processes classified as recommended form a Dynamic Group of Recommended Processes (DGRP), which is responsible for running the application. A process can rejoin the DGRP after a round of consensus executed by the DGRP processes. The model was implemented and used to monitor processes in a shared multi-user cluster. In the case study presented, the DGRP processes execute the parallel sorting algorithm Hyperquicksort. Hyperquicksort is implemented and adapted to reconfigure itself at runtime in order to proceed even if up to N ?? 1 processes become non-recommended (N is the total number of processes). Results are presented showing that the strategy is e_cient. The second contribution of this thesis is in the field of the rollbackrecovery technique in its variant based on message logging. Message logging does not require all processes to coordinate in order to save their states during normal execution. Neither does it require to restart all processes from the last saved states after a single process fails. However, most existing message logging protocols rely on a centralized entity which does not tolerate failures, called event logger, which stores recovery information called determinants. This thesis proposes, to the best of our knowledge, the first distributed and fault-tolerant event logger. Two implementations are presented based on the Paxos consensus algorithm, called Classic Paxos and Parallel Paxos. A pessimistic message logging protocol is built and implemented based on the proposed event logger to perform automatic recovery of MPI applications after failures. We evaluate the performance of the event logger using both the AMG (Algebraic MultiGrid) application and NAS Parallel benchmark applications. Application recovery is evaluated in two case studies based on Gusfield's parallel cut tree algorithm and the AMG application. Results show that the event logger based on Parallel Paxos performs as well as or better than a centralized event logger and that the proposed recovery protocol is also e_cient. Keywords: Fault Tolerance in MPI, DGRP, Message Logging, Parallel Paxos

    Estratégias eficientes para identificação de falhas utilizando o diagnóstico baseado em comparações

    Get PDF
    Orientador: Prof. Dr. Elias Procópio Duarte Jr.Tese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Curso de Pós-Graduaçao em Informática. Defesa: Curitiba, 12/04/2013Bibliografia: fls. 126-148Resumo: O diagnóstico baseado em comparações e uma forma realista para detectar falhas em hardware, software, redes e sistemas distribuídos. O diagnostico se baseia na comparaçao de resultados de tarefas produzidos por pares de unidades para determinar quais sao as unidades falhas e sem-falha do sistema. Qualquer diferenca no resultado da comparacao indica que uma ou ambas as unidades estao falhas. O diagnostico completo do sistema e baseado no resultado de todas as comparações. Este trabalho apresenta um novo algoritmo de diagnostico para identificar falhas em sistemas de topologia arbitraria com base no modelo MM*. A complexidade do algoritmo proposto e O(t2AN) no pior caso para sistemas de N unidades, onde t denota o numero maximo permitido de unidades falhas e A e o grau da unidade de maior grau no sistema. Esta complexidade e significativamente menor que a dos outros algoritmos previamente publicados. Alem da especificacao do algoritmo e das provas de correcão, resultados obtidos atraves da execucao exaustiva de experimentos sao apresentados, mostrando o desempenho me dio do algoritmo para diferentes sistemas. Al em do novo algoritmo para sistemas de topologia arbitraria, este trabalho tambem apresenta duas outras solucoes para deteccão e combate a poluicao de conteudo, ou alteracoes nao autorizadas, em transmissões de mídia contínua ao vivo em redes P2P - a primeira e uma solucão centralizada e que realiza o diagnostico da poluicao na rede, e a segunda e uma solucao completamente distribuída e descentralizada que tem o objetivo de combater a propagacao da poluicao na rede. Ambas as solucoes utilizam o diagnostico baseado em comparacoes para detectar alterações no conteudo dos dados transmitidos. As soluções foram implementadas no Fireflies, um protocolo escalavel para redes overlay, e diversos experimentos atraves de simulacao foram conduzidos. Os resultados mostram que ambas as estrategias sao solucães viaveis para identificar e combater a poluiçcãao de conteudo em transmissãoes ao vivo e que adicionam baixa sobrecarga ao trafego da rede. Em particular a estrategia de combate a poluicao foi capaz de reduzir consideravelmente a poluicão de conteudo em diversas configurações, em varios casos chegando a elimina-la no decorrer das transmissoães.Abstract: Comparison-based diagnosis is a practical approach to detect faults in hardware, software, and network-based systems. Diagnosis is based on the comparison of task outputs returned by pairs of system units in order to determine whether those units are faulty or fault-free. If the comparison results in a mismatch then one ore both units are faulty. System diagnosis is based on the complete set of all comparison results. This work introduces a novel diagnosis algorithm to identify faults in t-diagnosable systems of arbitrary topology under the MM* model. The complexity of the proposed algorithm is O(t2AN) in the worst case for systems with N units, where t denotes the maximum number of faulty units allowed and A corresponds to the maximum degree of a unit in the system. This complexity is significantly lower than those of previously published algorithms. Besides the algorithm specification and correctness proofs, exhaustive simulations results are presented, showing the typical performance of the algorithm for different systems. Moreover, this work also presents two different strategies to detect and fight content pollution in P2P live streaming transmissions - the first strategy is centralized and performs the diagnosis of content pollution in the network, and the second strategy is a completely distributed solution to combat the propagation of the pollution. Both strategies employ comparison-based diagnosis in order to detect any modification in the data transmitted. The solutions were also implemented in Fireflies, a scalable and fault-tolerant overlay network protocol, and a large number of simulation experiments were conduced. Results show that both strategies are feasible solutions to identify and fight content pollution in live streaming sessions and that they add low overhead in terms of network bandwidth usage. In particular, the solution proposed to combat content pollution was able to significantly reduce the pollution over the system in diverse network configurations - in many cases the solution nearly eliminated the pollution during the transmission

    Identificação de nós maliciosos em redes complexas baseada em visões locais

    Get PDF
    Resumo: Muitos sistemas sociais, biológicos e de informação podem ser descritos através de modelos de redes complexas. Redes complexas podem ser separadas em quatro categorias: redes sociais, redes de informação, redes tecnológicas e redes biológicas. Todas elas apresentam características estruturais comuns, como as propriedades mundo pequeno e livre de escala. Entretanto, nós nessas redes podem não cooperar uns com os outros, apresentando um comportamento egoísta para economizar seus recursos. Além disso, a presença de nós maliciosos pode prejudicar a operação da rede, pois eles podem atacar a rede de diferentes maneiras como inserir, modificar ou eliminar informações Algoritmos de aproximação de confiança são um incentivo útil para encorajar nós egoístas a colaborarem, pois isolam nós maliciosos. Nós que evitam colaborar ou apresentam um comportamento egoísta possuem valores de cofiança baixos e podem ser penalizados, pois os outros nós na rede tendem a cooperar somente com nós com alto valor de confiança. Este trabalho apresenta um algoritmo que calcula o número de nós maliciosos e/ou nós egoístas em uma rede, baseado na visão local que cada nó tem em relação aos seus vizinhos. O algoritmo aproxima para o administrador da rede quais são esses nós. Resultados de simulações em redes complexas demonstram a efetividade da abordagem proposta
    corecore