Abordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos

Documentos relacionados
Desvendando RingPaxos: Um protocolo para alta taxa de transferência de dados e difusão atômica em sistemas distribuídos.

Sistemas Distribuídos

Conceitos de Sistemas Distribuídos

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

(Broadcast - um emissor envia a mensagem para todos os nós do sistema) Multicast um emissor, um grupo de processos como receptores

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios

Sistemas distribuídos. Prof. Emiliano Monteiro

Sistemas Distribuídos

BARRAMENTOS DO SISTEMA FELIPE G. TORRES

Sistemas Distribuídos. 7 Coordenação e Acordo. Coordenação e Acordo. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

AULA ANTERIOR: MODELOS FUNDAMENTAIS

Redes P2P Gnutella e Simuladores

Introdução aos Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas de Entrada e Saída

Computação Distribuída

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Barramento. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores I

SISTEMAS DISTRIBUÍDOS

Sistema de Software Distribuído

Comunicação de Dados II

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

PROGRAMA DE DISCIPLINA

Sistemas Distribuídos Capítulo 8 - Aula 13

Características de Sistemas Distribuídos

Sistemas Distribuidos. Prof. Walter Gima

Definição Rede Computadores

Sistemas Distribuídos

Rede de computadores Protocolos UDP. Professor Carlos Muniz

STD29006 Sistemas Distribuídos

REDES DE COMPUTADORES. Infraestrutura de Redes de Computadores

Sistemas Distribuídos Capítulo 8 - Aula 14

Protocolo Request-Reply

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

Capítulo 5. A camada de rede

SO: SISTEMAS OPERACIONAIS Curso: Sistemas de Informação

Dados em programas são estruturados, enquanto que mensagens carregam informação seqüencial: Linearização x Restauração de dados Requisição

SISTEMAS DISTRIBUÍDOS

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas de Entrada e Saída

Caracterização de Sistemas Distribuídos

Sistemas Distribuídos. Capítulo 6 - Aula 10

Introdução à Computação

SISTEMAS DISTRIBUÍDOS

falhas em sistemas distribuídos

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica PLANO DE ENSINO. Revisão 7-17/02/16

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Organização de Computadores I

Leandro Soares de Sousa (DSc.) Página:

Aula 1 Conceitos Básicos

Métricas de Roteamento para Redes em Malha Sem Fio

Topologias de Arquiteturas de Comunicação

SISTEMAS DISTRIBUÍDOS

Universidade Federal do Maranhão

Arquitetura e organização de computadores

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

5 Fidedignidade Disponibilidade Confiabilidade Segurança Proteção Privacidade Integridade

Tecnologia em Sistemas para Internet Redes de Computadores e Aplicações

Introdução as Redes de Computadores

Backup e Restauração Banco de Dados. Evandro Deliberal

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Sincronização em Sistemas Distribuídos

Curso de Programação Distribuída e Paralela 29/09/2008. Informática UFRGS. Sistemas Operacionais II (C. Geyer) Sincronização 1. Pg.

Plano de Trabalho Docente Ensino Técnico

AULA 04 CONCEITOS DA CAMADA 02 PARTE 02

As Visões. Visões arquiteturais (revisão)

REDES DE COMPUTADORES

Sistemas Distribuídos

I/O para Dispositivos Externos e Outros Computadores. Redes de Interconexão. Redes de Interconexão. Redes de Computadores Correntes

Concorrência em Processos

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers

CST em Redes de Computadores

Comunicação de Grupo: Disfusão Confiável e Atômica

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Escalonamento em Sistemas Distribuídos

Sistemas Operacionais Distribuídos

Sistema de arquivos Distribuidos

Características de Sistemas Distribuídos

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Introdução Sincronização Interna Sincronização Externa. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas Operacionais. Entrada/Saída

Transmissão Multicast Confiável e Experimentos na Internet

Sistemas Operacionais Distribuídos e de Redes

Topologia de Redes. Alberto Felipe Friderichs Barros

Sistemas Operacionais II

Um esquema de otimização do protocolo RLSMP usando broadcast atômico na atualização de células líderes

Replicação em sistemas web

CCNA 1 Comutação Ethernet. Kraemer

Transcrição:

Abordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos Cristian Cleder Machado Disciplina de Programação com Objetos Distribuídos TF Professor: Cláudio Fernando Resin Geyer cristian@cristian.com.br Porto Alegre, 10 de Julho de 2012

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

INTRODUÇÃO Acelerado crescimento na utilização de Rede de Computadores e Sistemas Distribuídos. Redes e Sistemas, tornam-se demasiadamente maiores, complexos e poderosos. Alto desempenho e disponibilidade são pontos inextricáveis. LibPaxos2 e RingPaxos. Execuções propõem eficiência, escalabilidade e confiabilidade para problemas de consenso e implementação de difusão atômica. 4

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

