Вы находитесь на странице: 1из 36

Escalonamento de Tarefas

Tempo-real

Utilizao de uma tarefa


A utilizao de uma tarefa Ti serve
como uma medida da ocupao do
processador pela mesma, dado por:
Ui= Ci/Pi se a tarefa Ti peridica, ou
Ui= Ci/Mini se a tarefa Ti espordica

Escalonamento Taxa Monotnica


O escalonamento Taxa Monotnica (Rate
Monotonic) produz escalas em tempo de
execuo
atravs
de
escalonadores
preemptivos, dirigidos a prioridades. um
esquema de prioridade fixa;
O RM dito timo entre os escalonamentos
de prioridade fixa na sua classe de problema,
ou seja, nenhum outro algoritmo da mesma
classe pode escalonar um conjunto de tarefas
que no seja escalonvel pelo RM

Escalonamento Taxa Monotnica


As premissas do RM que facilitam as
anlises de escalonabilidade, definem um
modelo de tarefas bastante simples :
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 como nulo.

Escalonamento Taxa Monotnica


A poltica que define a atribuio de prioridades
usando o RM, atribui prioridades decrescente em
funo do aumento dos perodos, ou seja, quanto
mais frequente a tarefa maior a sua prioridade;
A anlise de escalonabilidade no RM, feita em
tempo de projeto, baseada no clculo da
utilizao. Para que n tarefas tenham o
atendimento de suas restries temporais quando
escalonadas pelo RM, deve ser:

Escalonamento Taxa
Monotnica
Quando as tarefas do conjunto
apresentam perodos mltiplos do
perodo da tarefa mais prioritria a
utilizao alcanada sob o RM se
aproxima
do
mximo
terico,
coincidindo o teste abaixo com uma
condio
necessria
e
suficiente[Kop92c]:

Escalonamento Taxa
Monotnica

Escalonamento Taxa
Monotnica
A utilizao do processador por esse
conjunto de tarefas corresponde a
0,753 conclui se que esse conjunto
escalonvel sob o RM:

Escalonamento Taxa
Monotnica
Diagrama de Gantt

Escalonamento "Earliest Deadline First"


(EDF) (LIL73)
O "Earliest Deadline First" (EDF) define um escalonamento
baseado em prioridades;
A escala produzida em tempo de execuo por um
escalonador preemptivo dirigido a prioridades;
um esquema de prioridades dinmicas com um
escalonamento "on-line" e dinmico;
O modelo de tarefas no EDF considera:
a) As tarefas so peridicas e independentes;
b) O "deadline" de cada tarefa coincide com o seu
perodo;
c) O tempo de computao (Ci) de cada tarefa

conhecido e constante (Worst Case Computation Time):


d) O tempo de chaveamento entre tarefas assumido
como nulo.

Escalonamento "Earliest Deadline


First" (EDF) (LiL 73)
A poltica de escalonamento no EDF atribui
dinamicamente as
de prioridades e
ordena das tarefas segundo os seus
"deadlines" absolutos (di);
A tarefa mais prioritria a que tem o
"deadline" di mais prximo do tempo
atual;
A cada chegada de tarefa na fila de
prontos
reordenada, considerando a
nova distribuio de prioridades;

Exemplo
Escalonar as tarefas atravs dos
algoritmos RM e EDF

Escalonamento EDF (exemplo)


Escalonado segundo EDF

Escalonado de acordo com


o RM
Escalonamento RM

Escalonamento "Deadline"
Monotnico [LeW82]
A poltica do DM define uma atribuio esttica
de prioridades, baseada nos "deadlines"
relativos das tarefas (Di);
As prioridades so atribudas na ordem inversa
dos valores de seus "deadlines" relativos;
A produo da escala, portanto, feita em
tempo
de
execuo
por
escalonador
preemptivo dirigido a prioridades com Di<Pi;
O esquema de prioridades fixas do DM tambm
define um escalonamento esttico e "on-line;

Escalonamento "Deadline"
Monotnico [LeW82]

