Sistemas de Tempo Real: O Tempo Real. Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC



Documentos relacionados
Sistemas de Tempo Real: Conceitos Básicos

Sincronização de Relógios

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

Sistemas Distribuídos Sincronização de Relógios. Edeyson Andrade Gomes

FTL066 Programação em Tempo Real Segunda Lista de Exercícios

Sistemas Distribuídos

MODELAGEM E SIMULAÇÃO

Introdução sobre o Tempo Real

Sistemas Distribuídos Aula 10

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Engenharia de Software II

Sistemas Operacionais

Especificação Operacional.

Avaliação de Desempenho de Sistemas

Sistemas Operacionais. Prof. André Y. Kusumoto

Conceitos Básicos dos Sistemas de Tempo Real

Abordagens de Escalonamento na Perspectiva da Engenharia

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS. 2º TRIMESTRE Patrícia Lucas

TÉCNICAS DE PROGRAMAÇÃO

Sincronização em SDs I. Bruno M. Carvalho Sala: 3B2 Horário: 35T34

Quadro de consulta (solicitação do mestre)

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Gerenciamento de memória

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto

3) Considerando a tabela abaixo, usando a política de atribuição de prioridades Deadline Monotonic:

Introdução à Engenharia de Computação

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Sincronização em Sistemas Distribuídos

SISTEMAS OPERACIONAIS

Engenharia de Software II

SISTEMAS OPERACIONAIS

Módulo 12 Gerenciamento Financeiro para Serviços de TI

Servidores de Aperiódicas

Aula 5 Escalonamento usando prioridades fixas

Sistemas Operacionais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Introdução a Teoria das Filas

ARQUITETURA DE COMPUTADORES

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução à Computação: Sistemas de Computação

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

GBD PROF. ANDREZA S. AREÃO

Guia de utilização da notação BPMN

Algoritmos e Programação Parte Teórica

Sistema GNSS. (Global Navigation Satellite System)

Capítulo 4 Gerenciamento de Memória

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter)

Arquitetura de Computadores Moderna

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Sistemas Distribuídos. Aleardo Manacero Jr.

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Avaliação de Desempenho

SUPORTE TÉCNICO EBS. Envie-nos suas dúvidas e/ou sugestões para

Acordo de Nível de Serviço

Escalonamento de CPU 2 Quadrimestre

Arquitetura dos Sistemas Operacionais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Resolução da lista de exercícios de casos de uso

Arquitetura e Organização de Computadores

Administração da Produção I

UNIVERSIDADE FEDERAL DE SANTA MARIA COLÉGIO TÉCNICO INDUSTRIAL DE SANTA MARIA Curso de Eletrotécnica

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Aulas 17 & 18. Comutação Rápida a Pacote. Eytan Modiano MIT

Aula 19. Conversão AD e DA Técnicas

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

CAPÍTULO 3. Sistemas com Vários Componentes (Multicomponentes) em Modelos Markovianos de Decisão

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Trabalho Computacional

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados

Projeto de inovação do processo de monitoramento de safra da Conab

COS767 - Modelagem e Análise Aula 2 - Simulação. Algoritmo para simular uma fila Medidas de interesse

Sistemas Distribuídos

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

Implantação do Sistema de Controle de Tempos Nas Agências de Atendimento - TMA

11. NOÇÕES SOBRE CONFIABILIDADE:

1.1. Viagens com GPS. Princípios básicos de funcionamento de um GPS de modo a obter a posição de um ponto na Terra.

Introdução à Engenharia de Computação

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

8 Threads. 8.1 Introdução

Redes de Computadores II

Processos de gerenciamento de projetos em um projeto

Sistemas Operacionais

Memória cache. Prof. Francisco Adelton

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Principais Meios de Transmissão Par Trançado Cabo Coaxial Fibra Ótica Micro Ondas

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Introdução. Hardware (Parte I) Universidade Federal de Campina Grande Departamento de Sistemas e Computação. joseana@computacao.ufcg.edu.

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

NORMA PARA CERTIFICAÇÃO E HOMOLOGAÇÃO DE TRANSMISSORES E TRANSCEPTORES MONOCANAIS ANALÓGICOS AM

Gerenciamento do Tempo do Projeto (PMBoK 5ª ed.)

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

Transcrição:

Sistemas de Tempo Real: O Tempo Real Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Maio/2007 1

Relógio Físico - Astronômico Medição do tempo em termos astronômicos Sol no ponto aparente mais alto: Trânsito Solar Intervalo entre dois trânsitos solares: Dia Solar 1/(24*3600) do Dia Solar: Segundo Solar Rotação da terra diminui com o tempo 400 dias por ano a 300 milhões de anos atrás Os dias estão ficando mais longos Segundo Solar Médio - média de vários dias 2

Relógio Físico - Atômico Medição do tempo em termos atômicos Em 1948 foi criado o relógio atômico Definição de segundo: Tempo necessário para ocorrerem 9.192.631.770 transições do átomo de césio 133 Por quê 9.192.631.770? - Resulta em 1 segundo solar médio no ano em que o relógio atômico foi introduzido Gerador de microondas césio Sensor de excitação Oscilação exata Maximiza excitação 3

Relógio Físico - Atômico Atualmente dezenas de laboratórios no mundo possuem um relógio atômico Coordenados pelo Bureau International de l Heure - BIH, Paris-França Cada laboratório informa o BIH quantos ticks ocorreram BIH faz a média, produz o International Atomic Time - TAI TAI é a média de ticks contados desde 1/jan/58 4

Relógio Físico - UTC Problema: 24*3600 segundos do TAI é 3mS menor que o dia solar médio Dia solar médio está ficando maior Rotação da terra está ficando mais lenta Usando somente o TAI Meio-dia do relógio e do sol ficariam diferentes 5

Solução: Relógio Físico - UTC BIH atrasa segundos para manter o TAI em sincronia com o sol Sempre que diferença entre TAI e tempo solar passa de 800 ms Até hoje cerca de 30 segundos foram atrasados Relógio Atômico Corrigido é chamado de UTC - Universal Coordinated Time 6

Relógio Físico Via GPS GPS - Global Positioning System Sistema de navegação baseado em satélites orbitando a terra Fornece 24 horas por dia, no globo inteiro: Posição precisa em 3 dimensões Tempo preciso, relacionado com o UTC Operado pela Força Aérea americana, dirigido pelo DoD Projetado originalmente para fins militares Atualmente usado largamente para fins civis: Monitoração de veículos, mapeamento, navegação Capacidade operacional completa em julho de 1995 50+ empresas fornecem 275+ modelos de receptores (1997) 7

Relógio Físico Via GPS Níveis de precisão diferentes para civis e militares GPS-Time expresso em semanas e segundos desde 6/jan/1980 UTC Não inclui segundos atrasados (leap-seconds), ex: 11 em 1/1/96 Mantido por relógios atômicos em terra e nos satélites Receptores para tempo são diferentes dos para navegação Em geral assumem posição fixa e conhecida Atrasos na antena, cabo e eletrônica devem ser computados Preço entre US$ 200,00 e US$ 60.000,00 Muitos sinalizam tempo via RS-232, IEEE-488 e ethernet Problema: Colocação da antena é crítica Visada direta entre antena e satélite, reflexos, perdas no cabo Determinação da posição da antena 8

Cristais de quartzo sob tensão Relógio Físico - Computadores Oscilam em uma freqüência bem definida Freqüência depende do tipo de cristal, lapidação e tensão Um contador (Timer) é iniciado com algum valor Cada oscilação do cristal decrementa o contador Quando contador chega a zero Interrupção é gerada (clock tick) Contador é reinicializado Período das interrupções definido pelo valor colocado na inicialização do timer 9

Relógio Físico - Computadores cristal contador interrupção SO Cristais variam É impossível produzir cristais com freqüência exatamente igual Na prática é preciso considerar freqüências ligeiramente diferentes 10

Sincronização de Relógios Seja t a hora UTC Seja Cp(t) a hora indicada pela máquina p no instante t Ideal: Para qualquer p, qualquer t, Cp(t) = t Ou ainda: dc / dt = 1 dc / dt > 1 indica relógio muito rápido dc / dt < 1 indica relógio muito lento Exemplo: Timer deve gerar 60 interrupções por segundo Resulta em 60 * 60 * 60 = 216000 ticks por hora Erro típico é de 10-5 Máquina típica vai gerar entre 215998 e 216002 ticks por hora Diferença absoluta entre relógios é chamada SKEW 11

