rafael oliveira vasconcelos1,2 - sbrc 2016• vazão reduzida em no máximo 0.07% durante...

28
Laboratory for Advanced Collaboration LAC Supporting Dynamic Reconfiguration in Distributed Data Stream Systems Rafael Oliveira Vasconcelos 1,2 Igor Vasconcelos 1,2 Markus Endler 1 Sérgio Colcher 1 1 Departamento de Informática (DI) Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) 2 Universidade Tiradentes (UNIT) {rvasconcelos, ivasconcelos, endler, colcher}@inf.puc-rio.br

Upload: others

Post on 24-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

Laboratory for Advanced Collaboration

LAC

Supporting Dynamic Reconfiguration in

Distributed Data Stream Systems

Rafael Oliveira Vasconcelos1,2

Igor Vasconcelos1,2

Markus Endler1

Sérgio Colcher1

1Departamento de Informática (DI)

Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)

2Universidade Tiradentes (UNIT)

{rvasconcelos, ivasconcelos, endler, colcher}@inf.puc-rio.br

Page 2: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

2

Agenda

Introdução

Fundamentação Teórica

Abordagem

Avaliação Preliminar

Conclusão

2

Page 3: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

3

Motivação

Sistemas com operação 24/7

Interrupções não são aceitáveis

Mudanças nos requisitos e ambiente de execução

Dificuldade de serem previstas em tempo de projeto

3[1] Nispen, E. Van (2015). HP Helion - Delivering on the Promise of Hybrid Cloud. http://www.slideshare.net/CopacoNederland/hp-helion-copaco-cloud-event-2015-breakout-4, [accessed on Mar 21].

Fonte: [1]

Page 4: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

4

Motivação

Adaptação dinâmica de software é uma tarefa desafiadora

Abordagens anteriores requerem uso de hardware adicional

Sistemas de processamento de fluxo de dados

Processamento contínuo e online

Dispositivos móveis

4

Page 5: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

5

Objetivo e Contribuições

Objetivo

Desenvolver uma abordagem não bloqueante para reconfiguração dinâmica que preserva a

consistência global em sistemas de processamento de fluxo de dados distribuídos

Contribuições

O estudo de um mecanismo para garantir reconfiguração consistente e não bloqueante de

sistemas de processamento de fluxo de dados distribuídos com suporte a nós móveis

Um protótipo de middleware que implementa o mecanismo

Experimentos que validam solução proposta

5

Page 6: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

6

Cenário Motivador

Aplicação colaborativa móvel para compartilhamento da qualidade

de rotas de bicicleta

Decomposição dos componentes

Implantação do sistema

6

Page 7: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

7

Fundamentação Teórica

Processamento de fluxo de dados

O sistema deve

• Manter os dados em movimento

• Gerar resultados previsíveis

• Garantir a disponibilidade dos dados

• Processar e responder rapidamente

A plataforma de reconfiguração deve

• Ser confiável

– Não produzir resultados errôneos e impactar a disponibilidade do sistema

• Não interromper ou bloquear o fluxo de dados

7

source

sink

data

Page 8: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

8

Fundamentação Teórica

Modelo do sistema

Grafo acíclico direcionado G = (V, E)

• Vértice representa um operador (i.e., um componente)

– Funções fseleção, fsaída e fatualização

• Aresta representa um canal de fluxo (i.e., stream channel)

– Aresta e = (v1, v2)

• Tupla t = (valor, caminho*)

– Tupla do vértice fonte VF1 para o vértice consumidor VC1 através dos operadores O1 e O2

– Caminho de t ao chegar em VC1 = {VF1, O1, O2}

8

Page 9: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

9

Fundamentação Teórica

Trabalhos Relacionados

9

Critério (Ertel & Felber, 2014) (Ma et al., 2011) (Ghafari et al., 2012a) Abordagem proposta

Interrupção Requer parada do componente e transferência

do estado

Versões antiga e nova executam em paralelo

Versões antiga e nova executam em paralelo

Múltiplas versões executam em paralelo

Método de reconfiguração Uso de marker para troca de versão, reconf. transacional

Uso de grafo para atualização gradativa

Uso de timestamp para atualização gradativa

Uso de função de seleção e marker para atualização

gradativa

Suporte a múltiplas instâncias

Sim Não Não Sim

Distribuído Sim Não Não Sim

Suporte a nós móveis Não Não Não Sim

Reconfiguração progressiva

Não Sim Sim Sim

Page 10: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

10

Abordagem Proposta

Componentes com múltiplas versões

Dado produzido deve ser processado por uma versão específica de cada

componente

Componente

• Pode ser atualizado enquanto fluxo de dados está em movimento

• Tem uma ou mais funções fseleção, fatualização e fsaída

Função fseleção escolhe a fatualização correta para processar a tupla

• Uso do caminho da tupla

