Sistemas de Tempo-Real

Documentos relacionados
Prioridades com Teste de Escalonabilidade

Escalonamento Baseado em Prioridades Fixas

Sistemas de Tempo-Real

Escalonamento com Garantia

Sistemas de Tempo-Real

O Escalonamento de Tempo Real

Guia 11 Escalonamento de Mensagens

Mecanismos de Escalonamento

Cap 6: 4,5,8,9,10,11,12,15,16,21 fazer diagramas, usar análise por cálculo do tempo de resposta

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

3 Elementos de modelagem para o problema de controle de potência

Programa de Certificação de Medidas de um laboratório

Implemente uma solução para o problema da barreira usando mutexes e variáveis condição da biblioteca das pthreads. A solução consiste de 2 rotinas:

Suporte Básico para Sistemas de Tempo Real

OS REQUISITOS PARA A CERTIFICAÇÃO, DEFINEM REGRAS QUANTO AOS SEGUINTES CRITÉRIOS:

3 Algoritmos propostos

Mestrado Integrado em Engenharia Civil. Disciplina: TRANSPORTES Prof. Responsável: José Manuel Viegas

Responda às questões utilizando técnicas adequadas à solução de problemas de grande dimensão.

4 Critérios para Avaliação dos Cenários

Laboratório de Mecânica Aplicada I Determinação de Centros de Gravidade

ANÁLISE DE ESTRUTURAS I INTRODUÇÃO AO MÉTODO DE CROSS

TRANSPORTES. Sessão Prática 11 Dimensionamento de Interseções Semaforizadas

CAPÍTULO 2 DESCRIÇÃO DE DADOS ESTATÍSTICA DESCRITIVA

Teoria Elementar da Probabilidade

Na Aula Anterior... Impasses (Deadlocks) Nesta Aula. Impasse. Recurso. Impasse (Deadlock) 17/10/2016

DETERMINAÇÃO DE VALORES LIMITE DE EMISSÃO PARA SUBSTÂNCIAS PERIGOSAS DA LISTA II DA DIRECTIVA 76/464/CEE

Reconhecimento Estatístico de Padrões

Gestão e Teoria da Decisão

Implementação Bayesiana

3 A técnica de computação intensiva Bootstrap

7 - Distribuição de Freqüências

Modelação, Identificação e Controlo Digital

Laboratório de Mecânica Aplicada I Estática: Roldanas e Equilíbrio de Momentos

Cap. IV Análise estatística de incertezas aleatórias

CAPÍTULO IV PROPRIEDADES GEOMÉTRICAS DA SEÇÃO TRANSVERSAL

U N I V E R S I D A D E D O S A Ç O R E S D E P A R T A M E N T O D E M A T E M Á T I C A ARMANDO B MENDES ÁUREA SOUSA HELENA MELO SOUSA

EXERCÍCIO: VIA EXPRESSA CONTROLADA

Exercícios de CPM e PERT Enunciados

Análise Temporal da Implementação da Fila de Aptos como Lista Ordenada e Lista Desordenada

Representação e Descrição de Regiões

3 Metodologia de Avaliação da Relação entre o Custo Operacional e o Preço do Óleo

UNIDADE IV DELINEAMENTO INTEIRAMENTE CASUALIZADO (DIC)

É o grau de associação entre duas ou mais variáveis. Pode ser: correlacional ou experimental.

Proposta de método para alocação de perdas em redes eléctricas de distribuição com Produção em Regime Especial

Modelação com Variáveis Discretas

Os modelos de regressão paramétricos vistos anteriormente exigem que se suponha uma distribuição estatística para o tempo de sobrevivência.

5 Relação entre Análise Limite e Programação Linear 5.1. Modelo Matemático para Análise Limite

2 ENERGIA FIRME DE SISTEMAS HIDRELÉTRICOS

Introdução aos Problemas de Roteirização e Programação de Veículos

3 Desenvolvimento do Modelo

2 Metodologia de Medição de Riscos para Projetos

Aula Características dos sistemas de medição

Experiência V (aulas 08 e 09) Curvas características

As leis de Kirchhoff. Capítulo

5 Implementação Procedimento de segmentação

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

ANÁLISE DAS TENSÕES TÉRMICAS EM MATERIAIS CERÂMICOS. Palavras-chave: Tensões térmicas, Propriedades variáveis, Condução de calor, GITT

3 Método Numérico. 3.1 Discretização da Equação Diferencial

Prof. Lorí Viali, Dr.

Palavras-Chave: Métodos Interativos da Potência e Inverso, Sistemas Lineares, Autovetores e Autovalores.

Variação ao acaso. É toda variação devida a fatores não controláveis, denominadas erro.

Procedimento Recursivo do Método dos Elementos de Contorno Aplicado em Problemas de Poisson

Radiação Térmica Processos, Propriedades e Troca de Radiação entre Superfícies (Parte 2)

2ª Atividade Formativa UC ECS

RISCO. Investimento inicial $ $ Taxa de retorno anual Pessimista 13% 7% Mais provável 15% 15% Otimista 17% 23% Faixa 4% 16%

Desenvolvimento de software de simulação Monte Carlo para auxiliar no estudo da propagação de doenças infecciosas

Ramos Energia e Automação

D- MÉTODO DAS APROXIMAÇÕES SUCESSIVAS

RAD1507 Estatística Aplicada à Administração I Prof. Dr. Evandro Marcos Saidel Ribeiro

Modelo de Alocação de Vagas Docentes

Chapter 9 Location INTRODUÇÃO. Localização de Instalações. Problemas de comunicação

Notas Processos estocásticos. Nestor Caticha 23 de abril de 2012

UM PROBLEMA ECONOMÉTRICO NO USO DE VARIÁVEIS CLIMÁTICAS EM FUNÇÕES DE PRODUÇÃO AJUSTADAS A DADOS EXPERIMENTAIS

IMPLEMENTAÇÃO DO MÉTODO DE FATORAÇÃO DE INTEIROS CRIVO QUADRÁTICO

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Classificadores Lineares. Luiz Eduardo S. Oliveira, Ph.D.

Variáveis Aleatórias

5 Formulação para Problemas de Potencial

2 Lógica Fuzzy Introdução

Diferença entre a classificação do PIB per capita e a classificação do IDH

Índice. Exemplo de minimização de estados mais complexo. estados

Medidas de Tendência Central. Prof.: Ademilson Teixeira

METODOLOGIA PARA O CÁLCULO DE VAZÃO DE UMA SEÇÃO TRANSVERSAL A UM CANAL FLUVIAL. Iran Carlos Stalliviere Corrêa RESUMO

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma

5 Validação dos Elementos

SÉRIE DE PROBLEMAS: CIRCUITOS DE ARITMÉTICA BINÁRIA. CIRCUITOS ITERATIVOS.

4 Discretização e Linearização

CONTROLADORES FUZZY. Um sistema de controle típico é representado pelo diagrama de blocos abaixo:

Eventos coletivamente exaustivos: A união dos eventos é o espaço amostral.

Algoritmos de Codificação Simétricos

Microeconomia II. Cursos de Economia e de Matemática Aplicada à Economia e Gestão AULA 5.3. Afectação de Bens Públicos: a Condição de Samuelson

Se considerarmos, por exemplo, uma função f real de variável real,

8 Regime de transição

Prof. Lorí Viali, Dr.

Estudo quantitativo do processo de tomada de decisão de um projeto de melhoria da qualidade de ensino de graduação.

R X. X(s) Y Y(s) Variáveis aleatórias discretas bidimensionais

FUNDAMENTOS DE INVESTIGAÇÃO OPERACIONAL. 2.º teste 21 de Maio de Duração: 1h:30. Resolução indicativa

Cap. 5 Classificação Temática

Transcrição:

