Você está na página 1de 39

Algoritmos para

Escalonamento de Tempo
Real (RM, EDF, DM)
Andr Luis Meneses Silva
andreluis.ms@gmail.com
strufs.wordpress.com

Agenda

Introduo
Escalonamento de Tarefas Peridicas
Escalonamento de Taxa Monotnica
Earliest Deadline First
Escalonamento
de
Deadline
Monotnico

Introduo
O que vamos ver em escalonamento
de STR?
Escalonamento de Tarefas Peridicas
Tarefas Dependentes: Compartilhamento
de Recursos
Tarefas Dependentes: Relaes de
Precedncia
Escalonamento de Tarefas Aperidicas

Escalonamento de Tarefas
Peridicas
Devido a sua previsibilidade, tarefas
peridicas em geral:
Permite que se obtenha garantias em
tempo de projeto.
Utilizadas para modelagem de sistemas
de controle de processos e aplicaes
multimdia.

Escalonamento de Tarefas
Peridicas
Os algoritmos de escalonamento que
sero vistos so:
Dirigidos a prioridades
Prioridades so atribudas de acordo com
as restries temporais das tarefas.
Veremos 3 algoritmos:
Escalonamento de Taxa Monotnica (Rate
Monotonic)
Earliest Deadline First (EDF)
Escalonamento Deadline Monotnico (DM)

Escalonamento de Taxa
Motnica
Desenvolvido por Liu & Layland.
Produz escalas em tempo de execuo
atravs de escalonadores preemptivos
dirigidos a prioridades.
On-line ou offline?

um esquema de prioridade fixa, ou


seja, tarefas sempre possuem a
mesma prioridade.
Esttico ou dinmico?

Escalonamento de Taxa
Monotnica
O algoritmo RM trabalha sobre um
modelo de tarefas bastante simples, que
obedece s seguintes premissas:
As tarefas so peridicas e independentes.
O deadline de cada tarefa coincide com o
seu perodo (Di = Pi)
O tempo de computao (Ci) de cada tarefa
conhecido e constante (Worst Case
Computation Time)
O tempo de chaveamento entre tarefas
assumido nulo.

Escalonamento de Taxa
Monotnica
Idia: Dar maior prioridade s tarefas
de menor perodo.

Escalonamento de Taxa
Monotnica
Idia: Dar maior prioridade s tarefas
de menor perodo.
Tarefas
Peridica
s

Perodo

Tempo de Prioridad
Computa
e RM
o

Utilizao

Tarefa A

100

20

0,2

Tarefa B

150

40

0,267

Tarefa C

350

100

0,286

Escalonamento de Taxa
Monotnica
Tarefas
Peridicas

Perodo

Tempo de
Computao

Prioridade RM

Utilizao

Tarefa A

100

20

0,2

Tarefa B

150

40

0,267

Tarefa C

350

100

0,286

Vamos reproduzir no
Cheddar
1. Inserindo um processador
Edit >> Add >> Add a processor

Processor Name : Processor_1


Scheduler: Rate Monotonic
Option: Preemptive
Add
Cliquem em Advanced para confirmar se
realmente foi adicionado.

Vamos reproduzir no
Cheddar
2.
Inserindo
endereamento

um

espao

de

Edit >> Add >> Add an Address Space

Address Space Name : mem_1


Processor: Processor_1
Add
Cliquem em Advanced para confirmar se
realmente foi adicionado.

Vamos reproduzir no
Cheddar
3. Inserindo Tarefas (inserir 3 tarefas)
Edit >> Add >> Add a Task

Name : task_1, task_2, task_3


Task Type: Periodic
Address Space: mem_1
Processor: Processor_1
Inserir Capacity, Deadline e Period de acordo
com a tabela do prximo slide.
Cliquem em Advanced para confirmar se
realmente foi adicionado.

Vamos reproduzir no
Cheddar
Tarefas
Tarefas
Peridica
s

Perodo

Tempo de Prioridad
Computa
e RM
o

Utilizao

Tarefa A

10

0,2

Tarefa B

15

0,267

Tarefa C

35

10

0,286

Vamos reproduzir no
Cheddar
Simulando
Clique no boto Scheduling
Simulation
Clique em ok.

Escalonamento de Taxa
Monotnica
Que trabalho
Para todo projeto de tempo real
devemos construir esta escala?
Com certeza

Existe alguma frmula que nos d


alguma
perspectiva
antes
de
construirmos a escala?
Sim? Qual?

Escalonamento de Taxa
Monotnica
A anlise de escalonabilidade pode
ser feita atravs do teste abaixo que
define uma condio suficiente.

Escalonamento de Taxa
Monotnica
Aplicando a frmula no exemplo
utilizado no cheddar, temos:

No Cheddar
Cliquem no boto Scheduling
feasibility.

Escalonamento de Taxa
Monotnica
Quando as tarefas menos prioritrias
possuem perodos mltiplos em
relao a mais prioritria, temos:

Condio necessria e suficiente

