Vous êtes sur la page 1sur 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, peridicas em geral: tarefas

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 Peridicas Perodo Tempo de Computao Prioridade RM Utilizao

Tarefa A Tarefa B Tarefa C

100 150 350

20 40 100

1 2 3

0,2 0,267 0,286

Escalonamento de Taxa Monotnica


Tarefas Peridicas Perodo Tempo de Computao Prioridade RM Utilizao

Tarefa A Tarefa B Tarefa C

100 150 350

20 40 100

1 2 3

0,2 0,267 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 um espao de endereamento
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 Peridicas Perodo Tempo de Computao Prioridade RM Utilizao

Tarefa A Tarefa B Tarefa C

10 15 35

2 4 10

1 2 3

0,2 0,267 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 Tarefa B Tarefa C

4 8 16

1 3 5

1 2 3

0,25 0,375 0,25

No entanto, escalonvel.

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 Peridicas Perodo Tempo de Computao Prioridade RM Utilizao

Tarefa A Tarefa B

20 50

10 25

1 2

0,5 0,5

Outro exemplo
Tarefas Peridicas Perodo Tempo de Computao Utilizao

Tarefa A Tarefa B

20 50

10 25

0,5 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 de prioridades de acordo com os deadlines de cada tarefa.

Earliest Deadline First (EDF)


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

Tarefa A Tarefa B

20 50

10 25

0,5 0,5

Earliest Deadline First (EDF)


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

Tarefa A Tarefa B

20 50

10 25

0,5 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 (on-line). 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 Computao Deadline Prioridade RM

Tarefa A Tarefa B Tarefa C

2 2 8

10 10 20

6 8 16

1 2 3

Escalonamento Deadline Monotnico


Tarefas Peridicas Perodo Tempo de Computao Deadline Prioridade RM

Tarefa A Tarefa B Tarefa C

2 2 8

10 10 20

6 8 16

1 2 3

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).

Vous aimerez peut-être aussi