Sincronização de Relógios Drift Rate máximo - ρ Indica a precisão do timer Hora do computador Definido por: dc 1 ρ 1+ ρ dt x + x. ρ x x - x. ρ Relógio perfeito Skew ( x ) = 2. x. ρ Skew_máximo = 2. x. ρ 0 x t (UTC) 12

Sincronização - Solução Centralizada Time Server, Cristian, 1989 Time Server tem acesso ao UTC Periodicamente, no máximo a cada Skew_máximo / 2. ρ Clientes perguntam a hora Time Server responde a UTC Se UTC < hora local Não pode atrasar o relógio Faz a correção gradualmente Tempo para comunicação entre clientes e servidores Mede atraso entre request e reply, divide por 2 Usa média do atraso de vários pares request-reply Considera tempo de processamento do server 13

Sincronização - Solução Distribuída Não existe um servidor centralizado Intervalos de sincronização: i-ésimo intervalo entre T0 + i.r e T0 + (i+1).r No início de cada intervalo: Cada máquina difunde a sua hora local Relógios dessincronizados, difusão não ocorre ao mesmo tempo Após enviar a sua hora: Cada máquina coleta todas as outras difusões Limita coleta a um intervalo S Descarta valores extremos Estima atrasos de comunicação e processamento Computa nova hora local fazendo a média 14

Sincronização Através de GPS Rede local computador Receptor GPS computador computador computador 15

Algumas aplicações necessitam manipular o tempo Relógio Físico Astronômico Atômico UTC Computadores utilizam a oscilação dos cristais Sincronização de Relógios é por vezes necessária Algoritmo centralizado Algoritmo distribuído Através de GPS Resumo 16

Sistemas de Tempo Real: Introdução Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Maio/2007 17

Sistemas computacionais de tempo real: Caracterização Submetidos a requisitos de natureza temporal Resultados devem estar corretos lógica e temporalmente Requisitos definidos pelo ambiente físico Aspectos temporais NÃO estão limitados a uma questão de maior ou menor desempenho Estão diretamente associados com a funcionalidade Sistemas em geral: Fazer o trabalho usando o tempo necessário Sistemas de tempo real: Fazer o trabalho usando o tempo disponível 18

Caracterização Forte acoplamento de um STR com o seu Ambiente: Processamento ativado por estímulos do ambiente Tempos de Resposta delimitam Estímulos/Respostas - Processamentos devem terminar dentro de prazos (deadlines) - Se terminar fora de prazo sistema falha (falha temporal) Dados com prazos de validade: Dados desatualizados ou não válidos (outdated data) podem conduzir a resultados ou respostas incorretas Fluxos de controle na execução são definidos pelo ambiente: Impossibilidade em muitas aplicações do STR exercer um controle ou limitação nos estímulos provenientes do ambiente 19

Caracterização Interface Sistema Controlador STR Estímulo Sensor Resposta Atuadores Ambiente Controlado 20

Mercados Telecomunicações Centrais telefônicas, videoconferência, groupware Aeroespacial Automação em aeronaves, sondas espaciais Defesa Radar, sonar, sistema guia em mísseis Indústria Controle de processos, robôs, aquisição de dados Financeiro Transações em bolsa, negociação automática Entretenimento Vídeo games, vídeo sob demanda, áudio 21

Tempo real significa execução rápida Concepções Erradas Computadores mais rápidos vão resolver todos os problemas Sistemas de tempo real são: pequenos escritos em linguagem de montagem (assembly) formados apenas por tratadores de interrupção device-drivers 22

Tarefa (task) Conceitos Básicos Segmento de código cuja execução possui atributo temporal próprio (período, deadline, etc) Exemplo: método em OO, sub-rotina, trecho de um programa Deadline Instante máximo desejado para a conclusão de uma tarefa Deadline relativo Em relação ao início da tarefa Deadline absoluto Em relação a UTC (relógio da parede) 23

Tempo real crítico ( hard real-time ) Conceitos Básicos Falha temporal pode resultar em conseqüências catastróficas Necessário garantir requisitos temporais em projeto Exemplo: usina nuclear, industria petroquímica, mísseis Tempo real não crítico ( soft real-time ) Requisito temporal descreve apenas comportamento desejado Exemplo: multimídia 24