Sstemas de Tempo-Real Notas de curso realzado em Agosto de 2006 na Unversdade Federal do Ro Grande do Norte, Natal, Brasl 2. Escalonamento de Tempo-Real (parte 1) Francsco Vasques Faculdade de Engenhara da Unversdade do Porto http://www.fe.up.pt/~vasques Plano das Aulas Introdução aos Sstemas de Tempo-Real Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Protocolos de Comuncação de Tempo-Real Sstemas de Tempo-Real: Escalonamento (1) 2

Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 3 Concetos e Defnções Motvação para o estudo do escalonamento de TR A utlzação de metodologas e ferramentas convenconas, tem sdo consderada sufcente para o desenvolvmento de sstemas de tempo-real de baxa complexdade. No entanto, as aplcações desenvolvdas poderão ter um comportamento temporalmente mprevsível; Para projectos com maor nível de exgênca, é fundamental a utlzação de metodologas de desenvolvmento que consderem de uma forma adequada os requstos temporas ao longo de todo o processo de desenvolvmento; Nomeadamente, para a obtenção de um escalonamento adequado da execução de tarefas num sstema de tempo-real, é fundamental a correcta consderação dos seus requstos temporas (metas temporas & atrasos temporas). Sstemas de Tempo-Real: Escalonamento (1) 4

Concetos e Defnções Noção de Meta Temporal Meta temporal ( deadlne ) vs. Atraso ( delay )» A mposção de um atraso ao sstema computaconal de tempo-real ndca que o sstema computaconal deve retardar a sua execução para permtr que o ambente (operador/objecto controlado) o consga acompanhar;» A mposção de uma meta temporal ao sstema computaconal de tempo-real ndca que o sstema computaconal deve acelerar a sua execução por forma a adequar o seu tempo de execução à dnâmca do ambente. Objecto Controlado Interface de Instrumentação Sstema Computaconal de tempo-real Interface Homem-Máquna Operador Sstemas de Tempo-Real: Escalonamento (1) 5 Concetos e Defnções Noção de Meta Temporal Meta temporal ( deadlne ) vs. Atraso ( delay )» A maor parte dos requstos temporas podem ser expressos em termos de atrasos e de metas temporas;» Exemplo: loop do work by deadlne delay untl next release end loop» Um atraso pode ser faclmente mplementado em qualquer RTOS. No entanto, garantr que uma meta temporal é sempre respetada quando da execução do programa de tempo-real não é trval; A análse de escalonabldade é o formalsmo utlzado para verfcação da garanta de respeto das metas temporas. Sstemas de Tempo-Real: Escalonamento (1) 6

Concetos e Defnções Programas em Sstemas de Tempo-Real consttuídos por tarefas. Conceto de Tarefa: Tarefa (τ ): Segmento de códgo de software que deverá ser executado múltplas vezes com dferentes dados de entrada. Uma tarefa é caracterzada por ter uma execução com característcas temporas própras; Instânca ( job ) (τ,k ) é a execução k da tarefa τ ; data de actvação Instânca τ,k data de níco de execução duração de execução data de fm de execução meta temporal Sstemas de Tempo-Real: Escalonamento (1) 7 Concetos e Defnções Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real Objectvo: transparênca para a aplcação de tempo-real do processador e dos seus mecansmos de nterface; Permtr a execução de múltplas tarefas num ambente pseudo-paralelo, garantndo o respeto das metas temporas assocadas a cada uma das tarefas. Aplcação de TR τ 1 τ 2 τ 3 τ n Núcleo de Tempo-Real Processador Sstemas de Tempo-Real: Escalonamento (1) 8

Concetos e Defnções Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real Pseudo-paralelsmo: O processador executa sucessvamente múltplas tarefas» Se as dferentes tarefas são executadas sequencalmente: escalonamento não preemptvo;» Se uma tarefa em curso de execução pode ser nterrompda por uma outra tarefa: escalonamento preemptvo. Aplcação de TR τ 1 τ 2 τ 3 τ n Núcleo de Tempo-Real Processador Sstemas de Tempo-Real: Escalonamento (1) 9 Concetos e Defnções Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real Crtéros para a selecção de um Núcleo de tempo-real» Porquê utlzar um núcleo TR? Desenvolvmento mas rápdo das aplcações (ganho de produtvdade), vsto a partlha do processador ser transparente. Utlzação de espaço de memóra suplementar, com maor custo em termos de tempo de execução. Crtéros para a selecção de um Núcleo de tempo-real 1. Hardware-alvo suportado; 2. Lnguagens de programação suportadas (ex. C, C++, Ada) 3. Dmensão de memóra ocupada ( footprnt ) Núcleos modulares (dmensão de memóra varável) Problema: dentfcar o conteúdo correspondente às dmensões mínmas de memóra ndcadas pelos fabrcantes. Sstemas de Tempo-Real: Escalonamento (1) 10

Concetos e Defnções Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real Crtéros para a selecção de um Núcleo de tempo-real 4. Servços fornecdos pelo núcleo Escalonamento: adaptado para o suporte de aplcações de tempo-real? Sncronzação entre tarefas: Que tpo de gestão de flas (FIFO, por prordades)? Que mecansmos para gerr a nversão de prordades? Gestão estátca ou dnâmca de memóra? Gestão do tempo: actvação de tarefas peródcas? Qualdade das temporzações (granulardade, precsão)? Interruptbldade do núcleo? Quas os servços mínmos que têm que ser ncluídos numa versão reduzda do núcleo? 5. Componentes de software fornecdos para além do núcleo Plhas de protocolos, base de dados de tempo-real, servços Web? Sstemas de Tempo-Real: Escalonamento (1) 11 Concetos e Defnções Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real Crtéros para a selecção de um Núcleo de tempo-real 6. Desempenho ( performance ): A exstênca de análses efectuadas pelos fabrcantes devem ser escrutnadas com base nos seguntes elementos: qual a plataforma para a qual foram efectuadas? em que condções de medda? tempos médos, máxmos ou mínmos? presença de nterrupções? testes em anel (tudo na cache!)? qual o estado do núcleo (n.º de objectos, fragmentação)? 7. Exstênca de drvers para os perfércos a utlzar 8. Qualdade do suporte técnco, para futura evolução para novas arqutecturas 9. Natureza do produto (códgo fonte ou bnáro?) 10.Custo (preço por lcença?) 11.Certfcação para a área de aplcação pretendda? Sstemas de Tempo-Real: Escalonamento (1) 12

Concetos e Defnções Objectvo de um Núcleo ( Kernel ) Mult-Tarefa de Tempo-Real O elemento fundamental de um núcleo ( Kernel ) de tempo-real é o escalonador, que tem como função permtr a execução de múltplas tarefas num ambente pseudo-paralelo, garantndo o respeto das sua metas temporas. Escalonamento ( Schedulng ) de Tempo-Real: O escalonamento de tempo-real pretende atrbur de uma forma óptma o processador às tarefas que os pretendem utlzar, garantndo o respeto das metas temporas ( deadlnes ) assocadas à execução de cada uma das tarefas. Sstemas de Tempo-Real: Escalonamento (1) 13 Concetos e Defnções Estados de uma tarefa Durante a sua execução, uma preempt tarefa de uma aplcação de tempo-real pode estar num, e num só, dos seguntes estados: Ready execute Run Aplcação de TR τ 1 τ 2 τ 3 τ n unblock Blocked block abort release termnate Núcleo de Tempo-Real create Not ready remove Processador Not exstant Sstemas de Tempo-Real: Escalonamento (1) 14

Concetos e Defnções Um algortmo de escalonamento de tempo-real deve:» Selecconar entre as tarefas pendentes ( ready ), qual a que deve ser executada;» Verfcar se deve nterromper a tarefa que está a ser executada ( preempton ), para permtr a execução de uma tarefa de maor prordade;» Verfcar se as regras de execução mpõem o bloqueo ( blockng ) da tarefa que está a ser executada; por forma a optmzar a execução do conjunto de tarefas. Sstemas de Tempo-Real: Escalonamento (1) 15 Concetos e Defnções Escalonamento ( Schedulng ) de Tempo-Real: O escalonamento de tempo-real nclu a defnção de:» Algortmo de escalonamento (ordem de sequênca) do processamento de tarefas, combnado com as polítcas de alocação de recursos; Deve garantr a efcente utlzação dos recursos (processador e redes de comuncação)» Teste para a análse da escalonabldade do conjunto de tarefas, qualquer que seja a sua ordem de actvação Fórmula/algortmo matemátco que forneça uma prova de escalonabldade; Também permte efectuar uma prevsão acerca do funconamento do sstema, quando confrontado com o cenáro de carga ou de falhas mas desfavorável. Sstemas de Tempo-Real: Escalonamento (1) 16

