Você está na página 1de 54

SISTEMAS DE TEMPO-REAL ESCALONAMENTO PARTE I ALGORITMOS CLSSICOS

Prof. Raimundo BARRETO DCC/ICE/UFAM

Baseado nas Notas de Aula do Prof. Francisco Vasques, da Faculdade de Engenharia da Universidade do Porto. http://www.fe.up.pt/~vasques

CLASSIFICAO DOS ALGORITMOS DE ESCALONAMENTO

CLASSIFICAO ALG. ESCALONAMENTO

CLASSIFICAO ALG. ESCALONAMENTO


Escalonamento em Sistemas Crticos vs. em Sistemas No-Crticos
O escalonamento em sistemas crticos baseado na adequabilidade de recursos, ou seja, na garantia em fase de concepo de um tempo de resposta adequado para a execuo de cada uma das tarefas;
Os testes de escalonabilidade devem ser determinsticos, ou seja, devem verificar que, para os pressupostos de carga (e de falhas) assumidos, o tempo de resposta mximo associado a cada tarefa inferior sua meta temporal;

Para o caso de sistemas no-crticos, sabendo que a violao de metas temporais no crtica, admite-se a utilizao de mtodos probabilsticos (por exemplo baseados em simulaes) para a verificao da garantia de escalonabilidade

CLASSIFICAO ALG. ESCALONAMENTO EXECUTIVO CCLICO


Escalonamento Esttico (Executivo Cclico)
Um escalonador considerado esttico se tomar previamente todas as decises de escalonamento, gerando, em tempo de compilao, uma tabela de escalonamento com a sequncia de execuo das tarefas.
Em tempo de execuo, esta tabela ser repetidamente executada pelo processo de dispatcher, com a periodicidade adequada.

Qualquer variao no modelo de tarefas implicar a gerao de uma nova tabela de escalonamento.
A garantia de escalonabilidade fornecida por simples inspeo da tabela de escalonamento.

CLASSIFICAO ALG. ESCALONAMENTO EXECUTIVO CCLICO


Escalonamento Esttico (Executivo Cclico)

CLASSIFICAO ALG. ESCALONAMENTO EXECUTIVO CCLICO


Exemplo de Escalonamento Esttico

CLASSIFICAO ALG. ESCALONAMENTO EXECUTIVO CCLICO


Vantagens de um escalonamento esttico:
Sendo geralmente baseados em algoritmos heursticos, fornece um suporte eficaz implementao de relaes de precedncia entre processos; Comportamento do sistema completamente previsvel; Sobrecarga mnima em tempo de execuo; Muito utilizado para suporte de aplicaes de elevada criticalidade (devido simplicidade (!) do processo de certificao).

CLASSIFICAO ALG. ESCALONAMENTO EXECUTIVO CCLICO


Desvantagens de um escalonamento esttico:
Escalonamento de baixa flexibilidade, dificultando tanto operaes de modificao do conjunto de tarefas, como a execuo de tarefas espordicas e/ou aperidicas;

Dificuldades relacionadas com a sua implementao


Tarefas com durao elevada devero ser repartidas entre mltiplos microciclos, o que no desejvel em termos de engenharia de software. A periodicidade das tarefas deve ser simultaneamente mltipla do valor do micro-ciclo e divisvel pelo valor do macro-ciclo, impondo regras apertadas para a escolha destes valores;

CLASSIFICAO ALG. ESCALONAMENTO ESCALONAMENTO DINMICO


Um escalonador dinmico toma as decises de escalonamento em tempo de execuo (run time), em funo dos pedidos de execuo pendentes;
Atribuio do processador (ready run) tarefa pendente mais prioritria; Tambm referido como escalonador por prioridades.

CLASSIFICAO ALG. ESCALONAMENTO ESCALONAMENTO DINMICO

CLASSIFICAO ALG. ESCALONAMENTO ESCALONAMENTO DINMICO


Vantagens:
Adapta-se facilmente presena de tarefas com requisitos variveis no tempo, visto efectuar o escalonamento em tempo de execuo; Permite considerar a importncia relativa das tarefas em funo dos seus requisitos temporais.

Aspectos relevantes a considerar:


A transformao requisitos temporais prioridade das tarefas da responsabilidade do utilizador; O escalonador no efetua a verificao do respeito das metas temporais associadas execuo das tarefas.

Desvantagens:
Processo escalonador mais complexo do que no caso esttico, devido necessidade de efectuar o escalonamento em tempo de execuo; Maior dificuldade de deteco de sobrecargas.

CLASSIFICAO ALG. ESCALONAMENTO PRIORIDADES FIXAS / DINMICAS

CLASSIFICAO ALG. ESCALONAMENTO PRIORIDADES FIXAS / DINMICAS


Num escalonamento dinmico com prioridades fixas, a cada tarefa atribudo um determinado nvel de prioridade na fase de concepo.
Enquanto o modo de funcionamento do sistema se mantiver, o nvel de prioridade de cada tarefa permanece inalterado (a menos de mudanas impostas por mecanismos de sincronizao no acesso a recursos partilhados);

Num escalonamento dinmico com prioridades dinmicas, o nvel de prioridade evolui ao longo do tempo em funo da poltica de escalonamento seleccionada.
Exemplo: algoritmo EDF (Earliest Deadline First), para o qual o nvel de prioridade de uma tarefa ser tanto maior quanto mais prxima estiver a sua meta temporal.

ALGORITMOS CLSSICOS DE ESCALONAMENTO

RATE MONOTONIC

ALGORITMOS CLSSICOS RATE MONOTONIC


Algoritmo definido para um modelo simplificado de tarefas:
As tarefas so independentes entre si (no tm relaes de precedncia, nem necessidades de sincronizao); Todas as tarefas tm uma activao peridica, com uma meta temporal igual ao seu perodo (ou seja, qualquer execuo deve ser finalizada antes da prxima data de ativao da tarefa); Todas as tarefas tm um tempo mximo de execuo conhecido.

ALGORITMOS CLSSICOS RATE MONOTONIC


Este algoritmo define a ordem de atribuio de prioridades a um conjunto de tarefas, na ordem inversa da periodicidade das tarefas:
Desde a tarefa de menor perodo qual atribuda a maior prioridade, at tarefa de maior periodicidade qual atribuda a menor prioridade; As situaes de empate sero resolvidas arbitrariamente;

Trata-se de um algoritmo timo para sistemas mono-processador, no sentido que se um qualquer conjunto de tarefas (peridicas, independentes, di = Ti,) pode ser escalonado por escalonador dinmico com prioridades fixas, ento tambm pode ser escalonado pelo algoritmo RM.

ALGORITMOS CLSSICOS RATE MONOTONIC


Teste suficiente de escalonabilidade para um caso preemptivo:

um teste suficiente (no necessrio) significa que poder haver conjuntos de tarefas escalonveis apesar de no respeitarem o respectivo teste

ALGORITMOS CLSSICOS RATE MONOTONIC


Vantagens do algoritmo RM
Simplicidade; Adequado para utilizao em sistemas operativos existentes; Pode ser utilizado para a atribuio de prioridades a nveis de interrupo.

Desvantagens do algoritmo RM
Modelo de tarefas muito limitado; No adequado quando se tm metas temporais inferiores ao perodo; No suporta excluso mtua no acesso a recursos partilhados.

Resultado fundamental:
Em [Liu and Layland, 1973] foi tambm demostrado que, se a meta temporal da tarefa de menor prioridade for respeitada aps um instante crtico, ento o conjunto de tarefas sempre escalonvel.

ALGORITMOS CLSSICOS EXEMPLOS DE RATE MONOTONIC


Apresentam-se 3 cenrios de escalonamento utilizando o algoritmo RM (considerando conjuntos de tarefas com diferentes taxas de activao), para os quais se obtm sucessivamente:
Conjunto de tarefas para o qual o teste de escalonabilidade respeitado, logo o conjunto de tarefas sempre escalonvel. Conjunto de tarefas para o qual o teste de escalonabilidade no respeitado. No entanto, devido ao facto de, aps o instante crtico, a meta temporal da tarefa de menor prioridade ser respeitada, ento, o conjunto de tarefas sempre escalonvel. Conjunto de tarefas para o qual nem o teste de escalonabilidade, nem a meta temporal da tarefa de menor prioridade (aps o instante crtico) so respeitados, logo o conjunto de tarefas no escalonvel

