Sistemas de Tempo-Real



Documentos relacionados
Aula 8. Escalonamento de tarefas aperiódicas. Sistemas de Tempo-Real

Sistemas de Tempo-Real

Servidores de Aperiódicas

Sistemas de Tempo-Real

Escalonamento (Tarefas Esporádicas)

Aula 5 Escalonamento usando prioridades fixas

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

Aula 2 Modelos computacionais

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

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

Escalonamento no Linux e no Windows NT/2000/XP

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2011 / Gestor de Processos

Gestor de Processos. Gestor de Processos

Avaliando o Uso de Servidores para Tarefas Aperiódicas para fins de Tolerância a Falhas em Sistemas com Escalonamento

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Programação de Sistemas

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Consistência Eventual - Sistemas Distribuidos e Tolerância a Falhas

Gerência do Processador

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Sistemas Operativos. Sumário. Escalonador da CPU. ! Filas Multinível. ! Filas Multinível com Feedback. ! Escalonamento em multiprocessadores

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

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

Gestor de Processos Núcleo do Sistema Operativo. Sistemas Operativos 2012 / Gestor de Processos

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Hugo Pedro Proença, 2007

Introdução ao Modelos de Duas Camadas Cliente Servidor

Sistemas Distribuídos. Aleardo Manacero Jr.

Gerência de Processador

Arquiteturas de Software

Com o smartmessage podemos de forma muito fácil e usando um qualquer cliente de , como por exemplo:

PHC Serviços CS. A gestão de processos de prestação de serviços

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Comunicação de Dados. Aula 4 Conversão de Sinais Analógicos em digitais e tipos de transmissão

Base de Dados para Administrações de Condomínios

Timer e serviços do Timer

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

NOTA DE ESCLARECIMENTO

Gestor de Processos Núcleo do Sistema Operativo

Multiprocessamento. Sérgio Campos

Sistemas de Telecomunicações I

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

Programação para Dispositivos Móveis

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Processos. Adão de Melo Neto

Arquitetura de Computadores II

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

Redes de Computadores. Trabalho de Laboratório Nº7

PPD: Balanceamento de Carga e Scheduling 2

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto

Tecnologia em Gestão Pública Desenvolvimento de Projetos - Aula 9 Prof. Rafael Roesler

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias

Introdução ao Processamento Paralelo

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

REGULAMENTO DO FUNDO DE GREVE E SOLIDARIEDADE

Grupo I [4v] executaprograma();

Regulamento de Vigilâncias de Provas Escritas de Avaliação do DEEC

Componentes de um sistema computacional moderno. DCC/FCUP Inês Dutra Sistemas de Operação 1

Sistemas Operacionais. Prof. André Y. Kusumoto

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

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

Decreto-Lei Nº 159/2005 de 20 de Setembro (GNR)

MANUAL DO UTILIZADOR

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

Diagrama de transição de Estados (DTE)

Sistemas de Tempo Real

DAS5102 Fundamentos da Estrutura da Informação

PROGRAMAÇÃO LINEAR. Resolução de problemas de programação linear usando o comando Solver, no Excel.

Programa de Monitorização da Lagoa de Óbidos e do Emissário Submarino da Foz do Arelho

O dono de uma livraria cuja base de dados é administrada por si pediu-lhe para efectuar as seguintes alterações ao preço dos livros:

Relatório de Análise de Requisitos

Manual do Utilizador

Simulação de Evento Discreto

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

Sistemas de Tempo Real: Conceitos Básicos

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Gerência de processos Estudos de caso - BSD Unix

Máquinas virtuais. Máquina virtual de um processo. Máquinas virtuais (3) Máquina virtual de sistema. Máquinas virtuais (1) VMware para Windows e Linux

Transcrição:

Aula 8 Escalonamento de tarefas aperiódicas Execução conjunta de tarefas periódicas e aperiódicas Utilização de servidores de tarefas aperiódicas Servidores de prioridades fixas Servidores de prioridades dinâmicas Aula anterior (7) Acesso exclusivo a recursos partilhados: bloqueio A inversão de prioridades: necessidade de a limitar e analizar Técnicas básicas para acesso exclusivo a recursos partilhados Herança de prioridades (Priority Inheritance Protocol PIP) Protocolo de tecto de prioridades (Priority Ceiling Protocol PCP) Protocolo de pilha de recursos (Stack Resource Protocol- SRP ) 2