Previsibilidade Previsibilidade ( predictability ) Está associada a capacidade de poder antecipar, em tempo de projeto, se os processamentos em um STR serão executados dentro de seus prazos especificados Associada a uma previsão determinista todos os deadlines serão respeitados ou a uma antecipação probabilista baseadas em estimativas, probabilidades são associadas a deadlines definindo as possibilidades dos mesmos serem respeitados A previsibilidade em STR determina implicações em todos os níveis: linguagens sistemas operacionais comunicação arquitetura do computador etc 25

Event-Triggered Event-Triggered x Time-Triggered evento evento Time-Triggered evento evento 26

Event-Triggered x Time-Triggered Dirigido por eventos (Event-Triggered) Sistema reage a eventos Evento externo gera interrupção e dispara tarefa Ex: Cano estourado gera chuva de eventos Dirigido pelo tempo (Time-Triggered) Interrupção de relógio a cada T milisegundos (tick) A cada tick alguns sensores e atuadores são acessados Não existem interrupções além das do relógio Problema é selecionar T (carga x atraso) Ex: Relação causa-efeito em trem e cancela 27

Propriedades Temporais das Tarefas chegada (arrival) liberação (release) tempo de execução (execution time) deadline atraso na liberação (release jitter) início (start time) conclusão (finishing time) tempo (time) Folga = Deadline - Liberação - Tempo de execução Atraso = MAX( 0, Conclusão - Deadline ) Tempo de resposta = Conclusão - Chegada 28

Tipos de Deadlines Deadline Hard Perda do deadline pode ter consequências catastróficas Exemplo: abrir válvula em duto de alta pressão Deadline Firm Perda do deadline NÃO tem consequências catastróficas Não existe valor em terminar a tarefa após o deadline Exemplo: amostrar periodicamente valor físico Deadline Soft Perda do deadline NÃO tem consequências catastróficas Existe valor em terminar a tarefa com atraso Exemplo: movimento de objeto em vídeo game 29

Tipos de Deadlines Valor Deadline brando (soft) deadline Tempo de conclusão 30

Tipos de Deadlines Valor Deadline firme (firm) deadline Tempo de conclusão 31

Tipos de Deadlines Valor Deadline crítico (hard) deadline Tempo de conclusão - infinito 32

Tarefa Periódica Tipos de Recorrência Tarefa é ativada a cada P unidades de tempo Instantes de chegada podem ser calculados a partir do inicial Exemplo: controle de processo via laço de realimentação Tarefas Esporádica Instantes de chegada não são conhecidos Existe um intervalo mínimo de tempo entre chegadas Exemplo: atendimento a botão de alarme Tarefa Aperiódica Nada é sabido quanto as ativações da tarefa Exemplo: aparecimento de objeto em tela de radar 33

Tipos de Recorrência Período tempo Intervalo mínimo tempo Vale tudo tempo 34

Complexidade da Aplicação STR Estímulo tarefa Ambiente Resposta Sistema Simples: Tarefa Única Responde ao Ambiente STR Máquina 2 Máquina 1 tarefa Estímulo tarefa tarefa Ambiente Resposta tarefa tarefa Sistema Complexo: Grafo de Tarefas Responde ao Ambiente 35

Relações de Precedência Relações de precedência entre tarefas Tarefa A é predecessora da tarefa B quando B somente pode iniciar depois que A estiver concluída Neste caso, tarefa B é sucessora da tarefa A Representado por A > B Exemplo: envio de mensagem de A para B Atividade Conjunto de tarefas interligadas por relações de precedência Representada por um grafo onde - Nodos são as tarefas - Flexas são as relações de precedência 36

Relações de Precedência Atividade com Relações de Precedência LINEARES T1 Atividade com Relações de Precedência ARBITRÁRIAS T1 T2 T2 T3 T3 T4 T5 37

Relações de Exclusão Mútua Relações de exclusão mútua entre tarefas Tarefas A e B apresentam exclusão mútua quando NÃO podem executar simultaneamente Exemplos: Estrutura de dados compartilhada Arquivo Controlador de periférico 38

