escalonamento em sistemas de tempo real - ece.ufrgs.brfetter/eng04008/sched.pdf · atribuiçªo de...

51
Escalonamento em Sistemas de Tempo Real Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright (c) Walter Fetter Lages – p.1

Upload: vonhu

Post on 09-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Escalonamento em Sistemas deTempo Real

Walter Fetter [email protected]

Universidade Federal do Rio Grande do SulEscola de Engenharia

Departamento de Engenharia ElétricaENG04008 Sistemas de Tempo Real

Copyright (c) Walter Fetter Lages – p.1

Page 2: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Introdução

• Ordenação do uso dos recursos do sistema• Previsibilidade do comportamento do sistema no

pior caso• Interleaving

• 5 processos, não preemptivo, única CPU =>120 modos diferentes

• Preemptivo• Não preemptivo• Estático• Dinâmico

Copyright (c) Walter Fetter Lages – p.2

Page 3: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Modelo Simplificado de Processo

• Conjunto de processos fixo• Processos periódicos

• Períodos conhecidos• Processos independentes• Overheads do sistema desprezados• Deadline dos processo igual ao período• Pior caso do tempo de execução dos processos

fixo• Instante crítico -> todos os processos liberados no

mesmo instante

Copyright (c) Walter Fetter Lages – p.3

Page 4: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Notação

B tempo de processo bloqueado (pior caso)C tempo de computação (pior caso)D deadlineI tempo de interferênciaJ jitter de liberaçãoN número de processosP prioridade do processoR tempo de resposta do processo (pior caso)T tempo mínimo entre liberações (período)U tempo de utilização do processo (C/T )

Copyright (c) Walter Fetter Lages – p.4

Page 5: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Execução Cíclica

Processo Período Tempo de ComputaçãoA 25 10B 25 8C 50 5D 50 4E 100 2

Copyright (c) Walter Fetter Lages – p.5

Page 6: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Execução Cíclica

• Ciclos• Principal• Secundário

• Seqüência de chamadas de subrotinas• Não existe acesso concorrente à variáveis• Período de "processo"= n*ciclo secundário

• Dificuldades para processos esporádicos• Problemas com processos com períodos

longos• É difícil construir executivo cíclico• Processos com tempo de computação grandes

terão que ser divididos em processo menoresCopyright (c) Walter Fetter Lages – p.6

Page 7: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Escalonamento de Processos

• Preemptivo• Não preemptivo• Preenpção retardada• Despacho cooperativo• Prioridade

• Baseada nas propriedades temporais doprocesso

Copyright (c) Walter Fetter Lages – p.7

Page 8: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Rate Monotonic

• Quanto menor o período do processo, maior aprioridade

• Escalonamento ótimo para D = T• Se um conjunto de processos pode ser

escalonado com um esquema de prioridadesfixas, este conjunto de processos tambémpode ser escalonado com rate monotonic

Processo Período Prioridade

A 25 5

B 60 3

C 42 4

D 105 1

E 75 2

Copyright (c) Walter Fetter Lages – p.8

Page 9: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Teste de Utilização

• Prioridades atribuídas com rate monotonic• Suficiente, mas não necessário• Limite de utilização = 69.3%

N∑

i=1

(

Ci

Ti

)

< N(

21/N − 1)

N Limite

1 100%

2 82.8%

3 78.0%

4 75.7%

5 74.3%

10 71.8%Copyright (c) Walter Fetter Lages – p.9

Page 10: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

• Utilização total=82%• Limite para três processos=0.78• Falha no teste

T C P UTask 1 50 12 1 0.24Task 2 40 10 2 0.25Task 3 30 10 3 0.33

Copyright (c) Walter Fetter Lages – p.10

Page 11: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Time-line

• No instante 50, Task 1 executou apenas 10,quando necessitava executar 12

• perda de deadline

Copyright (c) Walter Fetter Lages – p.11

Page 12: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Gantt Chart

Copyright (c) Walter Fetter Lages – p.12

Page 13: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Teste Baseado em Time-line

• Time-line pode ser utilizada para determinar aescalonabilidade

• Quão longa precisa ser a time-line?• Se todos os processos tem o mesmo instante

de liberação (possuem um instante crítico emcomum), uma time-line igual ao períodomáximo é suficiente

• Portanto, se todos os processo cumprirem suaprimeira deadline, cumprirão todas as futuras

Copyright (c) Walter Fetter Lages – p.13