Conjugar tarefas periódicas e aperiódicas Tarefas periódicas Adequadas, por exemplo, a situações em que é necessário amostrar e processar uma dada grandeza física, normalmente contínua, ou produzir regularmente um dado valor ou actuação. Tarefas aperiódicas Adequadas, pelo contrário, a situações em que não se pode prever o respectivo instante de activação, tal como em alarmes, interface com operadores, ou outros eventos assíncronos. Sistemas híbridos Aplicações constituídas por um mix de tarefas periódicas e aperiódicas. É o caso mais frequente em aplicações reais. 3 Conjugar tarefas periódicas e aperiódicas Tarefas periódicas instância n activada em a n =n*t+φ (pior caso bem conhecido) Tarefas esporádicas no pior caso é como uma tarefa periódica com período = mit Tarefas aperiódicas J 0 J J 2 0 Φ T 0 mit mit 0 J 0 J J 2 J 3 só se caracterizam de forma probabilística J 0 J J 2 J 3 J 4 Como limitar a interferência sobre as tarefas periódicas? Como garantir o melhor nível de serviço possível? tempo tempo tempo 4 2

Execução em plano de fundo (background) Uma forma comum e simples de combinar ambos os tipos de tarefas consiste em dar prioridade absoluta às tarefas periódicas e executar as aperiódicas apenas nos intervalos de tempo de CPU deixados livres pelas primeiras. Diz-se que as tarefas aperiódicas são executadas em plano de fundo ou background. τ i T i C i Tarefas periódicas τ 3 3 2 3 4 6 Plano de fundo (background) τ 0.5 t=0 t=2 5 t=6 0.4 Execução em plano de fundo (background) A execução em plano de fundo é muito fácil de implementar e não perturba o subsistema periódico (pode haver alguma interferência por via de rotinas de interrupção) Por outro lado, as tarefas aperiódicas poderão sofrer atrasos grandes dependendo da carga periódica (pode ser calculado considerando as tarefas aperiódicas como de prioridade mais baixa, a seguir à periódica menos prioritária) Desempenho fraco para tarefas aperiódicas de tempo-real mas adequado para tarefas aperiódicas não tempo-real. Tarefas periódicas... J 3 i Prioridade + CPU J _ Tarefas aperiódicas J 2 a J b c... J 2 k J n 6 3

Utilização de servidores de aperiódicas Uma forma de melhorar a resposta de tarefas aperiódicas (quando o serviço em plano de fundo não permite cumprir as restrições de tempo real) consiste na utilização de uma tarefa periódica cuja funcionalidade é apenas a de executar as tarefas aperiódicas que estejam activas. Designa-se essa tarefa por servidor de aperiódicas e é caracterizado por um período T S e uma capacidade C S É agora possível inserir o servidor no conjunto das tarefas periódicas e atribuir-lhe a prioridade necessária para o nível de serviço desejado. Servidor de aperiódicas τ 0.5 0.4 7 Utilização de servidores de aperiódicas Existem vários tipos de servidores de aperiódicas, quer para prioridades fixas quer dinâmicas, que variam em termos de: impacto sobre a escalonabilidade das tarefas periódicas tempo de resposta médio aos pedidos de execução das tarefas aperiódicas custo (overhead) computacional, de memória e de concretização. Priodidades fixas: Servidor de sondagem (polling), adiável (deferrable), de troca de prioridades, esporádico,... Prioridades dinâmicas: Servidores de prioridades fixas adaptados, de largura de banda total (TBS) e constante (CBS),... 8 4

Resposta de pior caso a pedidos aperiódicos Tempo de resposta de pior caso (igual para todos os tipos de servidores que se podem modelizar com uma tarefa periódica) Considera-se que: O servidor é uma tarefa periódica (C S,T S ) Sofre máximo jitter no instante do pedido aperiódico Sofre máximo atraso em todas as instâncias subsequentes Rawc i = Ca i + (T S -C S ) * ( + Ø Ca i /C S ø ) TS Interferência de tarefas de maior prioridade 2.4*CS CS 2*(TS - CS ) TS - CS 9 Rawci Resposta de pior caso a pedidos aperiódicos Tempo de resposta de pior caso (cont.) Se para o mesmo servidor houver vários (Na) pedidos aperiódicos em fila de espera (escalonados segundo um determinado critério coerente com o índice k), o teste de escalonabilidade das tarefas aperiódicas é dado por: (considera-se que todos os pedidos aperiódicos são efectuados no mesmo instante, situação de pior caso) " i=..na Rawc i = S i k=ca k + (T S -C S ) * ( + ØS i k=ca k /C S ø ) < Da i 0 5