Concetos e Defnções Análse de escalonabldade de um programa de tempo-real Elemento fundamental para determnar o comportamento temporal de um programa de tempo-real; Gudelnes para a análse de escalonabldade de um programa de tempo-real:» Defnção de um modelo adequado para as tarefas, descrevendo de forma adequada as suas propredades temporas;» Defnção de um algortmo de escalonamento adequado para o sstema em análse;» Utlzação de um teste para a análse da escalonabldade adequado para o algortmo de escalonamento e o modelo de tarefas consderados. Sstemas de Tempo-Real: Escalonamento (1) 17 Concetos e Defnções Modelo de tarefas: Parâmetros fundamentas de um modelo de tarefas, que permta descrever de uma forma adequada as propredades temporas de um sstema de tempo-real: valores relatvos (letra maúscula)» perodcdade de actvação de cada tarefa: T» máxma duração de execução de cada tarefa (sem preempção): C» meta temporal ( deadlne ) assocada à execução de cada tarefa: D data de actvação ( release tme ) meta temporal níco de execução duração de execução fm de execução t Sstemas de Tempo-Real: Escalonamento (1) 18

Concetos e Defnções Modelo de tarefas: Parâmetros fundamentas de um modelo de tarefas: valores absolutos (letra mnúscula)» data de actvação da nstânca k da tarefa τ : r,k» data de níco de execução da nstânca k da tarefa τ : s,k» data de fm de execução da nstânca k da tarefa τ : f,k data de actvação ( release tme ) meta temporal níco de execução duração de execução fm de execução t Sstemas de Tempo-Real: Escalonamento (1) 19 Concetos e Defnções Outros parâmetros temporas: Folga ( laxty ): L = (meta temporal) - (conclusão de execução) Atraso ( delay ) = MAX (0, - Folga) Tempo de Resposta: R = (conclusão de execução) - (data de actvação) Factor de utlzação : = n C U = 1 T Relações de precedênca e de exclusão mútua entre tarefas; data de actvação ( release tme ) meta temporal níco de execução duração de execução fm de execução t Sstemas de Tempo-Real: Escalonamento (1) 20

Concetos e Defnções Outros parâmetros temporas: Jtter : varação temporal de um evento com actvação peródca Jtter no fnal de execução» valor absoluto:» valor relatvo: max k max k ( f, k r, k ) mn( f, k r, k ) k ( f r ) ( f r ), k, k mn k, k 1, k 1 Jtter no níco de execução Sstemas de Tempo-Real: Escalonamento (1) 21 Concetos e Defnções Modelo de tarefas Tarefa crítca ( hard task ), quando a ultrapassagem de uma meta temporal pode ter consequêncas desastrosas, ou seja, o valor do servço prestado fora de prazo é muto menor que o valor negatvo do prejuízo causado; Utldade r d t Sstemas de Tempo-Real: Escalonamento (1) 22

Concetos e Defnções Modelo de tarefas Tarefa frme ( frm task ), quando a ultrapassagem de uma meta temporal não tem consequêncas desastrosas, mas o valor do servço prestado pode ser consderado nulo; Utldade r d t Sstemas de Tempo-Real: Escalonamento (1) 23 Concetos e Defnções Modelo de tarefas Tarefa não-crítca ( soft task ), quando apesar da ultrapassagem de uma meta temporal, anda exste algum valor assocado ao servço prestado fora de prazo; Utldade r d t Sstemas de Tempo-Real: Escalonamento (1) 24

Concetos e Defnções Modelo de Tarefas: Tarefa Peródca:» Tarefa com perodcdade de actvação (e não de execução) constante; Tarefa Esporádca:» Tarefa cujo ntervalo de tempo entre actvações consecutvas tem um mínmo defndo Sstemas de Tempo-Real: Escalonamento (1) 25 Concetos e Defnções Modelo de Tarefas: Tarefa Aperódca:» Tarefa cujo ntervalo de tempo entre actvações consecutvas não tem nenhum mínmo defndo.» Para poder ser consderada a utlzação de tarefas aperódcas em sstemas de tempo-real, torna-se necessáro mpor um lmte superor à sua utlzação de recursos computaconas. Sstemas de Tempo-Real: Escalonamento (1) 26

Concetos e Defnções Preempção na Execução de Tarefas Num escalonamento preemptvo:» uma tarefa de menor prordade verá a sua execução nterrompda sempre que uma tarefa de maor prordade deseje ser executada (a menos que exstam restrções que mpeçam essa nterrupção); Num escalonamento não-preemptvo:» cada tarefa será executada até ao fnal sem ser nterrompda, sendo desta forma smplfcado o processamento assocado às mudanças de contexto; Sstemas de Tempo-Real: Escalonamento (1) 27 Concetos e Defnções Exemplos de escalonamento: Apresentam-se, para o mesmo conjunto de tarefas, 4 cenáros de escalonamento para os quas se obtém sucessvamente: 1. Escalonamento preemptvo, com 1 os peddos de execução arbtraramente desfasados; 2. Escalonamento preemptvo, com smultanedade nos 1 os peddos de execução; 3. Escalonamento não- preemptvo, com smultanedade nos 1 os peddos de execução; 4. Escalonamento não-preemptvo com actvação de tarefa de menor prordade medatamente anteror à actvação smultânea de todas as outras tarefas Sstemas de Tempo-Real: Escalonamento (1) 28

Concetos e Defnções 1º Exemplo:» Tarefas Peródcas: τ={c, T, d }; U=93,3%» Escalonamento preemptvo por prordades» Atrbução de prordades às tarefas (?)» 1 os peddos de execução desfasados τ 1 =(1, 3, 3) τ 2 =(1, 4, 4) τ 3 =(1.6, 5, 5) processador lvre t escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 29 Concetos e Defnções 2º Exemplo:» Tarefas Peródcas: τ={c, T, d }; U=93,3%» Escalonamento preemptvo por prordades» Atrbução de prordades às tarefas (?)» 1 os peddos de execução smultâneos τ 1 =(1, 3, 3) τ 2 =(1, 4, 4) τ 3 =(1.6, 5, 5) processador lvre t escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 30

Concetos e Defnções 3º Exemplo:» Tarefas Peródcas: τ={c, T, d }; U=93,3%» Escalonamento não-preemptvo por prordades» Atrbução de prordades às tarefas (?)» 1 os peddos de execução smultâneos τ 1 =(1, 3, 3) τ 2 =(1, 4, 4) τ 3 =(1.6, 5, 5) processador lvre t escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 31 Concetos e Defnções 4º Exemplo:» Tarefas Peródcas: τ={c, T, d }; U=93,3%» Escalonamento não-preemptvo por prordades» 1 o peddo de execução de uma tarefa de menor prordade medata-mente anteror à actvação smultânea de todas as outras tarefas τ 1 =(1, 3, 3) τ 2 =(1, 4, 4) τ 3 =(1.6, 5, 5) processador lvre t escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 32