Escalonamento ( scheduling ) Tipos de Escalonadores Identifica a forma como recursos são alocados às tarefas Escalonador ( scheduler ) Componente do sistema responsável pela gerência dos recursos Escala de Execução ( schedule ) Descreve quando cada tarefa ocupa cada recurso Escalonamento Estático ( static scheduling ) Utiliza apenas informações disponíveis antes da execução Capaz de oferecer previsibilidade determinista Escalonamento Dinâmico ( dynamic scheduling ) Utiliza informações disponíveis apenas durante a execução Capaz de oferecer apenas previsibilidade probabilista 39

Modelos de Tarefas Modelo de Tarefas ( task system ) Descrição das propriedades temporais das tarefas no sistema Exemplo: periódicas ou não, com duração conhecida ou não, etc Varia muito de sistema para sistema Ponto de partida para: Análise de escalonabilidade Escolha do suporte Linguagem de programação Sistema operacional Arquitetura do computador Carga de Tarefas ( task load ) Descrição de quais tarefas deverão ser executadas Estática: Limitada e conhecida em projeto Dinâmica: Conhecida somente ao longo da execução 40

Sistemas de Tempo Real: Abordagens de Escalonamento Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo 41

Necessidade de Diferentes Abordagens Mercado para tempo real é amplo Sistemas de tempo real variam enormemente Sistema de emergência em usina petroquímica Controle de temperatura do freezer Vídeo game Principais variações: Crítico ou não crítico Carga estática ou dinâmica Importância associada com os deadlines Diferentes abordagens são necessárias 42

Classificação das Abordagens Abordagens básicas para o escalonamento tempo real Abordagem Com Garantia Melhor Esforço Executivo Cíclico Prioridades +Teste Descarta Tarefa Atrasa Deadline Reduz Precisão Altera Período 43

Abordagens com Garantia em Projeto Abordagem Com Garantia Melhor Esforço Executivo Cíclico Prioridades +Teste Descarta Tarefa Atrasa Deadline Reduz Precisão Altera Período Oferece previsibilidade determinista Análise feita em projeto Carga limitada e conhecida em projeto ( Hipótese de Carga ) Suposto um limite para faltas ( Hipótese de Faltas ) Dividida em duas partes: Análise da escalonabilidade Construção da escala de execução 44

Abordagens com Garantia em Projeto Vantagens Determina em projeto que todos os deadlines serão cumpridos Necessário para aplicações críticas Teoria serve de base para abordagens sem garantia Desvantagens Necessário conhecer exatamente a carga Necessário reservar recursos para o pior caso Difícil determinar o pior caso em soluções COTS (commercial off-the-shelf) Gera enorme sub-utilização de recursos 45

Executivo Cíclico Todo o trabalho de escalonamento é feito em projeto Resultado é uma grade de execução ( time grid ) Grade determina qual tarefa executa quando Garantia obtida através de uma simples inspeção da escala Durante a execução: Pequeno programa lê a grade e dispara a tarefa aproprida Quando a grade termina ela é novamente repetida Vantagem: Comportamento completamente conhecido Desvantagem: Escalonamento muito rígido, tamanho da grade Muito usado em aplicações embutidas ( Embedded Systems ) 46

Executivo Cíclico Restrições devem ser observadas na construção da grade Período, tempo máximo de computação Precedências, exclusões, etc Escalonamento pode ser: Preemptivo - Tarefa pode ser suspensa e depois retomada Não Preemptivo - Depois que inicia tarefa vai até o fim Exemplo: T1: P1=5 C1=2 D1=4 T2: P2=2 C2=1 D2=1 0 1 2 3 4 5 6 7 8 9 10 chegada T2 T1 T2 T1 T2 T1 T2 T1 T2 deadline T1 T2 47

Prioridades + Teste de Escalonabilidade Cada tarefa recebe uma prioridade Prioridades podem ser fixas ou variáveis Escalonamento em geral é preemptivo Teste realizado antes da execução determina escalonabilidade Teste considera forma como prioridades são atribuídas Complexidade depende do modelo de tarefas Na execução: Escalonador dispara as tarefas conforme as prioridades Vantagem: Suporta tarefas esporádicas, não tem grade Desvantagem: Testes limitados a alguns modelos de tarefas Usado em aplicações que exigem garantia mas são muito complexas para construir uma grade 48