Deadline Menor que o Perodo


O modelo assume tarefas com deadlines
menores ou iguais aos seus perodos (Di Pi);
Para o clculo do tempo de resposta mximo
de uma tarefa necessrio que se defina uma
janela de tempo
Ri que corresponda ao
intervalo de tempo mximo transcorrido da
liberao de uma tarefa Ti at o trmino de
sua execuo;
A largura Ri corresponde ao tempo necessrio,
em situao de instante crtico, para a
execuo de Ti e de todas as tarefas com
prioridades maiores ou iguais a i;

Deadline Menor que o


Perodo
onde hp(i) o conjunto de prioridades maior que i
e, Ij a interferncia que a tarefa Ti pode sofrer
de uma tarefa Tj de prioridade maior, durante a
largura Ri. A interferncia Ij calculada por:

Onde IRi/PjI representa o nmero de liberaes de


Tj em Ri. A expresso do tempo de resposta Ri
pode ser reescrita como:

Deadline Menor que o


Perodo
Uma tarefa
Ti mantm suas
propriedades temporais sempre que
Ri
Di. Nesta verificao

necessrio a determinao de Ri;


Porm a largura Ri aparecendo em
ambos os lados dessa equao,
implica na necessidade de um mtodo
iterativo para essa determinao;
A soluo :

Exemplo

Exemplo
Clculo de RA TA no sofre interferncia logo
RA=CA=2. A tarefa A escalonvel pois RA<6;
Clculo de RB

A tarefa B escalonvel pois RB<8

Exemplo
Clculo de RC