Concetos e Defnções Instante Crítco: Num sstema com escalonamento preemptvo, a actvação smultânea de todas as tarefas (nstante crítco) tem como consequênca:» em termos de utlzação, um período de carga máxma do processador;» em termos de tempo de resposta, um ntervalo de tempo (ntervalo crítco) durante o qual o tempo de resposta é máxmo para cada uma das actvações das tarefas. Num sstema com escalonamento não-preemptvo, o nstante crítco está defndo como a actvação da tarefa de maor duração (efeto de bloqueo) medatamente antes da actvação smultânea de todas as outras tarefas [Lu and Layland, 73]. Sstemas de Tempo-Real: Escalonamento (1) 33 Concetos e Defnções Exemplos de escalonamento: Apresentam-se, para o mesmo conjunto de tarefas, 3 cenáros de escalonamento para os quas se obtém sucessvamente: 1. Escalonamento preemptvo sempre realzável (ntervalo crítco representado); 2. Escalonamento não-preemptvo sobre o qual não pode ser retrada nenhuma conclusão acerca da sua escalonabldade (ntervalo crítco não representado); 3. Escalonamento não-preemptvo não realzável (ntervalo crítco representado). Sstemas de Tempo-Real: Escalonamento (1) 34

Concetos e Defnções 1º Exemplo» tarefas peródcas: τ={c, T, d }; U=86,7%;» data de actvação das tarefas smultânea;» escalonamento sempre realzável. tarefa C T d τ 1 2 5 5 τ 2 4 15 15 τ 3 4 20 20 τ 1 0 5 10 15 20 25 30 R1=2 τ 2 τ 3 R2=8 processador lvre R3=14 escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 35 Concetos e Defnções 2º Exemplo» tarefas peródcas: τ={c, T, d }; U=86,7%;» data de actvação das tarefas smultânea;» ntervalo crítco não representado. tarefa C T d τ 1 2 5 5 τ 2 4 15 15 τ 3 4 20 20 τ 1 τ 2 0 5 10 R1=4 15 20 25 30 τ 3 R2=6 processador lvre R3=12 escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 36

Concetos e Defnções 3º Exemplo» tarefas peródcas: τ={c, T, d }; U=86,7%;» data de actvação das tarefas não smultânea;» escalonamento não realzável. tarefa C T d τ 1 2 5 5 τ 2 4 15 15 τ 3 4 20 20 τ 1 τ 2 0 5 R1=6 10 15 20 25 30 τ 3 R2=12 processador lvre escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 37 Concetos e Defnções Desempenho do escalonamento preemptvo vs. não-preemptvo Em termos de tempo de resposta, um escalonamento preemptvo permte um mas rápdo níco de execução das tarefas de maor prordade, logo é o tpo de escalonamento preferdo apesar de estar sujeto a uma sobrecarga, potencalmente elevada, assocada às múltplas mudanças de contexto; Igualmente em termos de tempo de resposta, um escalonamento não-preemptvo será nteressante para sstemas com um elevado numero de tarefas de duração reduzda (relatvamente ao tempo de duração assocado às mudanças de contexto). Sstemas de Tempo-Real: Escalonamento (1) 38

Concetos e Defnções Teste de Escalonabldade verfcação off-lne da escalonabldade de um sstema Teste para determnar a exequbldade do escalonamento de um conjunto de tarefas, consderando um algortmo determnado para a atrbução de prordades às tarefas.» Teste exacto de escalonabldade ndca se um determnado conjunto de tarefas é ou não escalonável. Este tpo de testes pode ser de grande complexdade, pelo que por vezes se opta pela utlzação de testes não exactos, mas de maor smplcdade algorítmca:» Teste necessáro: um teste necessáro de escalonabldade negatvo, garante que o conjunto de tarefas é sempre não escalonável;» Teste sufcente: um teste sufcente de escalonabldade postvo, garante que o conjunto de tarefas é sempre escalonável; Sstemas de Tempo-Real: Escalonamento (1) 39 Concetos e Defnções Teste de Escalonabldade verfcação on-lne da escalonabldade de um sstema Teste para a acetação/rejeção da nclusão de uma nova tarefa num conjunto de tarefas prevamente escalonável;» Este tpo de testes deve ser de reduzda complexdade, pelo que exste o rsco de rejeção de tarefas potencalmente escalonáves. Sstemas de Tempo-Real: Escalonamento (1) 40

Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 41 Classfcação de Algortmos de Escalonamento Classfcação de Algortmos de Escalonamento (Stankovc et.al.) Escalonamento de TR em Sstemas Crítcos ( Hard RT Schedulng ) Dnâmco ( On-Lne ) Prordades Fxas Prordades Dnâmcas Preemptvo Não-Preemptvo Preemptvo Não-Preemptvo Estátco ( Off-Lne ) Executvo Cíclco Sstemas de Tempo-Real: Escalonamento (1) 42

Classfcação de Algortmos de Escalonamento Escalonamento em Sstemas Crítcos vs. em Sstemas Não-Crítcos O escalonamento em sstemas crítcos é baseado na adequabldade de recursos, ou seja, na garanta em fase de concepção de um tempo de resposta adequado para a execução de cada uma das tarefas;» Os testes de escalonabldade a efectuar prevamente devem ser determnístcos, ou seja, devem verfcar que, para os pressupostos de carga (e de falhas) assumdos, o tempo de resposta máxmo assocado a cada tarefa é nferor à sua meta temporal; Para o caso de sstemas não-crítcos, sabendo que a volação de metas temporas não é crítca, admte-se a utlzação de métodos probablístcos (por exemplo baseados em smulações) para a verfcação da garanta de escalonabldade. Sstemas de Tempo-Real: Escalonamento (1) 43 Classfcação de Algortmos de Escalonamento Classfcação de Algortmos de Escalonamento (Stankovc et.al.) Escalonamento de TR em Sstemas Crítcos ( Hard RT Schedulng ) Dnâmco ( On-Lne ) Prordades Fxas Prordades Dnâmcas Preemptvo Não-Preemptvo Preemptvo Não-Preemptvo Estátco ( Off-Lne ) Executvo Cíclco Sstemas de Tempo-Real: Escalonamento (1) 44

Classfcação de Algortmos de Escalonamento Escalonamento Estátco (Executvo Cíclco) Um escalonador é consderado estátco se tomar prevamente todas as decsões de escalonamento, gerando, em tempo de complação, uma tabela de escalonamento com a sequênca de execução das tarefas.» Em tempo de execução, esta tabela será repetdamente executada pelo processo de dspatcher, com a perodcdade adequada. Aplcação de TR τ 1 τ 2 τ 3 τ n tabela de escalonamento nstâncas de tarefas Dspatcher Núcleo de Tempo-Real Processador Sstemas de Tempo-Real: Escalonamento (1) 45 Classfcação de Algortmos de Escalonamento Escalonamento Estátco (Executvo Cíclco) Num escalonador estátco, qualquer varação no modelo de tarefas mplcará a geração de uma nova tabela de escalonamento. A garanta de escalonabldade é fornecda por smples nspecção da tabela de escalonamento, por forma a ser verfcada a não ultrapassagem de nenhuma meta temporal. Aplcação de TR τ 1 τ 2 τ 3 τ n tabela de escalonamento nstâncas de tarefas Dspatcher Núcleo de Tempo-Real Processador Sstemas de Tempo-Real: Escalonamento (1) 46

Classfcação de Algortmos de Escalonamento Exemplo de Escalonamento Estátco: tarefa C T d U A 10 25 25 0,4 B 8 25 25 0,32 C 5 50 50 0,1 D 4 50 50 0,08 E 2 100 100 0,02 U_total: 0,92 A B C A B D E A B C A B D 0 10 20 30 40 50 60 70 80 90 100 Tabela de escalonamento organzada em mcro-cclos com duração gual a m.d.c.{t}=25, sendo o comprmento total da tabela de escalonamento (macro-cclo) gual ao m.m.c. {T}=100. Sstemas de Tempo-Real: Escalonamento (1) 47 Classfcação de Algortmos de Escalonamento Escalonamento Estátco: Vantagens de um escalonamento estátco:» Sendo geralmente baseados em algortmos heurístcos, fornece um suporte efcaz à mplementação de relações de precedênca entre processos;» Comportamento do sstema completamente prevsível;» Sobrecarga mínma em tempo de execução;» Muto utlzado para suporte de aplcações de elevada crtcaldade (devdo à smplcdade (!) do processo de certfcação). Sstemas de Tempo-Real: Escalonamento (1) 48