Resposta de pior caso a pedidos aperiódicos Tempo de resposta de pior caso (cont.) No caso do servidor ter a máxima prioridade num sistema de prioridades fixas, o atraso das instâncias subsequentes desaparece e tempo de resposta é: Rawc i = Ca i + (T S -C S ) * Ø Ca i /C S ø TS 2.4*CS CS TS - CS Rawci Servidor de sondagem (polling server - PS) Este servidor de prioridades fixas é completamente equivalente à execução de uma tarefa periódica. Os pedidos aperiódicos são servidos apenas durante os instantes de execução atribuídos ao servidor pelo escalonador das tarefas periódicas. Servidor de polling (,4) τ 0.5 0.4 2 6

Servidor de sondagem (polling server - PS) A realização de um servidor de polling é bastante simples, sendo necessária uma fila para os pedidos aperiódicos e um controlo de capacidade utilizada. O tempo médio de resposta aos pedidos aperiódicos é melhorado em relação à execução em background porque é possível executar as tarefas aperiódicas a uma prioridade mais elevada (mas continua a ter muitos períodos de indisponibilidade). O impacto sobre a escalonabilidade do conjunto das tarefas periódicas é apenas o da tarefa periódica virtual correspondente. Por exemplo, usando RM + PS U P (carga periódica,n) + U S (n+)(2 /(n+) -) 3 Servidor de sondagem (polling server - PS) Nota: O menor majorante de Liu & Layland foi determinado de forma independente das taxas de utilização de cada tarefa. Contudo, fixando a taxa de utilização da tarefa de maior prioridade é possível melhorar (aumentar) o menor majorante. Assim, atribuíndo a maior prioridade ao servidor e taxa de utilização U S =C S /T S, o menor majorante de Liu&Layland pode-se expressar como: U P + U S U S + n{ [2/(U S +)] /n -} E quando n, U P + U S U S + ln(2/(u S +)) 4 7

Servidor adiável (deferrable server - DS) A ideia subjacente a este servidor de prioridades fixas consiste em permitir atender pedidos aperiódicos desde o início da respectiva execução e até: final do respectivo período (T S ) ou que a sua capacidade (C S ) se esgote. A capacidade é reposta no início de cada período. Servidor deferrable (,4) τ 0.5 0.4 5 Servidor adiável (deferrable server - DS) A complexidade de realização de um servidor deferrable é semelhante à de um PS. O tempo médio de resposta aos pedidos aperiódicos é melhorado em relação ao PS porque é possível utilizar a capacidade do servidor fora dos instantes que lhe estavam inicialmente atribuídos, quando necessário. O impacto sobre a escalonabilidade do conjunto das tarefas periódicas pode ser negativo, devido ao atraso da sua execução. Usando RM+DS e um servidor com a maior prioridade: U P + U S U S + n{ [(U S +2)/(2U S +)] /n -} 6 8

Servidor esporádico (sporadic server - SS) A ideia subjacente a este servidor de prioridades fixas é também a de permitir atender pedidos aperiódicos em qualquer instante mas sem penalizar a escalonabilidade do subsistema periódico. Neste caso, a reposição da capacidade gasta não é efectuada periodicamente mas sim de acordo com os instantes em que é efectivamente consumida (instantes de consumo mais T S ) Servidor esporádico (,4) τ 0.5 0.4 7 Servidor esporádico (sporadic server - SS) A complexidade de realização de um servidor esporádico é um pouco superior à de um DS devido ao cálculo dos instantes e quantidades de reposição de capacidade. O tempo médio de resposta aos pedidos aperiódicos é semelhante em relação ao DS. O impacto sobre a escalonabilidade do conjunto das tarefas periódicas é semelhante ao de uma tarefa periódica (tal como o PS). De facto, o servidor executa assim que seja activado e as reactivações (através das reposições de capacidade) preservam a largura de banda (ao contrário do DS). Usando RM+SS e atribuíndo a maior prioridade ao servidor U P + U S U S + n{ [2/(U S +)] /n -} 8 9