OBJETIVOS E PROPOSTA Estudo, Instalação e Testes; Análise de diferentes aspectos (quantidade de nós, heterogeneidade, escalabilidade); Utilização de benchmarks e ferramentas para medição de desempenho; Realização de paradas propositais na estrutura de comunicação de determinados processos executados em distintos nodes. 6

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Sistemas Distribuídos) Segundo Coulouris define-se Sistemas Distribuídos como Um sistema no qual os componentes de hardware ou software, localizados em computadores interligados em rede, se comunicam e coordenam suas ações apenas trocando mensagens entre si. 8

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Tolerância à Falhas) Tolerância a falhas é definida como a característica que assume que softwares ou hardwares permaneçam funcionando normalmente após falhas em alguns de seus componentes/serviços. 9

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Consenso) Consenso é o processo de chegar ao acordo sobre um resultado entre um grupo de participantes, para isso, todos os elementos precisam ter as mesmas informações sobre as quais deve-se aplicar um mesmo algoritmo de decisão. 10

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Consenso) Consenso possui as seguintes propriedades: Terminação - Todo processo em algum momento decide por um valor; Integridade Uniforme - Todo processo decide no máximo uma vez; Acordo - Dois processos corretos não decidem por valores diferentes. 11

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Difusão Atômica) Admite que diferentes processos recebam uma série ordenada de valores. Muito favorável para concretizar a exclusão mútua distribuída ou para sustentar dados replicados com equivalência. 12

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Difusão Atômica) Suas propriedades formais determinam: Validade - Se um processo envia por difusão uma mensagem m, então ele em algum momento entrega m; Acordo - Se um processo correto entrega uma mensagem m, então todo processo correto entrega m em algum momento; 13

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Difusão Atômica) Integridade - Para cada mensagem m, todo processo correto entrega m no máximo uma vez, e somente se m foi enviada anteriormente por algum processo; e Ordem Total - Se dois processos corretos p e q entregam duas mensagens m e m0, então p entrega m antes de m0 se e somente se q entrega m antes de m0. 14

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Multicast) Envio de informação para diversos destinatários ao mesmo tempo utilizando interconexão para distribuição dos pacotes, tirando assim, o trabalho de envio do emissor. 15

Exemplo de um envio Multicast 16

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Unicast) É um endereçamento para um pacote feito para um único destino, ou seja, entrega ponto-aponto. 17

Exemplo de um envio Unicast 18

CONCEITOS, DEFINIÇÕES E PROPRIEDADES (Topologia em Anel) A topologia de rede em anel consiste em computadores interligados através de um circuito fechado, em série. 19

Exemplo de topologia em Anél 20

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

LIB PAXOS E RING PAXOS (Paxos) Resolver problemas de consenso; Implementar difusão atômica em uma rede de processadores não-confiáveis; Utilizados em situações que requerem a durabilidade, por exemplo, para replicar um sistema de arquivos distribuídos ou um banco de dados. 22

LIB PAXOS E RING PAXOS (Paxos) Escrito Linguagem C; LibEvent - Biblioteca assíncrona para notificação de eventos; Berkeley DB - Biblioteca que proporciona o gerenciamento e alta performance de dados em banco de dados complexos. 23

LIB PAXOS E RING PAXOS (Paxos) Processos possuem os seguintes papéis: Client - Usam Paxos como meio de comunicação confiável; Proposer - Podem propor valores; Learner - Aprendem o valor escolhido. Acceptor - Cooperam para escolher um valor; 24

LIB PAXOS E RING PAXOS (Paxos) ErlangPaxos - Um "simulador" Paxos que permite injetar eventos específicos, tais como, perda de mensagens, acidente processo, particionamento de rede, etc. 25

LIB PAXOS E RING PAXOS (Paxos) LibPaxos-T Escrito em C; Biblioteca Pthread (Problema custo do tempo de chamadas consideravelmente entre S.O.). 26

LIB PAXOS E RING PAXOS (Paxos) LibFastPaxos Multicast, LibEvent e Berkeley DB; Desenvolvido para entender melhor a perda de desempenho com o número crescente de Proposers. 27

LIB PAXOS E RING PAXOS (LibPaxos) LibPaxos é uma coleção de implementações de código aberto do algoritmo de Paxos. 28

LIB PAXOS E RING PAXOS (LibPaxos2) LibPaxos2 Uma versão melhorada do LibPaxos; Eleição do líder; e Otimizações de protocolo. 29

LIB PAXOS E RING PAXOS (LibPaxos2) RingPaxos Alto rendimento (entrega aprox. 800Mbit/s); Propõe processos sem falhas; Sem perda de mensagens; Anel lógico para comunicação dos Acceptors. 30