Classfcação de Algortmos de Escalonamento Escalonamento Estátco: Desvantagens de um escalonamento estátco:» Escalonamento de baxa flexbldade, dfcultando tanto operações de modfcação do conjunto de tarefas, como a execução de tarefas esporádcas e/ou aperódcas; Dfculdades relaconadas com a sua mplementação» Tarefas com duração elevada deverão ser repartdas entre múltplos mcrocclos, o que não é desejável em termos de engenhara de software.» A perodcdade das tarefas deve ser smultaneamente múltpla do valor do mcro-cclo e dvsível pelo valor do macro-cclo, mpondo regras apertadas para a escolha destes valores; Sstemas de Tempo-Real: Escalonamento (1) 49 Classfcação de Algortmos de Escalonamento Classfcação de Algortmos de Escalonamento (Stankovc et.al.) Escalonamento de TR em Sstemas Crítcos ( Hard RT Schedulng ) Dnâmco ( On-Lne ) Prordades Fxas Prordades Dnâmcas Preemptvo Não-Preemptvo Preemptvo Não-Preemptvo Estátco ( Off-Lne ) Executvo Cíclco Sstemas de Tempo-Real: Escalonamento (1) 50

Classfcação de Algortmos de Escalonamento Escalonamento Dnâmco (ou por prordades) Um escalonador dnâmco toma as decsões de escalonamento em tempo de execução ( run tme ), em função dos peddos de execução pendentes;» Atrbução do processador ( ready run ) à tarefa pendente mas prortára;» Também referdo como escalonador por prordades. preempt Aplcação de TR τ 1 τ 2 τ 3 τ n Ready execute Run unblock Blocked block abort release termnate Núcleo de Tempo-Real create Not ready remove Not exstent Processador Sstemas de Tempo-Real: Escalonamento (1) 51 Classfcação de Algortmos de Escalonamento Escalonamento Dnâmco (ou por prordades) Vantagens:» adapta-se faclmente à presença de tarefas com requstos varáves no tempo, vsto efectuar o escalonamento em tempo de execução;» permte consderar a mportânca relatva das tarefas em função dos seus requstos temporas. Aspectos relevantes a consderar:» A transformação requstos temporas prordade das tarefas é da responsabldade do utlzador;» O escalonador não efectua a verfcação do respeto das metas temporas assocadas à execução das tarefas. Sstemas de Tempo-Real: Escalonamento (1) 52

Classfcação de Algortmos de Escalonamento Escalonamento Dnâmco (ou por prordades) Desvantagens:» processo escalonador mas complexo do que no caso estátco, devdo à necessdade de efectuar o escalonamento em tempo de execução;» maor dfculdade de detecção de sobrecargas. Sstemas de Tempo-Real: Escalonamento (1) 53 Classfcação de Algortmos de Escalonamento Classfcação de Algortmos de Escalonamento (Stankovc et.al.) Escalonamento de TR em Sstemas Crítcos ( Hard RT Schedulng ) Dnâmco ( On-Lne ) Prordades Fxas Prordades Dnâmcas Preemptvo Não-Preemptvo Preemptvo Não-Preemptvo Estátco ( Off-Lne ) Executvo Cíclco Sstemas de Tempo-Real: Escalonamento (1) 54

Classfcação de Algortmos de Escalonamento Escalonamento com Prordades Fxas vs. Prordades Dnâmcas Num escalonamento dnâmco com prordades fxas, a cada tarefa é atrbuído um determnado nível de prordade na fase de concepção. Enquanto o modo de funconamento do sstema se mantver, o nível de prordade de cada tarefa permanece nalterado (a menos de mudanças mpostas por mecansmos de sncronzação no acesso a recursos partlhados); Sstemas de Tempo-Real: Escalonamento (1) 55 Classfcação de Algortmos de Escalonamento Escalonamento com Prordades Fxas vs. Prordades Dnâmcas Num escalonamento dnâmco com prordades dnâmcas, o nível de prordade evolu ao longo do tempo em função da polítca de escalonamento selecconada.» Exemplo: algortmo EDF ( Earlest Deadlne Frst ), para o qual o nível de prordade de uma tarefa será tanto maor quanto mas próxma estver a sua meta temporal. Sstemas de Tempo-Real: Escalonamento (1) 56

Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento» Algortmo Rate Monotonc (RM)» Cálculo do Tempo de Resposta» Algortmo Deadlne Monotonc (DM)» Algortmo Earlest Deadlne Frst (EDF) Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 57 Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Algortmo defndo para um modelo smplfcado de tarefas:» as tarefas são ndependentes entre s (não têm relações de precedênca, nem necessdades de sncronzação);» todas as tarefas têm uma actvação peródca, com uma meta temporal gual ao seu período (ou seja, qualquer execução deve ser fnalzada antes da próxma data de actvação da tarefa);» todas as tarefas têm um tempo máxmo de execução conhecdo. Sstemas de Tempo-Real: Escalonamento (1) 58

Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Este algortmo defne a ordem de atrbução de prordades a um conjunto de tarefas, na ordem nversa da perodcdade das tarefas: T < Tj P > Pj» desde a tarefa de menor período à qual é atrbuída a maor prordade, até à tarefa de maor perodcdade à qual é atrbuída a menor prordade;» as stuações de empate serão resolvdas arbtraramente; Trata-se de um algortmo óptmo para sstemas mono-processador, no sentdo que se um qualquer conjunto de tarefas (peródcas, ndependentes, d = T, ) pode ser escalonado por escalonador dnâmco com prordades fxas, então também pode ser escalonado pelo algortmo RM. Sstemas de Tempo-Real: Escalonamento (1) 59 Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Teste sufcente de escalonabldade para um caso preemptvo: n C U = n T = 1 n ( 2 1)» um teste sufcente (não necessáro) sgnfca que poderá haver conjuntos de tarefas escalonáves apesar de não respetarem o respectvo teste.» para dferentes conjuntos de tarefas, n = 2, U = 0, 83 n = 3, U = 0, 78 n = 4, U = 0, 76 n +, U 0, 693 Sstemas de Tempo-Real: Escalonamento (1) 60

Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Vantagens do algortmo RM» Smplcdade;» Adequado para utlzação em sstemas operatvos exstentes;» Pode ser utlzado para a atrbução de prordades a níves de nterrupção. Desvantagens do algortmo RM» Modelo de tarefas muto lmtado;» Não adequado quando se têm metas temporas nferores ao período;» Não suporta exclusão mútua no acesso a recursos partlhados. Sstemas de Tempo-Real: Escalonamento (1) 61 Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Resultado fundamental:» Em [Lu and Layland, 1973] fo também demostrado que, se a meta temporal da tarefa de menor prordade for respetada após um nstante crítco, então o conjunto de tarefas é sempre escalonável. Sstemas de Tempo-Real: Escalonamento (1) 62

Algortmos Clásscos de Escalonamento Exemplos de escalonamento utlzando o algortmo RM : Apresentam-se 3 cenáros de escalonamento utlzando o algortmo RM (consderando conjuntos de tarefas com dferentes taxas de actvação), para os quas se obtém sucessvamente:» Conjunto de tarefas para o qual o teste de escalonabldade é respetado, logo: o conjunto de tarefas é sempre escalonável.» Conjunto de tarefas para o qual o teste de escalonabldade não é respetado. No entanto, devdo ao facto de, após o nstante crítco, a meta temporal da tarefa de menor prordade ser respetada, então: o conjunto de tarefas é sempre escalonável.» Conjunto de tarefas para o qual nem o teste de escalonabldade, nem a meta temporal da tarefa de menor prordade (após o nstante crítco) são respetados, logo: o conjunto de tarefas não é escalonável Sstemas de Tempo-Real: Escalonamento (1) 63 Algortmos Clásscos de Escalonamento 1º Exemplo:» tarefas peródcas: τ={c, T }; d =T ; U=77,5%;» data de actvação das tarefas smultânea;» escalonamento sempre realzável: teste sufcente de escalonabldade respetado: tarefa C T U τ 1 6.25 25 0.25 τ 2 6.25 50 0.125 τ 3 40 100 0.4 U = 0,775 0,7798 τ 1 =(6.25, 25) τ 2 =(6.25, 50) τ 3 =(40, 100) processador lvre escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 64