ALGORITMOS CLSSICOS EXEMPLOS DE RATE MONOTONIC

ALGORITMOS CLSSICOS EXEMPLOS DE RATE MONOTONIC

ALGORITMOS CLSSICOS EXEMPLOS DE RATE MONOTONIC

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


A anlise de escalonabilidade de um conjunto de tarefas atravs do clculo da Utilizao apresenta grandes limitaes, devido ao fato de no ser exacta e de apenas ser aplicvel a modelos de tarefas muito simples Atravs do clculo do Tempo de Resposta obtmse um teste de escalonabilidade exato:
se o teste for positivo, ento o conjunto de tarefas sempre escalonvel; se o teste for negativo, ento algumas metas temporais sero ultrapassadas durante a execuo
exceto se os tempos mximos de execuo das tarefas forem muito pessimistas.

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


A anlise de escalonabilidade atravs do clculo do Tempo de Resposta leva em considerao modelos de tarefas mais elaborados:
Permite a considerao de relaes de precedncia e de excluso; vlido para qualquer escalonamento dinmico com prioridades estticas, qualquer que seja a regra de atribuio de prioridades s tarefas.

Esta anlise baseada no clculo da mxima Interferncia que o escalonamento de uma determinada tarefa pode sofrer, devido ao escalonamento das tarefas de maior prioridade

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


Tempo de Resposta da tarefa i: Ri = Ci + Ii
Ii representa a interferncia que o escalonamento da tarefa i sofre devido ao escalonamento das tarefas de maior prioridade (I1=0) Interferncia:

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


Tempo mximo de Resposta:
hp(i) o conjunto de tarefas com prioridade superior prioridade da tarefa i

A equao recursiva, pelo que deve ser calculada atravs de iteraes sucessivas at que:
ou o tempo de resposta da tarefa seja superior sua meta temporal (logo a tarefa no ser escalonvel) ou o resultado convergir, ou seja o tempo de resposta na iterao x+1 seja igualao tempo de resposta na iterao x.

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


Clculo do Mximo Tempo de Resposta:
Atravs de uma equao recursiva, para a qual
valor inicial: iteraes posteriores:

O conjunto de valores monotonicamente no decrescente. Quando encontrada. a soluo para a equao foi

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA

ALGORITMOS CLSSICOS RM: TEMPO DE RESPOSTA


O conjunto de tarefas escalonvel (tempo de resposta de cada uma das tarefas inferior sua meta temporal), apesar do teste suficiente de escalonabilidade (baseado na utilizao) ser negativo.

DEADLINE MONOTONIC

DEADLINE MONOTONIC
Limitao do algoritmo RM: segundo este algoritmo, a cada tarefa atribuda uma prioridade proporcional sua cadncia de ativao.
No entanto, a importncia de uma tarefa pode ser independente da sua cadncia de ativao (por ex. leitura de temperatura); Existem outros parmetros temporais que podem ser considerados.

DEADLINE MONOTONIC
Algoritmo de atribuio de prioridades a um conjunto de tarefas peridicas, independentes e com metas temporais menores ou iguais ao respectivo perodo (di Ti) [Leung and Whitehead, 1982] A atribuio de prioridades s tarefas efetuada na ordem inversa do valor da sua meta temporal (di < dj Pi > Pj):
desde a tarefa com menor meta temporal qual atribuda a maior prioridade, at tarefa de maior meta temporal qual atribuda a menor prioridade; as situaes de empate sero resolvidas arbitrariamente;

Trata-se de um algoritmo timo para sistemas monoprocessador.

DEADLINE MONOTONIC
Vantagens do algoritmo DM
Simples e adequado para utilizao em sistemas operacionais existentes; Pode ser utilizado para a atribuio de prioridades a nveis de interrupo; Admite tarefas com metas temporais inferiores ao perodo.

Desvantagens do algoritmo DM
Modelo de tarefas tambm muito limitado; No suporta excluso mtua no acesso a recursos partilhados.

DEADLINE MONOTONIC EXEMPLOS