Prioridades + Teste de Escalonabilidade Políticas mais utilizadas: Earliest Deadline First EDF (prioridade variável) Rate Monotonic RM (prioridade fixa) Deadline Monotonic DM (prioridade fixa) 49

Prioridades + Teste de Escalonabilidade Exemplo usando RM Utilização de uma tarefa: - Tempo máximo de computação dividido pelo período - T1 tem C1=12 e P1=50, então U1 = 12 / 50 = 0.24 Teste para Rate Monotonic, sistema é escalonável se: N Ci 1/ N ( ) < N( 2 1) P i= 1 i Para N grandes utilização máxima tende para 69.3% Teste é suficiente mas não necessário 50

Abordagens com Melhor Esforço Abordagem Com Garantia Melhor Esforço Executivo Cíclico Prioridades +Teste Descarta Tarefa Atrasa Deadline Reduz Precisão Altera Período Não existe garantia que os deadlines serão cumpridos O Melhor Esforço será feito neste sentido Capaz de fornecer análise probabilista Simulação, teoria das filas de tempo real, etc Algumas abordagens oferecem Garantia Dinâmica Garante o deadline (ou não) no início da ativação 51

Abordagens com Melhor Esforço Existe a possibilidade de Sobrecarga ( overload ) Sobrecarga: Não é possível cumprir todos os deadlines Situação natural uma vez que não existe garantia off-line Questão fundamental: Como tratar a sobrecarga? Vantagens Não é necessário conhecer o pior caso Sistemas mais baratos, projetados para o caso médio Não é necessário conhecer a carga exatamente Desvantagens A princípio qualquer deadline poderá ser perdido 52

Descarte de Tarefas na Sobrecarga Em sobrecarga NÃO EXECUTA algumas tarefas As tarefas executadas cumprem o deadline Mais apropriado para tarefas com deadline firm Pode cancelar: Ativações individuais Tarefas completas Objetivo é maximizar o número de tarefas executadas Tarefas podem ter importância (peso) diferentes Maximiza o somatório dos pesos das tarefas executadas Algumas soluções utilizam um parâmetro de descarte s Distância temporal entre ativações descartadas deve ser s Outras permitem o descarte de até m a cada k ativações 53

Perda de Deadlines na Sobrecarga Em sobrecarga ATRASA algumas tarefas Baseado em função tempo-valor ( time-value function ) Cada tarefa possui uma função que Indica o valor da tarefa para o sistema em função do seu instante de conclusão Objetivo é maximizar o valor total do sistema Valor do sistema é o somatório do valor das tarefas executadas Tarefas podem possuir importância (peso) diferentes Valor Tempo de Resposta 54

Redução da Precisão na Sobrecarga Em sobrecarga DIMINUI a precisão de algumas tarefas Objetivo é fazer o trabalho possível dentro do tempo disponível Exemplos: Ignorar bits menos significativos de cada pixel Trabalhar com amostras de áudio menos precisas Alterar resolução e tamanho de imagem na tela Simplificar animações Usar algoritmos de controle mais simples Interromper pesquisa em algoritmos de inteligência artificial Aparece associada com a técnica de Computação Imprecisa ( Imprecise Computation ) 55

Cada tarefa dividida em Parte obrigatória ( mandatory part ) Parte opcional ( optional part ) Computação Imprecisa Parte Obrigatória gera resultado com qualidade mínima Parte Opcional refina resultado até qualidade máxima Podem existir tarefas com apenas parte obrigatória ou apenas parte opcional Situações normais: executa as duas partes de cada tarefa Sobrecarga: executa apenas a parte obrigatória Objetivo é maximar a qualidade total da aplicação 56

Alteração do Período na Sobrecarga Em sobrecarga aumenta o período de algumas tarefas Objetivo é não perder deadlines através da redução da utilização do processador que cada tarefa representa Exemplos: Amostragem de variáveis em laço de controle Taxa de apresentação dos quadros de um vídeo Freqüência da atualização da tela do operador Chamado às vezes de Rate Modulation 57

Resumo Existe a necessidade de diferentes abordagens para o escalonamento tempo real Principal classificação é com respeito a garantia Abordagens com Garantia em Projeto Executivo Cíclico Prioridades + Teste de Escalonabilidade Abordagens com Melhor Esforço Descarte de Tarefas Perda de Deadlines Redução da Precisão Alteração do Período 58