Algortmos Clásscos de Escalonamento 2º Exemplo:» tarefas peródcas: t={c, T}; d=t ; U=87,5%; tarefa C T U τ 1 6.25 25 0.25» data de actvação das tarefas smultânea; τ 2 6.25 50 0.125» escalonamento sempre realzável: τ 3 40 80 0.5 teste sufcente de escalonabldade não é respetado: U = 0,8750 0,7798 no entanto, a meta temporal da tarefa t3 é respetada após o nstante crítco, logo o conjunto de tarefas é sempre escalonável. τ 1 =(6.25, 25) τ 2 =(6.25, 50) τ 3 =(40, 80) processador lvre escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 65 Algortmos Clásscos de Escalonamento 3º Exemplo:» tarefas peródcas: t={c, T}; d=t ; U=96,3%; tarefa C T U τ 1 6.25 25 0.25» data de actvação das tarefas smultânea; τ 2 6.25 50 0.125» escalonamento não é realzável: τ 3 40 68 0.588 teste sufcente de escalonabldade não é respetado: U = 0,963 0,7798 meta temporal da tarefa t3 não é respetada após o nstante crítco. τ 1 =(6.25, 25) τ 2 =(6.25, 50) τ 3 =(40, 68) processador lvre escalonamento resultante Sstemas de Tempo-Real: Escalonamento (1) 66

Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM Passos para a demonstração: 1. Mostrar que o nstante crítco para uma tarefa τ ocorre quando a data de actvação desta tarefa é smultânea com a data de actvação de todas as tarefas de prordade superor; 2. Mostrar que após a ocorrênca de um nstante crítco, se um conjunto de tarefas é escalonável com uma atrbução arbtrára de prordades, então também é escalonável pelo algortmo RM Demonstração para o caso de 2 tarefas; Extensão ao caso de n tarefas. Instante crítco para uma tarefa τ : data de actvação da tarefa τ que conduz ao mas longo ntervalo de tempo para conclur a execução da tarefa menos prortára (τ n ). Sstemas de Tempo-Real: Escalonamento (1) 67 Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM 1. Mostrar que o nstante crítco para uma tarefa τ ocorre quando a data de actvação desta tarefa é smultânea com a data de actvação de todas as tarefas de prordade superor;» Consdere-se a tarefa τ n (menor prordade) e uma tarefa τ (prord. nterméda) τ τ r,1 r,2 r,1 r,2 τ n τ n rn,1 r n,1 C n +2C C n +3C Se se antecpar a data de actvação (r,k ) para a tarefa de prordade nterméda, sso pode sgnfcar um ncremento na data de fm de execução da tarefa menos prortára. A data de fm de execução mas tarda para a tarefa τ n será quando r,1 =r n,1 ; Este resultado é transponível para qualquer par de tarefas, pelo que a demonstração pode ser faclmente alargada ao conjunto de n tarefas. Sstemas de Tempo-Real: Escalonamento (1) 68

Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM Mostrar que após a ocorrênca de um nstante crítco, se um conjunto de tarefas é escalonável com uma atrbução arbtrára de prordades, então também é escalonável pelo algortmo RM.» Consderem-se duas tarefas τ 1 e τ 2 ;» Metodologa de prova: Atrbução de prordades arbtrára (não RM) Verfcação da condção de escalonabldade (E 1 ) Atrbução de prordades RM Demonstra-se que se E 1 se verfcar, então o sstema é gualmente escalonável pelo algortmo RM Sstemas de Tempo-Real: Escalonamento (1) 69 Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM Atrbução de prordades arbtrára (P 2 > P 1 )» Consderando o nstante crítco, o sstema é escalonável sse: C 1 +C 2 <T 1 (E 1 ) τ 1 T 1 τ 2 C 1 +C 2 T 2» Se E 1 se verfcar, então o sstema é também escalonável segundo RM; Atrbução de prordades segundo RM» Seja F o numero de períodos de τ 1 ntegralmente contdos em T 2 (F 1) T 2 F = T1 Sstemas de Tempo-Real: Escalonamento (1) 70

Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM Caso A: C 1 tem uma duração sufcentemente curta por forma que a nstânca de τ 1 actvada no nstante F*T 1 possa ser termnada antes da data T 2 ; τ 1 τ 2 T 1 C 1 T2 FT1 (caso A) ( ) 2» O sstema é escalonável se F + 1 C (E 2 ) 1 + C2 T» Demonstra-se que, se se verfca (E 1 ) (caso não RM), então (E 2 ) também se verfca (caso RM) F*T 1 de acordo com (E1): C 1 +C 2 <T 1, multplcando por F: F*C 1 +F*C 2 F*T 1 T 2 Como F 1, então F*C 1 +C 2 F*C 1 +F*C 2 F*T 1 Somando C 1 em ambos os termos: (F+1)*C 1 +C 2 F*T 1 +C 1 Como no caso A, C 1 T 2 -F*T 1, então (F+1)C 1 +C 2 F*T 1 +T 2 -F*T 1, ou seja, (F+1)C 1 +C 2 T 2, o que verfca (E 2 ) Sstemas de Tempo-Real: Escalonamento (1) 71 Algortmos Clásscos de Escalonamento Prova de optmaldade do algortmo RM Caso B: C 1 tem uma duração que não permte que a nstânca de τ 1 actvada no nstante F*T 1 possa ser termnada antes da data T 2 ; τ 1 τ 2 T 1 C 1 T2 FT1 (caso B) F*T 1» O sstema é escalonável se FC1 + C2 FT1 (E 3 )» Demonstra-se que, se se verfca (E 1 ) (caso não RM), então (E 3 ) também se verfca (caso RM) de acordo com (E 1 ): C 1 +C 2 <T 1, multplcando por F: F*C 1 +F*C 2 F*T 1 Como F 1, então F*C 1 +C 2 F*C 1 +F*C 2 F*T 1, o que verfca (E 3 )» Fca desta forma demonstrado que, se o sstema é escalonável com prordades arbtráras (E 1 ), então também o é com RM. T 2 Sstemas de Tempo-Real: Escalonamento (1) 72

Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento» Algortmo Rate Monotonc (RM)» Cálculo do Tempo de Resposta» Algortmo Deadlne Monotonc (DM)» Algortmo Earlest Deadlne Frst (EDF) Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 73 Algortmos Clásscos de Escalonamento Análse de Escalonabldade através do Tempo de Resposta: A análse de escalonabldade de um conjunto de tarefas através do cálculo da Utlzação apresenta grandes lmtações, devdo ao facto de não ser exacta e de apenas ser aplcável a modelos de tarefas muto smples. Através do cálculo do Tempo de Resposta obtém-se um teste de escalonabldade exacto:» se o teste for postvo, então o conjunto de tarefas é sempre escalonável;» se o teste for negatvo, então algumas metas temporas serão ultrapassadas durante a execução excepto se os tempos máxmos de execução das tarefas forem muto pessmstas. Sstemas de Tempo-Real: Escalonamento (1) 74