Servidor de largura de banda total (total bandwidth server - TBS) O Total Bandwidth Server (TBS) é um servidor de prioridades dinâmicas cujo objectivo é o de atender os pedidos aperiódicos num sistema EDF tão cedo quanto possível mas cumprindo a largura de banda que lhe foi atribuída para não perturbar as tarefas periódicas. Quando um pedido chega (r k ), é-lhe atribuída uma deadline d k, d k = max (r k,d k- ) + C k /U S TBS (U S =25%) τ 0.5 0.4 9 Servidor de largura de banda total (total bandwidth server - TBS) A complexidade de realização de um TBS é muito pequena, sendo apenas necessário calcular as deadlines para cada pedido e depois a respectiva tarefa pode ser inserida na fila de tarefas prontas, juntamente com as tarefas periódicas. O tempo médio de resposta aos pedidos aperiódicos é menor em relação a versões dinâmicas dos servidores de prioridades fixas. O impacto sobre a escalonabilidade do conjunto das tarefas periódicas é semelhante ao de uma tarefa periódica com a taxa de utilização atribuída ao servidor. Usando EDF+TBS U P + U S Requer conhecimento prévio de C k e é vulnerável a overruns. (após inicío de execução, a tarefa aperiódica pode executar mais do que declarou) 20 0

Servidor de largura de banda constante (constant bandwidth server - CBS) O Constant Bandwidth Server (CBS) é um servidor de prioridades dinâmicas cujo objectivo é o de resolver o problema de robustez do TBS efectuando isolamento de largura de banda. Isso é conseguido através de uma gestão do tempo de execução usando um esquema de gestão de capacidade (Q S,T S ). Quando um pedido chega (r k ), calcula-se a deadline do servidor d S : se r k + c S /U S < d actual S então mantém d actual S ou então d S = r k + T S e c S = Q S Quando se esgota a capacidade instantânea (c S ) adia-se d S : d S = d S + T S e c S = Q S 2 Servidor de largura de banda constante (constant bandwidth server - CBS) O CBS atribui uma deadline que força a largura de banda atribuída ao servidor a nunca ultrapassar a que lhe foi atribuída. Se uma tarefa executar mais tempo do que esperado, a sua deadline é automaticamente adiada, baixando a prioridade da tarefa (é como se se aumentásse dinamicamente o período da tarefa) CBS (,4) τ 0.5 0.4 22

Servidor de largura de banda constante (constant bandwidth server - CBS) A complexidade de realização de um CBS é um pouco superior à do TBS devido à gestão da capacidade. As tarefas aperiódicas são igualmente inseridas na fila de tarefas prontas. O tempo médio de resposta aos pedidos aperiódicos é semelhante ao do TBS. O impacto sobre a escalonabilidade do conjunto das tarefas periódicas é semelhante ao de uma tarefa periódica com a taxa de utilização atribuída ao servidor. Usando EDF+CBS U P + U S 23 Servidor de largura de banda constante (constant bandwidth server - CBS) O grande interesse na utilização do CBS reside no isolamento de largura de banda. Se uma tarefa é servida por um CBS com largura de banda U S, em qualquer intervalo t essa tarefa nunca requerirá mais de t*u S tempo de CPU. Qualquer tarefa τ i (C i,t i ) escalonável em EDF é também escalonável dentro de um CBS com Q S =C i e T S =T i Um CBS pode ser utilizado para: Proteger o sistema de possíveis overruns em quaisquer tarefas Garantir um serviço mínimo a tarefas soft real-time Reservar largura de banda para qualquer actividade. 24 2

Resumo da Aula 8 Execução conjunta de tarefas periódicas e aperiódicas Execução de aperiódicas em background Utilização de servidores de tarefas aperiódicas Servidores de prioridades fixas Polling Server - PS Deferrable Server - DS Sporadic Server - SS Servidores de prioridades dinâmicas Total Bandwidth Server TBS Constant Bandwidth Server - CBS 25 Trabalho para a Aula 9 Generalized Rate-Monotonic Theory Resumir a secção Scheduling Real-Time Tasks dando ênfase à explicação do exemplo no final da secção L. Sha, J. Goodenough (992). Real-Time Scheduling Theory and Ada Computer 23(4):53-62. IEEE Press. April, 992. 26 3