Apresentam-se 2 cenrios de escalonamento por prioridades fixas (idntico conjunto de tarefas), considerando:
prioridades atribudas segundo o algoritmo DM (tarefas ordenadas por valor de meta temporal crescente):
calcula-se do tempo de resposta de cada uma das tarefas; verifica-se que o conjunto de tarefas sempre escalonvel;

prioridades atribudas segundo o algoritmo RM (tarefas ordenadas por periodicidade crescente):


verifica-se que o conjunto de tarefas no escalonvel;

DEADLINE MONOTONIC EXEMPLOS

DEADLINE MONOTONIC EXEMPLOS

DEADLINE MONOTONIC EXEMPLOS

DEADLINE MONOTONIC EXEMPLOS

DEADLINE MONOTONIC EXEMPLOS


1 Exemplo (concluso):
O conjunto de tarefas sempre escalonvel (tempo de resposta de cada uma das tarefas inferior ao valor da sua meta temporal).

DEADLINE MONOTONIC EXEMPLOS

DEADLINE MONOTONIC EXEMPLOS


2 Exemplo (concluso):
Por simples inspeco da figura anterior, verifica-se que o conjunto de tarefas no escalonvel quando se utiliza o algoritmo RM; O algoritmo RM um algoritmo que no ptimo quando se consideram conjuntos de tarefas com metas temporais inferiores aos perodos; Para este tipo de conjunto de tarefas (d<T), a atribuio dos nveis de prioridade dever ser efetuada utilizando o algoritmo DM (algoritmo timo).

EARLIEST DEADLINE FIRST

EARLIEST DEADLINE FIRST


Proposto por [Liu and Layland, 1973] Algoritmo de atribuio dinmica de prioridades a um conjunto de tarefas peridicas, independentes (sem restries de precedncia) e com metas temporais iguais ao respectivo perodo (di = Ti); Trata-se de um algoritmo timo para sistemas mono-processador, no sentido que se existir um algoritmo capaz de escalonar um conjunto de tarefas peridicas, independentes e com metas temporais iguais ao respectivo perodo, ento o algoritmo EDF tambm capaz de o escalonar.

EARLIEST DEADLINE FIRST


A atribuio dinmica de prioridades s tarefas efetuada na ordem inversa da distncia, em cada momento, meta temporal :
no momento de activao de uma tarefa, ser-lhe- atribuda uma prioridade tanto maior quanto menor a sua distncia meta temporal (relativamente ao estado de todas as tarefas pendentes no momento); sempre que uma nova tarefa ativada, a fila de tarefas pendentes dever ser reordenada em funo da prioridade da tarefa ativada.

EARLIEST DEADLINE FIRST


Teste necessrio e suficiente de escalonabilidade para o caso preemptivo:

o que significa que qualquer conjunto de tarefas ser escalonvel pelo algoritmo EDF, desde que a utilizao do processador no exceda 100%.

EARLIEST DEADLINE FIRST


Vantagens:
algoritmo timo, capaz de escalonar conjuntos de tarefas com utilizaes at 100%;

Desvantagens:
maior complexidade associada sua implementao, consequncia do caracter dinmico da atribuio de prioridades; perda de metas temporais difcil de prever para o caso de sobrecargas transitrias.

EARLIEST DEADLINE FIRST EXEMPLOS DE ESCALONAMENTO EDF VS. RM


Apresentam-se 2 cenrios de escalonamento (idntico conjunto de tarefas), considerando:
prioridades dinmicas atribudas segundo o algoritmo EDF:
tarefas ordenadas (em tempo de execuo) por distncia meta temporal crescente; verifica-se que o conjunto de tarefas sempre escalonvel;

prioridades fixas atribudas segundo o algoritmo RM:


tarefas pr-ordenadas (em fase de concepo) por valor de meta temporal crescente: verifica-se que o conjunto de tarefas no escalonvel;

EARLIEST DEADLINE FIRST EXEMPLOS DE ESCALONAMENTO EDF VS. RM

EARLIEST DEADLINE FIRST EXEMPLOS DE ESCALONAMENTO EDF VS. RM

EARLIEST DEADLINE FIRST EXEMPLOS DE ESCALONAMENTO EDF VS. RM

Você também pode gostar