Algortmos Clásscos de Escalonamento Análse de Escalonabldade através do Tempo de Resposta: A análse de escalonabldade através do cálculo do máxmo Tempo de Resposta a consderação de modelos de tarefas mas elaborados:» Permte a consderação de relações de precedênca e de exclusão;» É váldo para qualquer escalonamento dnâmco com prordades estátcas, qualquer que seja a regra de atrbução de prordades às tarefas. Esta análse é baseada no cálculo da máxma Interferênca que o escalonamento de uma determnada tarefa pode sofrer, devdo ao escalonamento das tarefas de maor prordade Sstemas de Tempo-Real: Escalonamento (1) 75 Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta: Tempo de Resposta da tarefa τ : R = C + I I representa a nterferênca que o escalonamento da tarefa τ sofre devdo ao escalonamento das tarefas de maor prordade (I 1 =0) Interferênca: R = I j hp( ) Tj C j τ 1 =(6.25, 25) τ 2 =(6.25, 50) τ 3 =(40, 80) R 3 : tempo máxmo de resposta de τ 3 Sstemas de Tempo-Real: Escalonamento (1) 76

Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta: Tempo máxmo de Resposta: = R R C + j hp( ) T j C j hp() é o conjunto de tarefas com prordade superor à prordade da tarefa τ A equação é recursva, pelo que deve ser calculada através de terações sucessvas até que:» ou o tempo de resposta da tarefa seja superor à sua meta temporal (logo a tarefa não será escalonável)» ou o resultado convergr, ou seja o tempo de resposta na teração x+1 seja gual ao tempo de resposta na teração x. Sstemas de Tempo-Real: Escalonamento (1) 77 Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta: Cálculo do Máxmo Tempo de Resposta: Através de uma equação recursva, para a qual 0» valor ncal: w = C x w x+ 1» terações posterores: w = C + j hp( ) Tj 0 1 2 n O conjunto de valores é monotonamente não decrescente. w = n+1 n Quando a solução para a equação fo encontrada w w, w, w,... w,... C j Sstemas de Tempo-Real: Escalonamento (1) 78

Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta:» Tarefa t1:» Tarefa t2: R 1 = C1 = 6,25 0 w 2 = 6,25 1 6,25 w2 = 6,25 + 6,25 = 12,5 25 2 12,5 w2 = 6,25 + 6,25 = 12,5 25 R 2 = 12,5 R = R C + j hp( ) Tj C j τ 1 =(6.25, 25, 25) τ 2 =(6.25, 50, 50) τ 3 =(40, 80, 80) tempo máxmo de resposta de τ 3 Sstemas de Tempo-Real: Escalonamento (1) 79 Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta: 0» Tarefa t3: w 3 = 40 1 40 40 w = 40 + 6,25 + 6,25 25 50 3 = 58,75 58,75 58,75 w = 40 + 6,25 + 6,25 25 50 2 3 = 71,25 71,25 w = 40 + 6,25 + 6,25 25 50 3 3 = 71,25 71,25 R = R C + j hp( ) Tj C j R 3 = 71,25 τ 1 =(6.25, 25, 25) τ 2 =(6.25, 50, 50) τ 3 =(40, 80, 80) tempo máxmo de resposta de τ 3 Sstemas de Tempo-Real: Escalonamento (1) 80

Algortmos Clásscos de Escalonamento Cálculo do Tempo de Resposta (conclusão): O conjunto de tarefas é escalonável (tempo de resposta de cada uma das tarefas nferor à sua meta temporal), apesar do teste sufcente de escalonabldade (baseado na utlzação) ser negatvo. Tarefa C (duração) T (período) d (deadlne) R (tempo de resposta) U (utlzação) τ1 6,25 25 6,25 0,25 τ2 6,25 50 12,5 0,125 τ3 40 80 71,25 0,5 0,875 > 0,7798 Sstemas de Tempo-Real: Escalonamento (1) 81 Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento» Algortmo Rate Monotonc (RM)» Cálculo do Tempo de Resposta» Algortmo Deadlne Monotonc (DM)» Algortmo Earlest Deadlne Frst (EDF) Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 82

Algortmos Clásscos de Escalonamento Algortmo Rate Monotonc [Lu and Layland, 1973] Lmtação do algortmo RM: segundo este algortmo, a cada tarefa é atrbuída uma prordade proporconal à sua cadênca de actvação.» No entanto, a mportânca de uma tarefa pode ser ndependente da sua cadênca de actvação (por ex. letura de temperatura);» Exstem outros parâmetros temporas que podem ser consderados. Sstemas de Tempo-Real: Escalonamento (1) 83 Algortmos Clásscos de Escalonamento Algortmo Deadlne Monotonc [Leung and Whtehead, 1982] Algortmo de atrbução de prordades a um conjunto de tarefas peródcas, ndependentes e com metas temporas menores ou guas ao respectvo período (d T ): A atrbução de prordades às tarefas é efectuada na ordem nversa do valor da sua meta temporal: d < d P > P j j» desde a tarefa com menor meta temporal à qual é atrbuída a maor prordade, até à tarefa de maor meta temporal à qual é atrbuída a menor prordade;» as stuações de empate serão resolvdas arbtraramente; Trata-se de um algortmo óptmo para sstemas mono-processador. Sstemas de Tempo-Real: Escalonamento (1) 84

Algortmos Clásscos de Escalonamento Algortmo Deadlne Monotonc [Leung and Whtehead, 1982] Vantagens do algortmo DM» Smples e adequado para utlzação em sstemas operatvos exstentes;» Pode ser utlzado para a atrbução de prordades a níves de nterrupção;» Admte tarefas com metas temporas nferores ao período. Desvantagens do algortmo DM» Modelo de tarefas também muto lmtado;» Não suporta exclusão mútua no acesso a recursos partlhados. Sstemas de Tempo-Real: Escalonamento (1) 85 Algortmos Clásscos de Escalonamento Exemplos de escalonamento por prordades fxas : Apresentam-se 2 cenáros de escalonamento por prordades fxas (dêntco conjunto de tarefas), consderando:» prordades atrbuídas segundo o algortmo DM (tarefas ordenadas por valor de meta temporal crescente): calcula-se do tempo de resposta de cada uma das tarefas; verfca-se que o conjunto de tarefas é sempre escalonável;» prordades atrbuídas segundo o algortmo RM (tarefas ordenadas por perodcdade crescente): verfca-se que o conjunto de tarefas não é escalonável; Sstemas de Tempo-Real: Escalonamento (1) 86

Algortmos Clásscos de Escalonamento 1º Exemplo:» conjunto de tarefas ordenado por metas temporas crescentes Tarefa T (período) C (duração) d (m. temporal) P (prordade) U (utlzação) τ1 20 3 5 1 0,15 τ2 15 3 7 2 0,20 τ3 10 4 10 3 0,40 τ4 20 3 20 4 0,15 0,90 τ 1 =(3, 5, 20) τ 2 =(3, 7, 15) τ 3 =(4, 10, 10) τ 4 =(3, 20, 20) processador lvre Sstemas de Tempo-Real: Escalonamento (1) 87 Algortmos Clásscos de Escalonamento 1º Exemplo (cálculo do tempo de resposta):» Tarefa t1:» Tarefa t2: R 1 = C1 = 3 w 0 = 2 3 1 3 w = 3 + 3 20 2 6 w = 3 + 3 20 2 = 2 = 6 6 R 2 = 6 R = R C + j hp( ) Tj C j τ 1 =(3, 5, 20) τ 2 =(3, 7, 15) τ 3 =(4, 10, 10) τ 4 =(3, 20, 20) tempo máxmo de resposta de τ 2 Sstemas de Tempo-Real: Escalonamento (1) 88

Algortmos Clásscos de Escalonamento 1º Exemplo (cálculo do tempo de resposta):» Tarefa t3: 0 w 3 = 4 R = R C + j hp( ) Tj C j 1 4 4 w = 4 + 3 + 3 20 15 3 = 10 10 w = 4 + 3 + 3 20 15 2 3 = 10 10 R 3 = 10 τ 1 =(3, 5, 20) τ 2 =(3, 7, 15) τ 3 =(4, 10, 10) τ 4 =(3, 20, 20) tempo máxmo de resposta de τ 3 Sstemas de Tempo-Real: Escalonamento (1) 89 Algortmos Clásscos de Escalonamento 1º Exemplo (cálculo do tempo de resposta):» Tarefa t4: R = R C + j hp( ) Tj C j 0 1 3 3 3 w4 = 3 w4 = 3 + 3 + 3 + 4 = 13 20 15 10 2 13 13 13 w4 = 3 + 3 + 3 + 4 = 17 20 15 10 3 17 17 17 w4 = 3 + 3 + 3 + 4 = 20 20 15 10 4 20 20 20 w4 = 3 + 3 + 3 + 4 = 20 20 15 10 R 3 = 20 τ 1 =(3, 5, 20) τ 2 =(3, 7, 15) τ 3 =(4, 10, 10) τ 4 =(3, 20, 20) tempo máxmo de resposta de τ 4 Sstemas de Tempo-Real: Escalonamento (1) 90