Exemplo de funcionamento dos processo em LibPaxos(a) e RingPaxos(b) 31

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

Estrutura de testes Nome Conf1 Conf2 Conf3 Conf4 Conf5 Equipamento P4 P4 P4 ML110 ML110 P4 Processadores 1 1 1 1 1 1 Cores 1 1 1 4 4 1 Clock 1.7Ghz 1.7 Ghz 1.7 Ghz 2.4Ghz 2.4Ghz 1.7 Ghz Memória 1Gb 1Gb 1Gb 8Gb 8Gb 1Gb Acceptors 3 7 7 3 3 5 Learners 2 1 1 1 1 4 Proposers 1 1 1 1 1 Quórum 2 5 2 2 4 S.O. Ubuntu 11.10 33

Parâmetros obrigatórios Item Descrição Exemplo multicast IP e Porta do endereço Multicast. Multicast 224.0.0.1 6667 acceptor p1_interval p2_interval quorum_size Contém o nome, que por padrão deve ser Acceptor; seu id no anel; porta no anel e porta de conexão do Learner. Intervalo de tempo antes do líder executar algum processo na fase 1. São dois valores, sendo o primeiro em segundos e o segundo em microssegundos. Intervalo de tempo antes do líder executar algum processo na fase 2. São dois valores, sendo o primeiro em segundos e o segundo em microssegundos. Determina o número de Acceptors necessários para que uma decisão seja considerada bem sucedida pelo líder. Acceptor 1 10.1.255.1 7771 5551 1 0 p1_interval 1 0 p2_interval quorum_size 2 34

ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES IMPORTANTE: Algumas características do sistema operacional, como tamanho do buffer do kernel, MTU, etc., podem influenciar na execução do algoritmo, porém não foram alterados nos testes. 35

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

METODOLOGIAS Alteração dos parâmetros para execução de cada processo, seja, Learner, Acceptor ou Proposer; O benchmark - Submete diversos valores randômicos à uma taxa fixa, que foi alterada em outros testes; Testes realizados 10 vezes para cada estrutura e/ou situação estabelecida; 37

METODOLOGIAS Execuções eram alternadas entre os números de Acceptors, Learners e Proposers; As ferramentas TOP e Indicator-Multiload foram utilizadas para medição do tráfego de rede, do consumo de CPU e utilização de memória. 38

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

RESULTADOS E DISCUSSÕES (GERAL) A arquitetura do computador, configuração do Sistema Operacional e a estrutura da rede influenciam para a execução e desempenho do algoritmo. 40

Arquivo de testes de estrutura Testes com erro Testes com sucesso 41

Latência em milissegundos Taxa de latência no RingPaxos com troca de switch e aumento de Acceptors 30 Média de Latência RingPaxos 25 24 20 15 10 11 18 10 16 Cisco Micronet 5 7 0 3 5 7 Número de Acceptors 42

Latência em milissegundos Taxa de latência no LibPaxos com troca de switch e aumento de Acceptors 6 Média de Latência LibPaxos 5 5,3 4 3 2 2,4 3 Cisco Micronet 1 0,8 1 1,2 0 3 5 7 Número de Acceptors 43

RESULTADOS E DISCUSSÕES (GERAL) Inicialização possui sequência lógica (Acceptor n, Learner n e Proposer n); OBS: Em RingPaxos tem-se o cuidado da ordem dos Acceptors. 44

Apresentação de uma tela com 6 A, 1 L e 1 P; 45

RESULTADOS E DISCUSSÕES (GERAL) A adição de Acceptors Não pode ser realizada durante a execução, pois são fixados no arquivo de parâmetros. IMPORTANTE: Em RingPaxos o Acceptor 1 é o Coordinator/Leader das rodadas. 46

RESULTADOS E DISCUSSÕES (GERAL) A adição de Learners Solicita todos os valores propostos; Não aparentou nenhum problema; Talvez, se o futuro = tempo muito longo, algum problema poderia surgir devido ao limite de armazenamento dos valores decididos. 47

RESULTADOS E DISCUSSÕES (LibPaxos2) A adição de Proposers Fica em modo de espera até o Proposer 1 parar ou cair, posteriormente, propõe ou assume as rodadas. OBS: Em LibPaxos Proposer é o Coordinator/Leader das rodadas. 48

RESULTADOS E DISCUSSÕES (RingPaxos) A adição de Proposers Resulta em queda do primeiro e parada do sistema; Porém, ao fim da execução de um Proposer, a execução de um Proposer novo pode ser realizada após término da execução do primeiro. 49