Page 14: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Contra-Exemplo

• Utilização=100%• Obviamente falha no teste de utilização

T C P UTask 1 80 40 1 0.50Task 2 40 10 2 0.25Task 3 20 5 3 0.25

Copyright (c) Walter Fetter Lages – p.14

Page 15: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Contra-Exemplo

Copyright (c) Walter Fetter Lages – p.15

Page 16: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Análise de Tempo de Resposta

• Teste de utilização não fornece indicação dotempo de resposta de cada processo

• Para o processo de maior prioridade, R = C

• Os demais, sofrerão interferência dos processosde maior prioridade

Ri = Ci + Ii

Copyright (c) Walter Fetter Lages – p.16

Page 17: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Interferência entre Processos

• Processo j com prioridade maior do que oprocesso i

Número de Liberações =

Ri

Tj

Interferência Máxima =

Ri

Tj

Cj

Ii =∑

j∈hp(i)

Ri

Tj

Cj

Copyright (c) Walter Fetter Lages – p.17

Page 18: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Cálculo do Tempo de Resposta

Ri = Ci +∑

j∈hp(i)

Ri

Tj

Cj

ωn+1i = Ci +

j∈hp(i)

ωni

Tj

Cj

Copyright (c) Walter Fetter Lages – p.18

Page 19: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Período Tempo de Computação PrioridadeTask 1 7 3 3Task 2 12 3 2Task 3 20 5 1• R1 = 3

• ω02 = 3

• ω12 = 3 + d3/7e3 = 6

• ω22 = 3 + d6/7e3 = 6 = R2

Copyright (c) Walter Fetter Lages – p.19

Page 20: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

• ω03 = 5

• ω13 = 5 + d5/7e3 + d5/12e3 = 11

• ω23 = 5 + d11/7e3 + d11/12e3 = 14

• ω33 = 5 + d14/7e3 + d14/12e3 = 17

• ω43 = 5 + d17/7e3 + d17/12e3 = 20

• ω53 = 5 + d20/7e3 + d20/12e3 = 20 = R3

Copyright (c) Walter Fetter Lages – p.20

Page 21: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Copyright (c) Walter Fetter Lages – p.21

Page 22: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Pior-caso do Tempo de Execução

• Medição• Dificuldade para garantir que o pior-caso foi

observado• Análise

• Dificuldade para modelar o processador• Cache• Pipeline• Wait-states

• Influência do compilador

Copyright (c) Walter Fetter Lages – p.22

Page 23: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Processos não Periódicos

• Processos esporádicos• T é interpretado como o período mínimo• D < T• Algoritmo de cálculo de R modificado para

ter como critério de parada ωwn+1i > Di

• Processos aperiódicos• T é interpretado como período médio

Copyright (c) Walter Fetter Lages – p.23

Page 24: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Deadline Monotonic

• Quanto menor o dealine, maior a prioridade• Escalonamento ótimo para D < T

T D C P RTask 1 20 5 3 4 3Task 2 15 7 3 3 6Task 3 10 10 4 2 10Task 4 20 20 3 1 20

Copyright (c) Walter Fetter Lages – p.24

Page 25: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Prova de que DMPO é Ótimo

• DMPO é ótimo se para qualquer conjunto deprocesso Q, escalonável por um esquema deprioridades Ω, Q também é escalonável porDMPO

• Se DMPO é ótimo, será possível transformar asprioridades de Q segundo Ω, nas prioridadessegundo DMPO, preservando a escalonabilidade

Copyright (c) Walter Fetter Lages – p.25

Page 26: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Prova de Otimalidade

• Sejam i e j dois processos com prioridadesadjacentes, tais que utilizando Ω• Pi > Pj e Di > Dj

• Definindo-se Ω′ tal que a ordem de i e j éinvertida, tem-se• Processos com prioridade > Pi não são

afetados• Processos com prioridade < Pj não são

afetados• O processo j, agora possui maior prioridade e

portanto é escalonável utilizando-se Ω′

• É necessário provar que i ainda é escalonávelCopyright (c) Walter Fetter Lages – p.26

Page 27: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Escalonabilidade de i

• Utilizando-se Ω• Rj ≤ Dj, Dj < Di, Di ≤ Ti

• O processo i interfere apenas uma vez durantea execução de j

• Utilizando-se Ω′

• Ri passa a ser Rj utilizando-se Ω, poisCj + Ci continua sendo o mesmo