10

Page 11: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

11

Abordagem Proposta

Gerenciamento de dependência

Gerenciamento estático

• Fluxo parcial

• Fluxo com sistema parcialmente reconfigurado

11

Page 12: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

12

Abordagem Proposta

Gerenciamento de dependência

Gerenciamento estático

• Vantagens

– Simplicidade

– Custo computacional

– Alteração de dependência (e.g., inserção ou remoção de componentes) não afeta a

reconfiguração

• Desvantagens

– Caminho de execução grande pode degradar o desempenho do sistema por conta dos

custos de rede e memória

12

Page 13: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

13

Abordagem Proposta

Gerenciamento de dependência

Gerenciamento dinâmico

• Adiciona versão somente se houver algum componente downstream dependente

• Remove as versões que não têm mais um componente downstream dependente

13

Page 14: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

14

Abordagem Proposta

Gerenciamento de dependência

Gerenciamento dinâmico

• Vantagens

– Caminho de execução reduzido

» Não desperdiça rede e memória visto que o caminho de execução contém

apenas informação útil

• Desvantagens

– Custo para manter o caminho de execução o mais curto possível e a consistência do

sistema quando a dependência de parte do sistema é alterada

14

Page 15: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

15

Abordagem Proposta

Reconfiguração Distribuída Multi-Instância

Atualização gradativa

• Versão antiga de componente downstream removida após atualização dos componentes

upstream

15Reconfiguração parcial inconsistente

Page 16: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

16

Abordagem Proposta

Reconfiguração Distribuída Multi-Instância

Atualização gradativa

• Versão antiga de componente downstream removida após atualização dos componentes

upstream

16Reconfiguração parcial consistente

Page 17: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

17

Abordagem Proposta

Reconfiguração Distribuída Multi-Instância

Remoção utilizando marcadores

• Componente adiciona marcador em todas suas portas de saída

17Sistema reconfigurado

Page 18: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

18

Abordagem Proposta

Reconfiguração Distribuída Multi-Instância

Nó com conexão intermitente

• Reconfiguração adiada até a conexão ser reestabelecida

Desconexão (permanente) de nó causa sua remoção do sistema

18

Page 19: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

19

Avaliação Preliminar

Métricas

Tempo de atualização

Interrupção do serviço

Desconexão de nós móveis

Configuração dos testes

19

802.11n routerIntel i5 M480, 8GB RAM

Intel i5-3210M, 8GB RAM

Page 20: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

20

Avaliação Preliminar

Configuração dos testes

Variação do:

• Número de clientes

– 1, 10, 100 e 1.000

• Taxa de produção de tuplas do sistema (tuplas/s)

– 10, 100 e 1.000

20

Page 21: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

21

Avaliação Preliminar

Aplicação protótipo

Modelo de componentes

Reconfiguração

• Codificação de ISO-8859-1 para UTF-16

21

Page 22: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

22

Avaliação Preliminar

Aplicação protótipo

Implantação dos componentes

22

Page 23: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

23

Avaliação Preliminar

Resultados

Tempo de atualização

23

# CNsTaxa de Produção de

Tuplas (tuplas/s)

Tempo de

Atualização (ms)

1 10 10,05

10 10 9,86

100 10 10,77

1.000 10 10,37

1 100 9,64

10 100 10,01

100 100 9,87

1.000 100 10,49

1 1.000 10,39

10 1.000 10,72

100 1.000 11,02

1.000 1.000 11,88

Page 24: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

24

Avaliação Preliminar

Resultados

Interrupção do serviço

• Vazão não afetada durante a reconfiguração em 2 dos 4 testes

24

Cenário com 1 CN e 1.000 tuplas/s Cenário com 100 CNs e 1.000 tuplas/s

Page 25: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

25

Avaliação Preliminar

Resultados

Interrupção do serviço

• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes

25

Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000 CNs e 1.000 tuplas/s

Page 26: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

26

Avaliação Preliminar

Resultados

Desconexão de nós móveis

26

# CNsTaxa de Produção de

Tuplas (tuplas/s)

Tempo de

Reconexão (ms)

1.000 1.000 31,50

Page 27: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

27

Conclusão

Aplicações 24/7

Processamento de fluxo de dados

Interrupções não são aceitáveis

Necessidade do sistema evoluir

Abordagem distribuída com múltiplas versões em paralelo

Remoção segura de componente

Suporte a dispositivos móveis

Avaliação preliminar

27

Page 28: Rafael Oliveira Vasconcelos1,2 - SBRC 2016• Vazão reduzida em no máximo 0.07% durante reconfiguração em 2 dos 4 testes 25 Cenário com 10 CNs e 1.000 tuplas/s Cenário com 1.000

28

Obrigado!

Q&A

Para mais informações:

[email protected]

[email protected]

www.lac.inf.puc-rio.br