Escalonamento de Taxa
Monotnica
Aplicando a primeira frmula, temos:
Tarefas
Peridicas

Perodo

Tempo de
Computao

Prioridade RM

Utilizao

Tarefa A

0,25

Tarefa B

0,375

Tarefa C

16

0,25

No
entanto,
escalonve
l.

Escalonamento de Taxa
Monotnica
Muito
utilizado
devido
a
sua
simplicidade de implementao.
um algoritmo timo para a classe
de problemas que se prope
Tarefas peridicas.
P = D.
Prioridade Fixa.

Outro exemplo
Digamos que modelamos um sistema
com as seguintes tarefas. O que
acontece
no RM?
Tarefas
Perodo
Tempo de Prioridad Utilizao
Peridica
s

Tarefa A
Tarefa B

20
50

Computa
o

e RM

10
25

1
2

0,5
0,5

Outro exemplo
Tarefas
Peridicas

Perodo

Tempo de
Computao

Utilizao

Tarefa A

20

10

0,5

Tarefa B

50

25

0,5

O que fazer?

Earliest Deadline First (EDF)


Desenvolvido por Liu & Leiland
Produz escalas em tempo de
execuo atravs de escalonadores
preemptivos dirigidos a prioridades.
um esquema de prioridade
dinmica.
On-line e Dinmico.

Earliest Deadline First (EDF)


O algoritmo EDF trabalha sobre um
modelo de tarefas bastante simples, que
obedece as seguintes premissas:
As tarefas so peridicas e independentes.
O deadline de cada tarefa coincide com o
seu perodo (Di = Pi)
O tempo de computao (Ci) de cada tarefa
conhecido e constante (Worst Case
Computation Time)
O tempo de chaveamento entre tarefas
assumido nulo.

Earliest Deadline First (EDF)


Idia:
Atribuio
dinmica
prioridades de acordo com
deadlines de cada tarefa.

de
os

Earliest Deadline First (EDF)


Idia:
Atribuio
dinmica
de
prioridades de acordo com os
Tarefas
Perodo
Tempo de
Utilizao
deadlines
de
cada
tarefa.
Peridicas
Computao
Tarefa A

20

10

0,5

Tarefa B

50

25

0,5

Earliest Deadline First (EDF)


Idia:
Atribuio
dinmica
de
prioridades de acordo com os
Tarefas
Perodo
Tempo de
Utilizao
deadlines
de
cada
tarefa.
Peridicas
Computao
Tarefa A

20

10

0,5

Tarefa B

50

25

0,5

Earliest Deadline First (EDF)


A anlise de escalonabilidade pode
ser feita atravs do teste abaixo que
define uma condio suficiente e
necessria.

Escalonamento EDF
Embora consiga trabalhar com um
conjunto maior de casos, EDF possui
implementao complexa.
um algoritmo timo para a classe
de problemas que se prope
Tarefas peridicas.
P = D.
Prioridade Dinmica.

Escalonamento Deadline
Monotnico
Desenvolvido por Leung & Whitehead
Estende o modelo de tarefas do Taxa
Monotnico.
Escala em tempo de execuo (online).
Prioridades Fixas (esttico).

Escalonamento Deadline
Monotnico
Premissas:
As tarefas so peridicas e independentes.
O deadline de cada tarefa pode no
coincidir com o seu perodo (
)
O tempo de computao (Ci) de cada tarefa
conhecido e constante (Worst Case
Computation Time)
O tempo de chaveamento entre tarefas
assumido nulo.

Escalonamento Deadline
Monotnico
Idia:
Atribuio
esttica
de
prioridades baseada nos deadlines
relativos das tarefas (Di).
Tarefas
Peridicas

Perodo

Tempo de
Computa
o

Deadline

Prioridade
RM

Tarefa A

10

Tarefa B

10

Tarefa C

20

16

Escalonamento Deadline
Monotnico
Tarefas
Peridicas

Perodo

Tempo de
Computao

Deadline

Prioridade
RM

Tarefa A

10

Tarefa B

10

Tarefa C

20

16

Exerccios
Considere cada tarefa P como sendo a
tripla P(tempo de computao, perodo,
deadline).
1. Sejam P1(5, 10, 10) e P2(20, 40, 40)
Calcule a utilizao (U)
Mostre um escalonamento praticvel usando
EDF.
Demonstre que um escalonamento praticvel
baseado em prioridades fixas existe ou prove
que no pode existir.

Exerccios
2. Sejam P1 = (3, 9, 6), P2 = (4, 18,
12) e P3 = (4, 12, 10).
Qual a utilizao do processador U
Mostre que um escalonamento RM
existe ou no.
Mostre que um escalonamento EDF
existe ou no.
Mostre que um escalonamento DM
existe ou no.

Referncias
Farines
Seo 2.4

Sistemas de Tempo Real. Alan C.


Shaw (Captulo 6).
System Design and Analysis. Philip A.
Laplace (Captulo 3, sees 3.2.4 e
3.2.5).

Você também pode gostar