Influncia do jitter
Nos modelos apresentados at aqui as tarefas so
assumidas como peridicas e liberadas sempre no
incio de cada perodo. Contudo isto nem sempre
corresponde a uma hiptese realista;
Escalonadores ativados por tempo ("ticket
scheduler" [TBW94]) podem ser fonte do atraso
na liberao de tarefas: as tarefas tem as suas
chegadas detectadas nos tempos de ativao do
escalonador, determinando atrasos nas suas
liberaes. Esses atrasos podem ser expressados
no pior caso como "release jitters" (J).

Influncia do jitter
Se considerarmos a janela Wi, o limite mximo
das ocorrncias de Tj nesse intervalo dado por
IWi/PjI. Porm ao se assumir que uma instncia de
Tj, anterior ao incio de Wi, experimenta um
atraso mximo Jj na sua liberao determinando
a interferncia dessa instncia sobre Ti associada
com Wi, o nmero de ativaes de Tj que
interferem com Ti
passa a ser I(Wi+Jj)/PjI.
Nessas condies o clculo de Wi dado por
[TBW94];

Restries Temporais

Tarefas Peridicas: Quando as ativaes do


processamento de uma tarefa ocorrem, numa seqncia
infinita, uma s ativao por intervalo regular chamado
de Perodo, essa tarefa identificada como peridica. As
ativaes de uma tarefa peridica formam o conjunto de
diferentes instncias da tarefa. Nesse texto assumimos a
primeira ativao de uma tarefa peridica ocorrendo na
origem dos tempos considerados na aplicao (em t=0);
Tarefas Aperidicas ou Tarefas Assncronas:
Quando a ativao do processamento de uma tarefa
responde a eventos internos ou externos definindo uma
caracterstica aleatria nessas ativaes, a tarefa dita
aperidica.

Restries Temporais
Tempo
de
computao
("Computation Time"): o tempo
necessrio para a execuo completa
da tarefa. Deve ser considerado o
pior caso nas anlise ;
Tempo de incio ("Start Time"):
Esse tempo corresponde ao instante
de incio do processamento da tarefa
em uma ativao;

Restries Temporais
Tempo de trmino ("Completion Time"): o
instante de tempo em que se completa a execuo da
tarefa na ativao;
Tempo de chegada ("Arrival Time"): O tempo de
chegada de uma tarefa
o instante em que o
escalonador toma conhecimento de uma ativao
dessa tarefa. Em tarefas peridicas, o tempo de
chegada coincide sempre com o incio do perodo da
ativao;
Tempo de liberao ("Release Time"): O tempo de
liberao de uma tarefa coincide com o instante de
sua incluso na fila de tarefas prontas para executar.

Restries Temporais
Em geral assumido que to logo uma instncia de uma tarefa
chegue, a mesma liberada na fila de Pronto. Mas, nem sempre
esse o caso; uma tarefa pode ser retardada na sua liberao
pelo "polling" de um escalonador ativado por tempo ("tick
scheduler") ou talvez pelo bloqueio na recepo de uma
mensagem (tarefas ativadas por mensagem). Essa no
coincidncia dos tempos de chegada com as liberaes da tarefa
conduz ao que
identificado como
"Release Jitter", que
representa a mxima variao dos tempos de liberao das
instncias da tarefa;
Diante das restries temporais citadas temos ento o
comportamento temporal de uma tarefa peridica Ti descrito
pela qudrupla (Ji, Ci, Pi, Di) onde Ci representa o tempo de
computao da tarefa, Pi o perodo da tarefa, Di o
"deadline" e Ji o "Release Jitter" da tarefa.

Carga computacional
Carga computacional ou task load o
somatrio dos tempos de computao
dessas tarefas na fila de Pronto;
Carga esttica ou limitada -> todas as tarefas
so bem conhecidas em tempo de projeto na
forma de suas restries temporais, ou seja,
so conhecidas nas suas condies de
chegada ("arrival times" das tarefas);
Cargas dinmicas ou ilimitadas ocorrem em
situaes onde as caractersticas de chegada
das tarefas no podem ser antecipadas;

Utilizao do processador por uma


tarefa
Utilizao de uma tarefa Ti serve como
uma medida da ocupao do
processador pela mesma, dado por:

onde Ci, Pi e Mini so respectivamente


o tempo mximo de computao, o
perodo e o intervalo mnimo entre
requisies da tarefa Ti.

Utilizao do processador por um


conjunto de tarefas
A utilizao de um processador (U)
d a medida da ocupao do mesmo
por um conjunto de tarefas { T1, T2,
T3, ..., Tn}:
U

Escalonamento Taxa Monotnica


(LiL 73)
As premissas do RM que facilitam as
anlises de escalonabilidade, definem um
modelo de tarefas bastante simples :
A) As tarefas so peridicas e independentes;
B) O "deadline" de cada tarefa coincide com o
seu perodo (Di=Pi);
C) O tempo de computao (Ci) de cada tarefa
conhecido e constante (Worst Case
Computation Time);
d) O tempo de chaveamento entre tarefas
assumido como nulo.

Escalonamento Taxa Monotnica


(LiL 73)
A atribuio de prioridades usando o
RM em funo do seu perodo e
menor quanto maior for o seu
perodo;
Para que
n tarefas tenham o
atendimento de suas restries
temporais quando escalonadas pelo
RM, deve ser satisfeito o teste abaixo
que define uma condio suficiente:

Escalonamento Taxa
Monotnica
A medida que n cresce, nesse teste, a
utilizao do processador converge para 0,69.
Uma utilizao de aproximadamente 70%
define uma baixa ocupao do processador
que, certamente, implica no descarte de
muitos conjuntos de tarefas com utilizao
maior e que, mesmo assim, apresentam
escalas realizveis (feasible).
Essa condio suficiente pode ser relaxada
quando as tarefas do conjunto apresentam
perodos mltiplos do perodo da tarefa mais
prioritria. Nesse caso a utilizao alcanada
sob o RM se aproxima do mximo terico:

Escalonamento Taxa Monotnica


(exemplo)
Tarefas
Peridicas
P

Periodo
(Pi)

Tempo de
Computa
o
(C)

Prioridade
RM
(Pi)

Utilizao
(U)
0,2

100

20

150

40

0.26
6

350

100

0.2857

Desenhar o diagrama de execuo das tarefas

Escalonamento Taxa Monotnica


(exemplo)
Diagrama de execuo

Вам также может понравиться