Sistemas Distribuídos
Sistemas Distribuídos em Tempo
Daniel de Olivera Pereira 6427171Fabio Fernando de Lima Pereira 5889032Michael Lee 6426677
Sumário
O que é ?
Características
Tipos de Tarefas
Execução de Tarefas
Tipos de Falhas
Implentação
Previsibilidade
Técnicas para Tolerância a Falhas
Modelos de Falhas
Tratamento de Falhas
Sincronização
Sincronismo Interno x Externo
Vantagens
Desvantagens
O que é um Sistema Dístribuido de Tempo Real ?
Um sistema distribuído de tempo real pode ser definido como um sistema cujo funcionamento correto depende não apenas da correção realizadas, mas também do momento em que elas são finalizadas (Stankovic, 1988)
Características de SDTR
Deadline: é um intervalo de tempo, em que a tarefa tem que ser executada
Período: diz respeito as ativações das tarefas no sistema, pode ser: periódico, esporádicas ou aperiódicas
Jitter: é a variação máxima entre o tempo de execução entre duas tarefas
Características de SDTR
Interação Assíncrona entre os Processos: processos assíncronos se comunicam pela troca de mensagem através da comunicação entre os processos
Atraso de Comunicação e Race Condictions: tráfego imprevisível entre os nós da rede e o processos compartilham o mesmo recurso
Características de SDTR
Resultados não Determiníticos: podem gerar resultados diferentes sob mesmas entradas.
Estado Global: cada processador tem seu próprio clock, o que torna dificil determinar o estado global
Operação Contínua: para manter a operação normal dos ambientes fisícos controlados e estar pronto para qualquer operação anormal
Tipos de Tarefas de um SDTR
Hard Deadline: se a tarefa não for cumprida no prazo determinado pode acontecer uma falha fatal.
Soft Deadline: a falha no prazo da entrega é tolerado, há apenas uma degradação do serviço oferecido
Execução de Tarefas de um SDTR
Event-triggered: ativar as tarefas assim que os eventos associados a ela são percebidos pelo sistema.
Time-triggered: ativar as tarefas em tempos pré-determinados, independente da ocorrência do evento.
Tipo de Falhas
Defeito Funcional: quando os resultados de uma determinada tarefa são nulos
Defeito Temporal: quando um determinado resultado de uma tarefa esta infinitamente atrasado
Defeito Arbitrário: o sistema apresenta um comportamento imprevisível em ambas as dimensões
Implementação
Middleware: é um tipo de arquitetura que fornece uma abstração para o meio intermediário entre o ambiente de execução e aplicação, permitindo estipular um conjunto de serviços para múltiplos processos
Tipo de Linguagem:
-Timber
-Alert
-Real Time Java
Previsibilidade
Métodos Formais: conjunto de linguagens, técnicas e ferramentas baseadas em modelos matemáticos, destinados a fornecer um padrão rigoroso de modelagem e análise de sistemas computacionais
Técnicas para Tolerância de Falhas
Critérios para avaliar o grau de segurança: Reliability: serviço continuado Availability: disponibilidade do serviço Maintainability: tempo de reparo Safety: confiabilidade no modos de falhas Security: autenticidade, confidencialidade
Modelos de Falhas
Independente da origem, as falhas são classificadas de acordo com o comportamento após a falha:
Fail-stop :para de gerar qualquer resultado mas a falha é percebida
Fail-generalized:valores gerados de forma errada, requisitos temporais podem ser violados
Fail-safe: um estado seguro quando não podem operar
Tratamento de Falhas
Redundancia Temporal: repetição do procedimento
Redundancia Espacial: a ação critíca é executada por vários componente replicados
Error Recorvery: realizar o processamento que possa recuperar o sistema do estado de erro
Error Compensation: compensar o erro através do uso de redundância
Tratamentos de Falhas
Há fases básicas: Error Detection (Detecção de Erro) Damage Confinement (Confidenciamento dos
efeitos de propagação do erro) Error Processing (Processamento do Erro)
Sincronização
Num sistema distribuído, no qual várias máquinas podem participar do processamento de uma mesma tarefa, é necessário que os relógios das máquinas estejam sincronizados.
Relógio lógico: quando o tempo a ser medido é relativo.
Relógio físico: quando o tempo a ser medido é absoluto.
Sincronismo Interno x Externo
Interno: utilizado quando apenas um relógio lógico é necessário. O relógio de uma máquina é utilizado como referência e todos os outros são sincronizados a ele.
Externo: utilizado quando é necessário um relógio físico. Todos os relógios são sincronizados ao UTC utilizando NTP
Vantagens do SDTR
Melhora o tempo de resposta do sistema, ao distribuir o processamento entre várias máquinas.
Aumenta a disponibilidade do sistema, ao inserir elementos redundantes, reduzindo o risco de falha.
Desvantagens do SDTR
Dificuldade de estabelecer e manter o sincronismo entre os elementos do sistema.
Maior dificuldade em particionar e alocar e tarefas entre os elementos do sistema.
Maior dificuldade em implementar a atomicidade de operações.
Dificuldade em determinar o estado global do sistema.
Dúvidas
?
Top Related