Componentes em Esquema de
Tolerância a Faltas Adaptativa
Grupo de Pesquisa – Área de Informática
Tolerância a Faltas Adaptativa
Prof. Dr. Fábio Favarim favarim@utfpr.edu.br
Roteiro da Apresentação
• Introdução
• Tolerância a Faltas (TF)
– Tolerância a Faltas Adaptativa (TFA)
• Componentes de Software
• Componentes de Software
• Modelo TFA-CCM
Introdução
• Sistemas operam em ambientes dinâmicos - Internet • Aplicações distribuídas com requisitos de tolerância a
faltas são difíceis de serem construídas e mantidas • Tecnologia de componentes sendo utilizada em
tecnologias de middleware • Objetivos:
• Objetivos:
– Desenvolver um modelo de tolerância a faltas adaptativa fundamentado na tecnologia de componentes
• Explorar tecnologias de componentes em middleware • Aplicar técnicas de qualidade de serviço (QoS)
• Estudar técnicas de tolerância a faltas adaptativa
• A capacidade do sistema oferecer os serviços prestados mesmo na ocorrência de falhas parciais
• Redundância de hardware e replicação dos
serviços
• Uso de técnicas de replicação
Tolerância a Faltas
• Uso de técnicas de replicação
– Aumentam a disponibilidade dos recursos
– Na escolha de uma técnica deve ser considerado:
• A classe de falhas que se deseja tolerar • Características do sistema distribuído
• TF clássica não é adequada alocação de recursos para o pior caso
Tolerância a Faltas Adaptativa
• Uso de políticas dinâmicas faz melhor uso dos recursos disponíveis, aloca somente os recursos necessários
• Software adaptativo modifica seu
comportamento baseado nas mudanças do seu comportamento baseado nas mudanças do seu ambiente computacional.
• TFA= permite um sistema manter e melhorar a confiabilidade do sistema através da adaptação.
Componentes de Software
• Unidade de composição de software • Fronteiras bem definidas (interfaces)
• Executam uma atividade bem definida no sistema • Podem ser disponibilizados de forma independente • Sujeito a composição por terceiros
• Sujeito a composição por terceiros
• Configurados de acordo com a necessidade do usuário
• Mesma idéia da indústria trazida para a produção de software
Por que componentes?
• Reutilização de componentes
• Programação através de composição ao invés do desenvolvimento
• Uso de COTS (
Componet Off-The-Shelf
)redução do tempo de desenvolvimento redução do tempo de desenvolvimento • Redução do custo de desenvolvimento • Aumento da qualidade dos sistemas • Manutenção simplificada
• CCM (OMG), Enterprise JavaBeans (Sun), .NET
(Microsoft)
Componente CORBA
Facetas Receptáculos O F E R E C ID A S R E Q U E R ID A S Event sources Event sinks Atributos O F E R E C ID A S R E Q U E R ID A SInteração entre Componentes
– Facetas com receptáculos
TFA-CCM
• TFA-CCM –
Tolerância a Faltas Adaptativa baseada
no Modelo de Componentes
CORBA• Visa dar suporte de tolerância a faltas para aplicações baseadas em componentes CORBA • Apresenta soluções que integram requisitos de
QoS que guiam a configuração do serviços QoS que guiam a configuração do serviços replicados
• Consiste de um conjunto de componentes que juntos oferecem TFA para aplicações distribuídas • Esses componentes tem mecanismos capazes de
reconhecer a necessidade de reconfiguração e efetivação de mudanças no sistema.
Visão Geral
Sítio2 (primário) Sítio1 Cliente Sítio4 GTFA Conector Gerenciador de QoS Sítio3 (backup) QoS status Coordenador de Replicação Servidor (primário) state Agente de DF sync alive Sítio3 (backup) Coordenador de Replicação Servidor (backup) state Agente de DF sync alive fwd fwdConector
• Todo acesso a um componente replicado é feito através do conector
• Manipular as requisições dos clientes e reencaminha para as réplicas do servidor
• Fornecer uma maneira transparente de reconfigurar a aplicação.
Conector
a aplicação.
• Usa a faceta fwd do coordenador de replicação
para reencaminhar a requisição
Sítio2 (primário)
Sítio1 Sítio2 (primário)
Sítio1
Cliente Conector de ReplicaçãoCoordenador Servidor
Coordenador de Replicação
• Implementa os protocolos de coordenação das técnicas de replicação.
• Trocam informações de modo a manter a consistência das réplicas.
• Troca do coordenador = troca da técnica de replicação
• Técnicas
– Nenhuma – Passiva
– Semi-Ativa
• Usa invocação dinâmica para fazer as invocações dos métodos no componente replicado.
Coordenador de Replicação
Sítio1
Cliente
Conector
• A troca da técnica de replicação ou a troca do primário é transparente para o cliente
• Sem Replicação Sítio2 (primário) Coordenador de Replicação Servidor (primário) state Coordenador de Replicação sync fwd
Coordenador de Replicação
Sítio1 Cliente Conector • Replicação Passiva Sítio2 (primário) Coordenador de Replicação Servidor (primário) state sync Sítio3 (backup) Coordenador de Replicação Servidor (backup) state sync fwd fwdGerenciador de QoS
• Definir os requisitos de QoS relacionados a TF
• Os requisitos são especificados em níveis de QoS • Devido a mudanças no sistema pode ocorrer a
transição entre níveis.
• Níveis de QoS + transições = máquina de estados
Baixo * Médio Alto Replicação passiva 3 réplicas Timeout 100ms Checkpoint 250ms Replicação semi-ativa 5 réplicas Timeout 50ms Sem replicação Timeout 100ms 1 falha 2 falhas em 10s
Sem falhas em 10s Sem falhas em 30s
1 falha
GTFA
• GTFA Gerenciador de Tolerância a Faltas Adaptativa
• Responsável por escolher uma configuração e
efetuar as ações necessárias de modo a atender o nível de QoS selecionado
• Essas ações envolvem a implantação de novos • Essas ações envolvem a implantação de novos
componentes e a interconexão entre eles ferramenta de implantação
• As ações são ativadas por dados de monitoramento (agentes de DF) comparados com os requisitos do usuário
GTFA
• Mantém uma tabela com a visão global do sistema • A falha no GTFA pode comprometer o sistema
• O seu estado é armazenado em meio persistente. • Fornecer informações de status ao gerenciador
QoS (usa faceta status do Gerenciador de QoS) QoS (usa faceta status do Gerenciador de QoS)
• Na ausência dessas informações o Gerenciador de QoS suspeita da falha do GTFA e então pode
Agentes de Detecção de Falhas
• Detectar falhas nos componentes replicados e nos coordenadores de replicação
• Tem como premissas faltas de
crash
• A comunicação é assumida como confiável, tomando como base as propriedades do protocolo IIOP.
como base as propriedades do protocolo IIOP. • Uso do suporte de exceções do CORBA para
detectar se o alvo de uma invocação está respondendo.
Sítio2
Agentes de Detecção de Falhas
• Dois níveis de detecção:
– Nível de host – Nível de componente
Sítio2 Sítio4 Agente de DF alive GTFA QoS está vivo? Agente de DF
alive está vivo?
Coordenador de Replicação Servidor state sync fwd está vivo?
Resultados
• Tempo de resposta (média 1000 execuções)
TFA-CCM sem replicação Sem usar o TFA-CCM TFA-CCM c/replicação passiva TFA-CCM c/replicação semi-ativa
• Tempo médio p/implantar uma nova configuração* em outro sítio 320ms
• Tempo médio p/trocar de coordenador* 250ms • Redefinição líder semi-ativa < passiva
Conclusões
• Nenhum trabalho semelhante encontrado
• Exploração de algumas das possibilidades da tecnologia de componentes em tecnologias middleware.
• TFA-CCM: Adição rápida e eficiente de TF. • TFA-CCM: Adição rápida e eficiente de TF.
• Flexibilidade: a troca da técnica de replicação resulta em apenas trocar o coordenador.
• Testes realizados viabilidade mesmo com o aumento do custo de desempenho