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

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

Erian Bordin - 6872331 Geovana de Mello Espírito Santo - 6766110 Henrique Canto Duarte - 6766086 Leonardo Akira Endo Wesseling - 6766235.

Apresentações semelhantes


Apresentação em tema: "Erian Bordin - 6872331 Geovana de Mello Espírito Santo - 6766110 Henrique Canto Duarte - 6766086 Leonardo Akira Endo Wesseling - 6766235."— Transcrição da apresentação:

1 Erian Bordin Geovana de Mello Espírito Santo Henrique Canto Duarte Leonardo Akira Endo Wesseling

2 Sistemas de Tempo Real Sistemas Distribuídos de Tempo Real Falhas Implementação GeovanaSistemas Distribuídos de Tempo Real2

3 3

4 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). GeovanaSistemas Distribuídos de Tempo Real4

5 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. GeovanaSistemas Distribuídos de Tempo Real5

6 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. GeovanaSistemas Distribuídos de Tempo Real6

7 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! GeovanaSistemas Distribuídos de Tempo Real7

8 8

9 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). LeonardoSistemas Distribuídos de Tempo Real9

10 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). LeonardoSistemas Distribuídos de Tempo Real10

11 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? LeonardoSistemas Distribuídos de Tempo Real11

12 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. LeonardoSistemas Distribuídos de Tempo Real12

13 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. LeonardoSistemas Distribuídos de Tempo Real13

14 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. LeonardoSistemas Distribuídos de Tempo Real14

15 LeonardoSistemas Distribuídos de Tempo Real15

16 16

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

18 Falha de Rede Falhas Físicas Falha de Processador Falha de Processos HenriqueSistemas Distribuídos de Tempo Real18

19 Falha de Omissão Falha de Temporização Falha de Sincronização HenriqueSistemas Distribuídos de Tempo Real19

20 Permanente Intermitente Transiente HenriqueSistemas Distribuídos de Tempo Real20

21 Selecionar um detector de falhas é uma tarefa difícil Para que uma técnica de tolerância seja aplicada é necessário detectá-la HenriqueSistemas Distribuídos de Tempo Real21

22 Existem diversas abordagens São escolhidas de acordo com o comportamento do sistema HenriqueSistemas Distribuídos de Tempo Real22

23 HenriqueSistemas Distribuídos de Tempo Real23 Baseada na replicação de recursos

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

25 25

26 GeovanaSistemas Distribuídos de Tempo Real26 Requisitos Funcionais: atender às tarefas propostas Temporais: atendê-las dentro do prazo estipulado

27 GeovanaSistemas Distribuídos de Tempo Real27 Desafios Heterogeneidade Little-endian / Big-endian Ponto flutuante Código de caracteres (ASCII ou EBCDIC) Marshaling empacotamento de dados em forma de mensagens

28 GeovanaSistemas Distribuídos de Tempo Real28 Ferramentas Middleware 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

29 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. ErianSistemas Distribuídos de Tempo Real29


Carregar ppt "Erian Bordin - 6872331 Geovana de Mello Espírito Santo - 6766110 Henrique Canto Duarte - 6766086 Leonardo Akira Endo Wesseling - 6766235."

Apresentações semelhantes


Anúncios Google