• O processo j interfere apenas uma vezdurante a execução de i

• R′i = Rj ≤ Dj < Di, portanto i é escalonável

• Por repetição, DMPO é escalonável e ótimo

Copyright (c) Walter Fetter Lages – p.27

Page 28: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Interferência entre Processos

• Em geral, processos não são independentes• Comunicação e sincronismo causam

bloqueamento de processos• Inversão de prioridade

• Quando um processo é bloqueado esperandopor um evento gerado por um processo demenor prioridade

• Exemplo:• L1 e L4 compartilham uma seção crítica Q• L3 e L4 compratilham outra seção crítica V

Copyright (c) Walter Fetter Lages – p.28

Page 29: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Processo P Seqüência de Execução LiberaçãoL4 4 EEQVE 4L3 3 EVVE 2L2 2 EE 2L1 1 EQQQQE 0

Copyright (c) Walter Fetter Lages – p.29

Page 30: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Copyright (c) Walter Fetter Lages – p.30

Page 31: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Herança de Prioridade

• Se um processo p é suspenso esperando por umprocesso q, de menor prioridade, => prioridadede q = prioridade de p

Copyright (c) Walter Fetter Lages – p.31

Page 32: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Cálculo do Tempo de Bloqueio

• usage(k, i) = 1 se o recurso k é usado por pelomenos um processo de prioridade < i e pelomenos um processo de prioridade ≥ i e 0 casocontrário

• CS(k) = tempo de execução da seção crítica

Bi =K∑

k=1

usage(k, i)CS(k)

Copyright (c) Walter Fetter Lages – p.32

Page 33: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Tempo de Resposta com Bloqueio

Ri = Ci + Bi +∑

j∈hp(i)

Ri

Tj

Cj

Copyright (c) Walter Fetter Lages – p.33

Page 34: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Protocolos de Priority Ceiling

• Herança de prioridade• Cálculo de pior-caso pessimista• Bloqueamento transiente• Possibilidade de deadlock

• Priority ceiling• Um processo de alta prioridade pode ser

bloqueado uma única vez por um processo demenor prioridade

• Bloqueamento transiente e deadlocks sãoprevenidos

• É garantida a exclusão mútua no acesso aosrecursos

Copyright (c) Walter Fetter Lages – p.34

Page 35: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Original Ceiling Priority Protocol

• Cada processo tem uma prioridade estática• Cada recurso tem um valor de ceiling

• Máxprioridade dos processos que oacessam

• Cada processo tem uma prioridade dinâmica• Máxprioridade estática, prioridade herdada

• Um processo pode reservar um recurso somentese a sua prioridade dinâmica é maior do que oceiling de qualquer recurso já reservado poroutros processos

Copyright (c) Walter Fetter Lages – p.35

Page 36: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

OCPP

• O primeiro recurso sempre será alocado• Um segundo recurso só será reservade se não

exister um processo de prioridade maior que useo mesmo recurso

• Processo de alta prioridade só serão bloqueadosuma única vez por processo de baixa prioridade

Bi =K

maxk=1

usage(k, i)CS(k)

Copyright (c) Walter Fetter Lages – p.36

Page 37: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Copyright (c) Walter Fetter Lages – p.37

Page 38: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Immediate Ceiling Priority Protocol

• Cada processo tem uma prioridade estática• Cada recurso tem um valor de ceiling

• Máxprioridade dos processos que oacessam

• Cada processo tem uma prioridade dinâmica• Máxprioridade estática, ceiling dos recursos

reservados• Os processo serão bloqueados apenas no início de

sua execução• Quando o processo realmente começar a

executar todos os recursos estarão disponíveis

Copyright (c) Walter Fetter Lages – p.38

Page 39: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

ICPP

• Pior caso do tempo de bloqueio=OCPP• É mais fácil de implementar do que OCPP

• Não necessita monitorar as relações debloqueio

• Provoca menos trocas de contexto• Causa mais trocas de prioridade

• Trocas a cada reserva de recurso• OCPP apenas causa troca de prioridade se um

bloqueio é provocado• ICPP é denominado Priority Protected Protocol

no POSIX• Utilizado por variáveis mutex

Copyright (c) Walter Fetter Lages – p.39

Page 40: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Exemplo

Copyright (c) Walter Fetter Lages – p.40

Page 41: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Ceiling, Exclusão Mútua e Deadlocks

