A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Distribuídos de Tempo Real

Apresentações semelhantes


Apresentação em tema: "Sistemas Distribuídos de Tempo Real"— Transcrição da apresentação:

1 Sistemas Distribuídos de Tempo Real
Erian Bordin Geovana de Mello Espírito Santo Henrique Canto Duarte Leonardo Akira Endo Wesseling

2 Tópicos Sistemas de Tempo Real Sistemas Distribuídos de Tempo Real
Falhas Implementação Geovana Sistemas Distribuídos de Tempo Real

3 Sistemas de Tempo Real

4 Sistemas de Tempo Real “Um sistema cujo funcionamento correto depende não apenas da correção das tarefas realizadas, mas também do momento em que elas são finalizadas” (Stankovic, 1988). Geovana Sistemas Distribuídos de Tempo Real

5 Sistemas de Tempo Real Sistemas Não Críticos Processamento Bancário
Vídeogames Teleconferências Aplicações de Multimídia Controladores Inteligentes embutidos em utilidades domésticas, tais como lavadoras de roupa. Geovana Sistemas Distribuídos de Tempo Real

6 Sistemas de Tempo Real Sistemas Críticos Controle de Tráfego Aéreo
Sinalização de Ferrovia Controle de Planta Nuclear e Química Sistemas de Defesa Militar Monitoramento de Pacientes Sistemas Embarcados em robôs e veículos. Geovana Sistemas Distribuídos de Tempo Real

7 Previsibilidade Comportamento Funcional e Temporal pode ser de algum modo antecipado ou previsto. Envolve uma série de técnicas que vão desde a especificação e verificação formal do sistema até o gerenciamento adequado dos recursos disponíveis . A previsibilidade é um dos aspectos mais importantes de um sistema de tempo real! Geovana Sistemas Distribuídos de Tempo Real

8 Sistemas Distribuídos de Tempo Real

9 Sistemas Distribuídos de Tempo Real
Por que exatamente sistemas distribuídos de tempo real? 1. Localização: Muitas vezes o processamento precisa ser feito próximo ao sensor ou atuador e também estar em rede. Ex: robôs, aeronaves, etc. 2. Confiabilidade: replicação de recursos computacionais permite tolerância a falhas, algo desejável também em sistemas em tempo real. 3. Alto throughput (paralelização de processamento). Leonardo Sistemas Distribuídos de Tempo Real

10 Sistemas Distribuídos de Tempo Real
Características destes sistemas são derivadas de especificações que podem vir de leis da natureza, teoria matemática, limitação de componentes, etc. Exemplos: Certas tarefas só podem ser executadas em um mesmo processador por questões funcionais, segurança ou performance. Tarefas idênticas precisam ser executadas em processadores diferentes por tolerância a falhas ou performance. Exclusão: Certos trechos de código precisam ser executados sem interrupção Restrições de tempo: Como qualquer sistema de tempo real, certas tarefas tem que conseguir serem realizadas independentemente de quaisquer atrasos provenientes do sistema distribuído (atrasos por comunicação, possivelmente race conditions e outros). Leonardo Sistemas Distribuídos de Tempo Real

11 Sistemas Distribuídos de Tempo Real
Como vemos, para satisfazer essas e outras características, os sistemas distribuídos podem se tornar bastante complexos de se gerenciar. Como manter o cumprimento das exigências dos sistemas de tempo real em ambientes usualmente heterogêneos e muito mais sujeitos a falhas e atrasos como os de sistemas distribuídos? Leonardo Sistemas Distribuídos de Tempo Real

12 Sistemas Distribuídos de Tempo Real
3 capacidades básicas de um sistema que precisam ser fornecidas: Comunicações entre threads em execução. Sincronização de eventos. Latência controlada e uso eficiente dos recursos de rede. Tipicamente usa-se um middleware comercial para prover-se essas necessidades do sistema. Leonardo Sistemas Distribuídos de Tempo Real