Algortmos Clásscos de Escalonamento 1º Exemplo (conclusão): O conjunto de tarefas é sempre escalonável (tempo de resposta de cada uma das tarefas nferor ao valor da sua meta temporal). Tarefa T (período) C (duração) d (m. temporal) R (tempo de resposta) τ1 20 3 5 3 τ2 15 3 7 6 τ3 10 4 10 10 τ4 20 3 20 20 Sstemas de Tempo-Real: Escalonamento (1) 91 Algortmos Clásscos de Escalonamento 2º Exemplo:» conjunto de tarefas ordenado por períodos crescentes Tarefa T (período) C (duração) d (m. temporal) P (prordade) U (utlzação) τ1 20 3 5 3 0,15 τ2 15 3 7 2 0,20 τ3 10 4 10 1 0,40 τ4 20 3 20 4 0,15 0,90 τ 1 =(3, 5, 20) τ 2 =(3, 7, 15) τ 3 =(4, 10, 10) τ 4 =(3, 20, 20) processador lvre Sstemas de Tempo-Real: Escalonamento (1) 92

Algortmos Clásscos de Escalonamento 2º Exemplo (conclusão): Por smples nspecção da fgura anteror, verfca-se que o conjunto de tarefas não é escalonável quando se utlza o algortmo RM; O algortmo RM é um algortmo que não é óptmo quando se consderam conjuntos de tarefas com metas temporas nferores aos períodos;» Para este tpo de conjunto de tarefas (d<t), a atrbução dos níves de prordade deverá ser efectuada utlzando o algortmo DM (algortmo óptmo). Sstemas de Tempo-Real: Escalonamento (1) 93 Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento» Algortmo Rate Monotonc (RM)» Cálculo do Tempo de Resposta» Algortmo Deadlne Monotonc (DM)» Algortmo Earlest Deadlne Frst (EDF) Consderações suplementares Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 94

Algortmos Clásscos de Escalonamento Algortmo Earlest Deadlne Frst [Lu and Layland, 1973] Algortmo de atrbução dnâmca de prordades a um conjunto de tarefas peródcas, ndependentes (sem restrções de precedênca) e com metas temporas guas ao respectvo período (d = T ); Trata-se de um algortmo óptmo para sstemas mono-processador, no sentdo que se exstr um algortmo capaz de escalonar um conjunto de tarefas peródcas, ndependentes e com metas temporas guas ao respectvo período, então o algortmo EDF também é capaz de o escalonar. Sstemas de Tempo-Real: Escalonamento (1) 95 Algortmos Clásscos de Escalonamento Algortmo Earlest Deadlne Frst [Lu and Layland, 1973] A atrbução dnâmca de prordades às tarefas é efectuada na ordem nversa da dstânca, em cada momento, à meta temporal :» no momento de actvação de uma tarefa, ser-lhe-à atrbuída uma prordade tanto maor quanto menor a sua dstânca à meta temporal (relatvamente ao estado de todas as tarefas pendentes no momento);» sempre que uma nova tarefa é actvada, a fla de tarefas pendentes deverá ser reordenada em função da prordade da tarefa actvada. Sstemas de Tempo-Real: Escalonamento (1) 96

Algortmos Clásscos de Escalonamento Algortmo Earlest Deadlne Frst [Lu and Layland, 1973] Teste necessáro e sufcente de escalonabldade para o caso preemptvo: n C U = T = 1 1» o que sgnfca que qualquer conjunto de tarefas será escalonável pelo algortmo EDF, desde que a utlzação do processador não exceda 100%. Sstemas de Tempo-Real: Escalonamento (1) 97 Algortmos Clásscos de Escalonamento Algortmo Earlest Deadlne Frst [Lu and Layland, 1973] Vantagens:» algortmo óptmo, capaz de escalonar conjuntos de tarefas com utlzações até 100%; Desvantagens:» maor complexdade assocada à sua mplementação, consequênca do caracter dnâmco da atrbução de prordades;» perda de metas temporas dfícl de prever para o caso de sobrecargas transtóras. Sstemas de Tempo-Real: Escalonamento (1) 98

Algortmos Clásscos de Escalonamento Exemplos de escalonamento EDF vs. RM: Apresentam-se 2 cenáros de escalonamento (dêntco conjunto de tarefas), consderando:» prordades dnâmcas atrbuídas segundo o algortmo EDF: tarefas ordenadas (em tempo de execução) por dstânca à meta temporal crescente; verfca-se que o conjunto de tarefas é sempre escalonável;» prordades fxas atrbuídas segundo o algortmo RM: tarefas pré-ordenadas (em fase de concepção) por valor de meta temporal crescente: verfca-se que o conjunto de tarefas não é escalonável; Sstemas de Tempo-Real: Escalonamento (1) 99 Algortmos Clásscos de Escalonamento 1º Exemplo (algortmo EDF): actvações smultâneas; teste de escalonabldade respetado, logo o conjunto de tarefas é sempre escalonável; tarefa C T d U τ 1 1 7 7 0,1429 τ 2 2 9 9 0,2222 τ 3 3 11 11 0,2727 τ 4 4 13 13 0,3077 U_total: 0,9455 a prordade das tarefas vara ao longo do tempo, o que torna o sstema de dfícl prevsbldade no caso de sobrecargas transtóras. τ 1 τ 2 τ 3 τ 4 processador lvre escalonamento resultante 0 5 10 15 20 25 30 35 40 45 50 55 Sstemas de Tempo-Real: Escalonamento (1) 100

Algortmos Clásscos de Escalonamento 2º Exemplo (algortmo RM): tarefa C T d U actvações smultâneas; τ 1 1 7 7 0,1429 τ 2 2 9 9 0,2222 A meta temporal da tarefa de menor prordade τ 3 3 11 11 0,2727 após o nstante crítco não é respetada, logo o τ 4 4 13 13 0,3077 U_total: 0,9455 conjunto de tarefas não é escalonável; no caso de sobrecargas transtóras, as tarefas que perderão as suas metas temporas serão as tarefas de menor prordade (sstema prevsível). τ 1 τ 2 τ 3 τ 4 processador lvre escalonamento resultante 0 5 10 15 20 25 30 35 40 45 50 55 Sstemas de Tempo-Real: Escalonamento (1) 101 Algortmos Clásscos de Escalonamento» EDF 0 5 10 15 20 25 30 35 40 45 50 55» RM 0 5 10 15 20 25 30 35 40 45 50 55 Sstemas de Tempo-Real: Escalonamento (1) 102

Plano das Aulas Escalonamento de Tempo-Real Concetos e Defnções Classfcação de Algortmos de Escalonamento Algortmos Clásscos de Escalonamento Consderações suplementares» Tempo Máxmo de Execução de uma tarefa ( WCET )» Escalonamento de Tarefas Esporádcas/Aperódcas» Utlzação de Servdores Exclusão Mútua no Acesso a Recursos Partlhados Exemplo de Escalonamento em Computação Industral Sstemas de Tempo-Real: Escalonamento (1) 103 Consderações suplementares Consderações Suplementares: Tempo Máxmo de Execução ( WCET ): Pode ser obtdo através da medção do tempo de execução ou através de análse do códgo:» Caso sejam utlzadas técncas de medção, é dfícl garantr que fo observado o tempo máxmo ;» Caso se pretendam utlzar técncas de análse de códgo, é necessáro dspor de um modelo do funconamento do processador adequado (que nclua o funconamento de caches, ppelnes, wat states, etc. Sstemas de Tempo-Real: Escalonamento (1) 104