Você está na página 1de 51

Algoritmos de

Escalonamento
Sistemas de Tempo Real
Centro de Informtica - UFPE
Equipe
Ademir Jr.
Andr Guedes
Andr Souza
Bruno Barros
Digo Santiago
Francisco Simes
Rebeka Gomes
Renato Marcelino
Rodrigo Melo
Valmir Sena
Roteiro
Algoritmos de escalonamento
Rate Monotonic
Earliest Deadline First
Deadline Monotonic
Introduo
Escalonamento:
Procedimento de ordenar a execuo de tarefas
na fila de pronto
Aspecto importante em sistemas com restries
temporais
Detalhes de implementao tratados na fase de
projeto
Tarefa
Abstrao bsica de um problema de
escalonamento:
Concorrncia por recursos computacionais
Correctness e Timeliness
Precedncia e Excluso
Hard / Soft
Peridicas / Aperidicas
Espordicas
Tarefa
Tempo de Incio
Tempo de Trmino
Tempo de Chegada
Tempo de Liberao

Tempo de Computao
Perodo
Deadline
Release Jitter
Tarefa
Tempo de Incio
Tempo de Trmino
Tempo de Chegada
Tempo de Liberao

Tempo de Computao
Perodo
Deadline
Intervalo Mnimo
Escalonamento
Procedimento de ordenar a execuo de
tarefas na fila de pronto
Escalonador
Escala de execuo
Problema NP-Completo
Algoritmo timo
Caractersticas:
Preemptivo / No-Preemptivo
Esttico / Dinmico
Offline / Online
Escalonamento
Abordagens
Escalonamento
Teste de Escalonabilidade
Escalonamento
Utilizao de uma tarefa
Rate Monotonic
Scheduling
Motivao
STR desenvolvidos com tcnicas empricas podem
ser altamente imprevisveis
STR atuais so baseados em modificaes dos
sistemas time sharing:
Multitarefas
Escalonamento baseado em prioridade
Suporte de um clock de tempo real
Motivao
Algoritmos de escalonamento no consideram:

Tempo de computao
Restrio de tempo
Recursos compartilhados
Relao de precedncia entre as tarefas
Definies
Algumas definies importantes com respeito
a Tarefas Peridicas
C: WCET de uma tarefa
T: Periodo de uma tarefa
U: Processor Utilization Factor

U
lub
: Least Upper Bound Processor Utilization
Factor



Rate Monotonic Scheduling (RMS)
Algoritmo de Escalonamento Preemptivo e com
prioridades
Prioridades fixas e inversamente proporcionais
ao perodo
Tem garantias determinsticas em relao ao
tempo de resposta
Qualquer tarefa pode ser interrompida por outra
tarefa com maior prioridade que esteja no estado
PRONTO
Rate Monotonic Scheduling
(RMS)
Premissas
As tarefas so peridicas e independentes
O deadline de cada tarefa coincide com o seu
perodo e so conhecidos e estticos
O tempo de computao (WCET) de cada tarefa
conhecido e constante
O tempo de chaveamento dentre tarefas no
causa impacto no modelo
Rate Monotonic Scheduling
(RMS)
Escalonabilidade por Liu e Layland
Para um conjunto de tarefas, se U <= U
lub
ento
ele esse conjunto de tarefas escalonavel.
Para um conjunto com n tarefas, o U
lub
desse
conjunto em relao ao RMS dado por:

Para


) 1 2 (
lub
=
n
n U
n
... 693147 . 0 2 ln ) 1 2 ( lim ~ =

n
n
n
Logo, para que um conjunto de n tarefas seja
escalonvel:


Onde:
C
i
o custo da i
th
tarefa
T
i
o tempo de execuo da i
th
tarefa



) 1 2 (
1
s =

=
n
n
i
i
i
n
T
C
U
Rate Monotonic Scheduling
(RMS)
Escalonabilidade por Bini, Butazzo e Butazzo (2001)
Hiperbolic Bound for RMS
Mais abrangente
Menos pessimista
Aceita problemas que a frmula definida por Liu e Layland no
aceitaria
Um conjunto de tarefas com n escalonvel se:



Onde U
i
o fator de utilizao do processador da i
th
tarefa

Rate Monotonic Scheduling
(RMS)
Considere as trs tarefas:



Aplicando a frmula, temos:

Ento podemos dizer que estas tarefas so
escalonveis pelo RMS
Tarefa Perodo Tempo de execuo Prioridade RM Utilizao
A 100 20 1 0,2
B 150 40 2 0,267
C 350 100 3 0,286
779 , 0 ) 1 2 ( 3 753 , 0
3
= s
Rate Monotonic Scheduling
(RMS)
Utilizando a frmula de BBB, chegamos a
mesma concluso:

2 ) 1 (
3
1
s +
[
= i
i
U
2 1,9552344s
Rate Monotonic Scheduling
(RMS)
As tarefas A, B e C so executadas em t=0
Devido sua freqncia, A assume o processador
A conclui e B assume
C assume e interrompida logo aps por A
Rate Monotonic Scheduling
(RMS)
Tarefas Peridicas C
i
P
i
D
i

Tarefa A 10 20 20
Tarefa B 25 50 50
A,B A
0 40 10 20 30 50
A B

Rate Monotonic Scheduling
(RMS)
Vantagens

Simplicidade
RMS timo para a classe de problemas na qual
ele se encontra inserido

Rate Monotonic Scheduling
(RMS)
Desvantagens
Na prtica, a maioria dos problemas no possuem
suas tarefas totalmente independentes
O RMS original pode causar problemas de inverso de
prioridades e deadlock
Que pode ser resolvido com herana de prioridades
Ou mtodos alternativos, como o uso de algoritmos no-
bloqueveis, ou evitar o compartilhamento de semforo
entre threads com prioridades diferentes
Rate Monotonic Scheduling
(RMS)
Priority inheritance
Podem ser caracterizados por dois
parmetros:
Herana retardada (lazy) ou imediata
Retardada apenas quando for essencial
Imediata aumenta a prioridade
Herana otimista ou pessimista
Otimista aloca uma quantia mnima
Pessimista aloca mais que o necessrio
Priority inheritance (exemplo)
Considere as trs tarefas:
Tarefa Prioridade
A Alta
B Mdia
C Baixa
A e C utilizam o mesmo recurso
Enquanto C executa, ganha prioridade mais alta
B no consegue interromper C
C acaba de executar, muda de prioridade e acorda A
A interrompe C e termina de executar
B e C executam logo em seguida
Exemplos de uso
Quem j usou RMS?
In 1989 IBM applied RMA to a sonar training system, allowing them to discover and correct
performance problems [Lucas 92].
Since 1990, RMA was recommended by IBM Federal Sector Division (now Lockheed Martin) for its
real-time projects.
RMA was successfully applied to active and passive sonar of a major submarine system of US Navy.
RMA was selected by the European Space Agency as the baseline theory for its Hard Real-Time
Operating System Project.
The applicability of RMA to a typical avionics application was demonstrated [Locke 91].
RMA was adopted in 1990 by NASA for development of real-time software for the space station data
management subsystem. In 1992 Acting Deputy Administrator of NASA, Aaron Cohen stated,
"Through the development of rate monotonic scheduling, we now have a system that will allow
(Space Station) Freedom's computers to budget their time to choose [among] a variety of tasks, and
decide not only which one to do first but how much time to spend in the process."
Magnavox Electronics Systems Company incorporated RMA into real-time software development
[Ignace 94].
RMA principles have influenced the design and development of the following standards:
IEEE Futurebus+ [Sha 91b]
POSIX
Ada 95
Tool vendors provide the capability to analyze real-time designs using RMA. RMA algorithms, such as
priority inheritance, have been used by operating system and Ada compiler vendors.

Earliest Deadline First
EDF (Earliest Deadline First)
Algoritmo de escalonamento de tarefas
peridicas
Define escalonamento baseado em
prioridades
A tarefa mais prioritria a que tem o
deadline mais prximo do tempo atual
EDF (Earliest Deadline First)
A escala produzida em tempo de execuo
por um escalonador preemptivo
Simplificaes do Algoritmo:
Tarefas peridicas e independentes
Deadline igual ao perodo (Di=Pi).
O tempo de computao conhecido e constante
(tempo do pior caso).
Tempo de Chaveamento nulo.
Teste de Escalonabilidade do EDF
Pode ser realizado em tempo de projeto
Caso obedea as premissas do slide anterior
este teste suficiente e necessrio


Onde U o uso do processador, C o tempo de
computao e P o perodo
1
1
s =

=
n
i
i
i
P
C
U
EDF (Earliest Deadline First)
Tarefas Peridicas C
i
P
i
D
i

Tarefa A 10 20 20
Tarefa B 25 50 50
1
1
s =

=
n
i
i
i
P
C
U 10/20 + 25/50 = 1
EDF (Earliest Deadline First)
Tarefas Peridicas C
i
P
i
D
i

Tarefa A 10 20 20
Tarefa B 25 50 50
A,B A
0 40 10 20 30 50
A B

Exemplo de EDF
EDF (Earliest Deadline First)
Tarefas Peridicas C
i
P
i
D
i

Tarefa A 10 20 20
Tarefa B 25 50 50
A,B A
0 40 10 20 30 50
A B

B perde o Deadline
Exemplo de RMS
Deadline Monotonic
Deadline Monotonic
Algoritmo de escalonamento esttico
Proposto por Leung e Whitehead em 1982
Similar ao Rate Monotonic

"The inverse-deadline priority assignment is an
optimal priority assignment for one
processor."

Deadline Monotonic
Caractersticas:
Prioridades Estaticas
Preemptivo
Todos os processos so periodicos
Deadline <= Periodo
Prioridade inversamente proporcional ao
Deadline
Algoritmo timo
Deadline Monotonic
Onde:
Ti o perodo;
Ci o tempo de computao no pior caso (constante para cada instante);
Di o deadline (constante para cada instante);
Figura 1. instncia de tarefa no Deadline Monotonic
Deadline Monotonic
Como saber se todos os processos so
escalonveis utilizando o Deadline
Monotonic?

Roda e ver se funciona!!

Ou utilizar o teste de agendamento proposto
por Audsley.

Exemplo 1

Figura 2. exemplo de tarefas escalonadas no Deadline Monotonic
Deadline Monotonic
Maior tempo de resposta de uma tarefa
periodica igual a:
Ri = Ci + Ii
Ci => Tempo de Computao da tarefa i no pior caso.
Ii => Interferncia sofrida pela tarefa i pela outras tarefas.


Se para toda tarefa i temos Ri <= Di , ento o conjunto de tarefas ser
escalonavel com o Deadline Monotonic.
Deadline Monotonic




Substituindo:




Desejamos encontrar o menor valor de Ri que
satisfaa essa igualdade.



j
i
j
j
i
i
C
T
R
I
(
(
(
(

=
1
1
j
i
j
j
i
i i
C
T
R
C R
(
(
(
(

+ =

=
1
1
Deadline Monotonic
Algoritmo:
1. R = Cj
2. Calcula-se Ii

3. Se Ri = Ii + Ci , ento o pior caso Ri. Se no atualizar:
Ri = Ii + Ci, e voltar para o passo 2.
(0)
i
j =1
k
k k k
(K + 1) k
Exemplo 2
C T D
P1
1 4 3
P2
1 5 4
P3
2 6 5
P4
1 11 10
Exemplo 2
R4 = 5 ; I4 = 5 ; temos: I4 + C4 != R4
R4 = I4 + C4 = 6 ; I4 = 6 ; temos: I4 + C4 != R4
.
.
.
.
R4 = I4 + C4 = 10 ; I4 = 9 ; temos: I4 + C4 = R4

Ento pior tempo de resposta de P4 :
R4 = R4 = 10

(1)
(4)
(0)
(5)
(0)
(1)
(0)
(0) (1)
(0)
(1)
(5)
(5)
(5)
(5)
Exemplo 2
C T D
P1
1 4 3
P2
1 5 4
P3
2 6 5
P4
1 11 10
Exemplo 2
Como R4 <= D4, ento nesse caso P4
escalonvel utilizando o Deadline Monotonic.
Exemplo 2
Figura 3. grfico do exemplo 2
Referncias
Jean-Marie Farine, Sistemas de Tempo Real
Giorgio C. Buttazzo, Hard Real-Time
Computing Systems
Klein et al., A Practiotioners Handbook for
Real-Time Analysis
Neil C. Audsley, Deadline Monotonic
Scheduling

Você também pode gostar