13 Sistemas Distribuídos de Tempo Real
DDS (Data Distributions Service): Implementa o modelo publish/subscribe, onde nós que produzem informações (publishers) criam “tópicos” e publicam “amostras”. O DDS encarrega-se de entregar as amostras para todos os nós interessados nestes, chamados subscribers. O DDS cuida de todos os aspectos da transmissão e mensage: endereçamento de mensagem, data marshalling e demarshalling (permitindo que subscribers trabalhem em plataformas diferentes dos publishers, flow control, o que acontece caso ocorra falha na entrega de mensagens, etc. Leonardo Sistemas Distribuídos de Tempo Real

14 Sistemas Distribuídos de Tempo Real
O DDS permite ao usuário especificar parâmetro de QoS (Quality of Service). QoS traz à aplicação meios de explicitamente definir o nível de serviço (prioridade, confiabilidade, performance, etc.) . => Latência controlada e uso eficiente dos recursos de rede Outra grande vantagem de se usar um middleware como o DDS é a facilidade que ele provê através de suas interfaces de interfacear, integrar, debugar e manter o sistema como um todo. Leonardo Sistemas Distribuídos de Tempo Real

15 Sistemas Distribuídos de Tempo Real
Leonardo Sistemas Distribuídos de Tempo Real

16 Falhas

17 Falhas Pode gerar danos sérios em: Sistemas Nucleares Robótica
Aeronaves Henrique Sistemas Distribuídos de Tempo Real

18 Tipos de Falhas Falha de Rede Falhas Físicas Falha de Processador
Falha de Processos Henrique Sistemas Distribuídos de Tempo Real

19 Tipos de Falhas – Temporização
Falha de Omissão Falha de Temporização Falha de Sincronização Henrique Sistemas Distribuídos de Tempo Real

20 Tipos de Falhas – Perenidade
Permanente Intermitente Transiente Henrique Sistemas Distribuídos de Tempo Real

21 Detecção de Falhas Selecionar um detector de falhas é uma tarefa difícil Para que uma técnica de tolerância seja aplicada é necessário detectá-la Henrique Sistemas Distribuídos de Tempo Real

22 Tolerância a Falhas Existem diversas abordagens
São escolhidas de acordo com o comportamento do sistema Henrique Sistemas Distribuídos de Tempo Real

23 Replicação Baseada na replicação de recursos Henrique
Sistemas Distribuídos de Tempo Real

24 Check-Pointing Armazenamento do estado total de uma tarefa
Pode ser dividido em: Coordenado Não-coordenado Induzido a comunicação Quanto ao escopo: Local Global Henrique Sistemas Distribuídos de Tempo Real

25 Implementação

26 Implementação Requisitos Funcionais: atender às tarefas propostas
Temporais: atendê-las dentro do prazo estipulado Geovana Sistemas Distribuídos de Tempo Real

27 Implementação Desafios Heterogeneidade Marshaling
Little-endian / Big-endian Ponto flutuante Código de caracteres (ASCII ou EBCDIC) Marshaling empacotamento de dados em forma de mensagens Geovana Sistemas Distribuídos de Tempo Real

28 Implementação Ferramentas Middleware Linguagens de programação
camada de software que oferece abstrações de alto nível, fornecendo uma visão uniforme na utilização de recursos heterogêneos e um modelo de programação mais produtivo para os desenvolvedores CORBA Linguagens de programação Java: Sockets, Servlets, Real Time, RMI, Jini Pearl Geovana Sistemas Distribuídos de Tempo Real

29 Conclusão Concluímos, assim, que sistemas distribuídos de tempo real possuem toda a complexidade de problemas de um sistema distribuído convencional, porém agravados. Em contrapartida teremos, porém, mais recursos para implementar as soluções para o problema de tempo real. Erian Sistemas Distribuídos de Tempo Real


Carregar ppt "Sistemas Distribuídos de Tempo Real"

Apresentações semelhantes


Anúncios Google