• Os protocolos OCPP e ICPP implementam aexclusão mútua por sí só, sem necessidade deoutras primitivas para garantir a exclusão mútua

• Previnem Deadlocks• Não existe a possibilidade de espera circular

Copyright (c) Walter Fetter Lages – p.41

Page 42: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Escalonamento Cooperativo

• Bmáx = máximo tempo de bloqueio• Cada processo é divididos em blocks

não-preemptíveis, limitados por Bmáx• Ao final de cada bloco é chamada uma função

do kernel para oferecer a chance de"desescalonamento"

• O kernel pode monitorar o tempo e enviar umsinal ou abortar o processo se um bloco nãopreemptível for maior do que Bmáx

• Exclusão mútua garantida dentro de cada bloconão-preemptível

Copyright (c) Walter Fetter Lages – p.42

Page 43: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Escalonamento Cooperativo

• Aumenta a escalonabilidade do sistema• Tende a causar menores valores de tempo de

computação• Não ocorre interferência no último bloco• Fi=tempo de execução do último bloco

ωn+1i = Bi + Ci − Fi +

j∈hp(i)

ωni

Tj

Cj

Ri = ωni + Fi

Copyright (c) Walter Fetter Lages – p.43

Page 44: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Jitter de Liberação

• Processo periódico (L) liberando um processoesporádico (S)

• TL = TS ?

Copyright (c) Walter Fetter Lages – p.44

Page 45: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Jitter de Liberação

• Execução do processo periódico pode serqualquer valor entre RL e CL = 0

• TL − RL < TS < TL

• J =jitter de liberação• O processo i vai sofrer:

• Uma interferência de S se 0 ≤ Ri < T − J• Duas interferências de S se

T − J ≤ Ri < 2T − J• Três interferências de S se

2T − J ≤ Ri < 3T − J

Copyright (c) Walter Fetter Lages – p.45

Page 46: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Tempo de Resposta com Jitter

Ri = Bi + Ci +∑

j∈hp(i)

Ri + Jj

Tj

Cj

Rperiódicoi = Ri + Ji

Copyright (c) Walter Fetter Lages – p.46

Page 47: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Deadline Arbitrário

• D > T

• É necessário considerar a liberação de diversasinstâncias do processo

• ω(q) =janela com a superposição de q instâncias

ωn+1i (q) = Bi + (q + 1)Ci +

j∈hp(i)

ωni (q)

Tj

Cj

Copyright (c) Walter Fetter Lages – p.47

Page 48: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Resposta com Deadline Arbitrário

Ri(q) = ωni (q) − qTi

Ri(q) ≤ Ti

Ri = maxq=0,1,2,...

Ri(q)

Copyright (c) Walter Fetter Lages – p.48

Page 49: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Atribuição de Prioridade

• Para deadlines genéricos, nenhum algoritmossimples (rate ou deadline monotonic) é ótimo

• Teorema:• Se um processo T possui a prioridade mais

baixa e é factível, então• Se um esquema de prioridades factível

existe para todo o conjunto de processos,então· Existe um esquema de prioridades tal

que T possui a menor prioridade• O teorema pode ser aplicado sucessivamente• Se o teste de factibilidade for exato (necessário e

suficiente) o esquema obtido é ótimoCopyright (c) Walter Fetter Lages – p.49

Page 50: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Outros Esquemas

• Esquemas sem prioridade• Round-robin

• É alocado um quantum de tempo para cadaprocesso

• First-in First-out• Pode-se ter um esquema de prioridade com

vários processos com a mesma prioridade• Escalonamento RR ou FIFO em cada fila

de prioridade• Utilizado no POSIX

• Shortest Job First

Copyright (c) Walter Fetter Lages – p.50

Page 51: Escalonamento em Sistemas de Tempo Real - ece.ufrgs.brfetter/eng04008/sched.pdf · Atribuiçªo de Prioridade Para deadlines genØricos, nenhum algoritmos simples (rate ou deadline

Outros Esquemas

• Escalonamento dinâmico• Earliest deadline• Least slack time

• slack=deadline-tempo de execução• Algoritmos ótimos

• Garantem escalonabilidade com utilizaçãode 100%

• Adequados para processos aperiódicos• Deadlines são perdidos durante sobrecargas

transitórias• Pouco previsibilidade quando é introduzido

bloqueamento

Copyright (c) Walter Fetter Lages – p.51