RESULTADOS E DISCUSSÕES (LibPaxos2) A falha de Acceptors O Sistema continua normalmente devido a comunicação Multicast e ao Quórum, este sendo maior ou igual ao número de Acceptors Ativos. 50

RESULTADOS E DISCUSSÕES (RingPaxos) A falha de Acceptors Falha no sistema devido a topologia em Anel; Algum tipo de mecanismo externo pode ser programado para substituição de Acceptors durante a execução. 51

Referente ao consumo de CPU Consumo de CPU por processo numa execução Learner 19% Acceptor 17% Proposer 19% Leader 45% 52

Referente ao consumo de memória Consumo de memória por processo numa execução Acceptor 20% Learner 20% Proposer 20% Leader 40% 53

Utilização da rede no Acceptor 1 54

Falha do Leader 55

RESULTADOS E DISCUSSÕES (GERAL) Gargalos O Acceptor após receber a decisão de mensagem tem que gravar o estado em disco. MTU e Buffer do Sistema ou do Switch. 56

RESULTADOS E DISCUSSÕES (GERAL) Transmissão ou Retransmissão de mensagens. A configuração errada dos parâmetros de intervalo podem causar problemas na estrutura; O aumento do buffer do kernel pode aumentar a performance ou diminuí-la, caso não seja bem estudado; 57

RESULTADOS E DISCUSSÕES (GERAL) Heterogeneidade Diferenças de hardware podem influenciar muito no desempenho; Modelos de placas de rede e switches podem influenciar no desempenho; 58

INTRODUÇÃO OBJETIVOS E PROPOSTA CONCEITOS, DEFINIÇÕES E PROPRIEDADES LIB PAXOS E RING PAXOS ESTRUTURAS, ARQUITETURAS E CONFIGURAÇÕES METODOLOGIAS RESULTADOS E DISCUSSÕES CONCLUSÕES

CONCLUSÕES RingPaxos obteve alta performance na execução em uma rede confiável; LibPaxos2 tem melhor comportamento quanto a falhas dos nodes; RingPaxos e LibPaxos2 demonstraram escalabilidade na adição de novos nodes; 60

CONCLUSÕES Para implementar LibPaxos2 ou RingPaxos é necessário resolver uma série de questões que são externas ao algoritmo. Supostamente, opções de design não se tornam evidentes antes de perceber para que tipo de aplicação LibPaxos2 ou RingPaxos vai ser usado. 61

CONCLUSÕES A escolha dos equipamentos, configurações e até mesmo modificações de parte do sistema influenciam muito nos resultados. Por esta razão deve-se considerar essas questões com antecedência e em tempo de design. 62

CONCLUSÕES Alguns parâmetros do algoritmo tornam o mesmo imprevisível. Dois parâmetros importantes são os intervalos de tempo utilizados para os timeouts da fase 1 e fase 2. 63

CONCLUSÕES A implantação de um sistema de mudança de líder em RingPaxos tornar o sistema mais confiável; O redirecionamento dos tráfegos de um Acceptor que falhar para o próximo pode tornar RingPaxos mais robusto; 64

CONCLUSÕES Um detector de fluxo poderia controlar as retransmissões para não gerar mais tráfego; 65

CONCLUSÕES Maiores estudos, utilização de ferramentas e criação de benchmarks podem retornar resultados mais precisos, juntamente com o aumento de nodes, troca de equipamentos, entre outros. 66

REFERÊNCIAS Distributed Operating Systems. A. S. Tanenbaum. Prentice- Hall, 1995. ISBN 0-13-219908-4. (Seções 2.4 e 2.5). Erlang. http://www.erlang.org. G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems: Concepts and Design. Addison-Wesley, 1994. ISBN 0-201-62433-8. (Capítulos 4 e 5). LibPaxos. Disponível em http://libpaxos.sourceforge.net/paxos_projects.php 67

REFERÊNCIAS Ring Paxos: A High-Throughput Atomic Broadcast Protocol. Disponível em http://www.inf.usi.ch/faculty/pedone/paper/2010/2010dsn.pdf. T. D. Chandra and S. Toueg. Unreliable failure detectors for reliable distributed systems. J. ACM, 43(2):225 267, 1996. TANEMBAUM, Andrew S. Redes de Computadores. Rio de Janeiro: Ed. Campus, 5ª edição, 2011. Vídeo de Apresentação na Google Zurich: http://www.youtube.com/watch?v=xxwuejlh54k 68

Perguntas? Abordagem, Instalação e Realização de benchmarks para LibPaxos2 e RingPaxos Obrigado! Cristian Cleder Machado Disciplina de Programação com Objetos Distribuídos TF Professor: Cláudio Fernando Resin Geyer cristian@cristian.com.br Porto Alegre, 10 de Julho de 2012