Professional Documents
Culture Documents
Vicente Amorim
vjpamorim@iceb.ufop.br
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Introduo
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Introduo
-Escalonamento:
Atividade de organizar a execuo de tarefas atravs de uma entidade processadora levando-se
em conta diferentes parmetros.
* Em um programa concorrente, normalmente no se faz necessrio especificar a exata
ordem com que as tarefas sero executadas.
* Primitivas de sincronizao so utilizadas para se garantir um espcie de ordem
local.Vimos a utilizao de regies crticas e excluso mtua para assegurar tal
comportamento.
* Entretanto, apesar da serializao e ordem em pontos especficos, o comportamento de
forma geral do programa ainda continua no-determinista.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Introduo
-Escalonamento:
* Importante:
- Se o programa est implementado de maneira correta, os mesmo produzir sempre as
mesmas sadas, no importando o comportamento interno ou detalhes de
implementao.
- Exemplo: 5 tarefas independentes podem ser executadas no-preemptivamente de 120
maneiras diferentes em um nico processador. Em um sistema multiprocessado, existem
ainda muito mais variaes
- Enquanto a sada do programa ser idntica para todas as possveis combinaes, o
comportamento temporal pode variar de uma maneira mais considervel.
- Diferena: Preemptivo / no-preemptivo!??
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Introduo
-Escalonamento:
* Contexto de tempo-real:
- Adio da varivel tempo de execuo.
- Se alguma das tarefas anteriores possui um tempo execuo consideravelmente
curto, possvel que somente a combinao na qual a mesma execute primeiro venha
a atingir os requisitos temporais do programa (de forma geral).
* Um sistema de tempo-real precisa restringir o no-determinismo encontrado em
sistemas concorrentes.
* Esta atividade conhecida como escalonamento. Em geral, o mesmo prov duas
funcionalidades principais:
I) Um algoritmo para ordenar o uso dos recursos do sistema;
II) Meios de se prever o pior-caso do sistema quando o algoritmo anterior aplicado.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Introduo
-Escalonamento:
* Possveis esquemas de escalonamento:
- Estticos: Se as predies so feitas antes da execuo do programa.
- Dinmicos: Decises sobre as predies so tomadas em tempo de execuo.
* Alm disso, esquemas de escalonamento envolvem:
- Um algoritmo de associao de prioridades a cada uma das tarefas; e
- Teste de escalonabilidade.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Modelos de Escalonamento
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Modelos de Escalonamento
- Modelo executivo cclico:
* Conjunto de tarefas de execuo puramente peridicas;
* Possibilidade de execuo do conjunto de tarefas de modo repetitivo faz com que as
mesmas executem em uma frequncia correta.
* Modelo executivo cclico:
- Uma tabela de chamadas de procedimento onde cada procedimento representa a
parte do cdigo relacionada a uma tarefa.
- A tabela completa conhecida como ciclo principal.
- Ciclo principal composto pelos ciclos secundrios, onde cada um tem uma
durao fixa.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Modelos de Escalonamento
- Modelo executivo cclico:
* Exemplo:
Tarefa
Perodo
Tempo de Execuo
a
b
c
d
e
24
24
50
50
100
10
8
5
4
2
Ciclo secundrio
Ciclo principal
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
Modelos de Escalonamento
- Modelo executivo cclico:
* Exemplo:
- Slot = mximo 24.
Interrupo
a
Tarefa
Perodo
Tempo de Execuo
24
10
24
50
50
100
Interrupo
b
Interrupo
b
d e
Interrupo
b
Tempo
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
10
Modelos de Escalonamento
- Modelo executivo cclico:
* Caractersticas principais:
- Inexistncia de tarefas especficas; cada ciclo secundrio nada mais que uma
sequncia de chamadas de procedimento/funes.
- Tal conjunto de funes e procedimentos compartilham o mesmo espao de
endereamento (os dados tambm so compartilhados atravs do mesmo). Dados no
precisam ser protegidos (por semforos, mutex, etc...) pois no existe acesso
concorrente.
- O perodo de cada uma das tarefas precisa ser um mltiplo do menor tempo de
execuo de um ciclo secundrio.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
11
Modelos de Escalonamento
- Modelo executivo cclico:
* Inconvenientes de implementao:
- O perodo de cada uma das tarefas precisa ser um mltiplo do menor
tempo de execuo de um ciclo secundrio;
- Dificuldade de se incorporar tarefas espordicas;
- Dificuldade de incorporar tarefas com perodos longos (maiores que o perodo
principal);
- Dificuldade na construo do ciclo executivo;
- Procedimentos/funes internas precisam ser separados em tempos-fixos de
execuo (problemas na estrutura do cdigo, design, etc..)
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
12
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Um modelo alternativo o de se suportar a execuo de tarefas diretamente (como
ocorre normalmente nos sistemas operacionais).
* A escolha de qual tarefa deve ser executada e qual no, feita levando-se em conta um
ou mais atributos de escalonamento. Dessa maneira, uma tarefa considerada como
sempre estando em um dos seguintes estados:
- Executvel;
- Suspensa: Aguardando por um evento temporal (apropriado para tarefas peridicas);
- Suspensa: Aguardando por um evento no-temporal (apropriado para tarefas
aperidicas).
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
13
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Principais abordagens:
- Fixed-Priority Scheduling (FPS):
I) Tarefas executveis so executadas de acordo com sua prioridade;
II) Importante: Em um sistema de tempo-real, a prioridade de uma tarefa derivada
de seus requisitos temporais, no importando o funcionamento correto do sistema ou
a integridade do mesmo.
- Earliest Deadline First (EDF):
I) Ordem de execuo das tarefas determinada pelo prazo que as mesmas tem
para serem completadas;
II) Prxima tarefa a ser executada aquela com o menor prazo.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
14
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Principais abordagens:
- Value-Based Scheduling (VBS): Se um sistema fica sobrecarregado, ordenar as
tarefas simplesmente atravs de um valor esttico de prioridades no suficiente.
Uma soluo mais adaptativa pode ser feita utilizando-se a associao, em tempo de
execuo, de um valor a cada uma das tarefas e escalonando-as de acordo com o
mesmo.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
15
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Preempo / no-preempo no modelo baseado em tarefas:
- Baseando-se nas prioridades de uma tarefa, uma tarefa de prioridade mais alta pode
ser lanada durante a execuo de uma outra com prioridade mais baixa.
- Em um esquema preemptivo, ocorrer uma mudana imediata do processamento
para a tarefa com uma maior prioridade; alternativamente
- Em um esquema no-preemptivo, a tarefa com menor prioridade continuar sendo
executada (e dona dos recursos) at que seja completada.
- Variaes:
* Preempo diferida e despacho cooperativo: Meio termo entre
preempo e no-preempo. Normalmente, permitem que uma tarefa de baixa
prioridade continue sua execuo por um dado perodo de tempo (no
necessariamente at que a mesma seja completada).
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
16
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Um programa concorrente complexo no pode facilmente ser analisado de modo a
predizer seu pior-caso. Por isso necessrio impor algumas restries na estrutura de
programas concorrentes de tempo-real. Um modelo para tanto tem as seguintes
caractersticas:
- Assume-se que a aplicao (como um todo) consiste de um conjunto fixo de tarefas;
- Todas as tarefas so peridicas e com perodos conhecidos;
- Tarefas so independentes umas das outras;
- Tempo gasto pelo SO ignorado;
- Todos os prazos das tarefas so iguais aos seus perodos (isto , cada tarefa precisa
ser completada antes da execuo de uma prxima);
- Todas as tarefas tem fixo o tempo do pior-caso de execuo;
- Tarefas no tem qualquer ponto interno de espera (ex.: atraso interno ou espera por
um I/O).
- Todas as tarefas so executadas em um nico processador (CPU).
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
17
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Notao padro:
- B = Pior caso para o tempo de bloqueio de uma tarefa (se aplicvel).
- C = Pior caso para o tempo de computao de uma tarefa.
- D = Prazo para a execuo de uma tarefa.
- I = Tempo de interferncia de uma tarefa.
- J = Variao do atraso para se iniciar uma tarefa.
- N = Nmero de tarefas no sistema.
- P = Prioridade associada a uma tarefa (se aplicvel).
- R = Pior caso para o tempo de resposta de uma tarefa.
- T = Tempo mnimo entre o incio de execuo das tarefas (perodo).
- U = Carga utilizada por cada tarefa.
- `a` a `z` = Nome das tarefas.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
18
Modelos de Escalonamento
- Modelo de escalonamento baseado em tarefas:
* Fixed-Priority Scheduling (FPS) - rate monotonic:
- A cada tarefa atribuda um valor de prioridade (nico) baseada no tamanho do
perodo da mesma: Quanto menor o perodo, maior a prioridade. Isto :
- Se qualquer conjunto de tarefas pode ser escalonado utilizando-se um esquema de
atribuio de prioridades fixas, ento tal conjunto de tarefas tambm poder ser
escalonado utilizando-se a variao de taxa monotnica (rate monotonic).
Tarefa
Perodo
Prioridade
25
60
42
105
75
* Importante: 1 o
menor valor de
prioridade existente.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
19
Modelos de Escalonamento
- FPS: Anlise baseada na utilizao:
* Considerando D=T;
* Se a seguinte condio verdadeira, ento todas as N tarefas iro cumprir o prazo de
execuo previamente estabelecido:
N
1
2
3
4
5
10
Utilizao Geral
100%
82,8%
78%
75,7%
74,3%
71,8%
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
20
Modelos de Escalonamento
- FPS: Anlise baseada na utilizao:
* Exemplo:
- Tabela abaixo contm trs tarefas que tiveram as prioridades alocadas atravs do
algoritmo FPS (rate monotonic).
Tarefa
50
12
0,24
40
10
0,25
30
10
0,33
* 3 tarefas - U combinado: 0,82 (82%) > Limiar para trs tarefas 0,78 (78%).
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
21
Modelos de Escalonamento
- FPS: Anlise baseada na utilizao:
task
a
Preempted
Executing
10
20
30
40
50
60
Time
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
22
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Expanso do modelo baseado em tarefas;
* Requisitos:
1) Para a considerao de tarefas espordicas, a varivel T (perodo) agora
interpretada como sendo o valor mnimo (ou mdio) de tempo entre sucessivas
chegadas de uma determinada tarefa;
Exemplo:
- Para uma tarefa com T = 20ms, garante-se que a mesma no se apresentar
duas vezes neste dado espao de tempo.
2) Definio do prazo mximo dado a uma tarefa para sua execuo: O modelo
anterior assumia que D = T. Para esta expanso, tal afirmao no faz sentido:
- Tarefas espordicas frequentemente esto associadas a tratamento de erros;
- Podem ser invocadas de maneira no frequente. ...
- etc.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
23
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Um modelo considerando tarefas peridicas deve permitir D< T.
* Tarefas difceis / suaves:
a) Para tarefas espordicas, os valores mnimos e mdios de chegada podem ser
definidos;
b) Entretanto, em diversas situaes o tempo de pior caso sempre acima do valor
mdio, pois requisies de I/O podem chegar em conjunto, levando a um tempo
adicional para computao das mesmas.
c) As seguintes regras so adotadas de forma a se levantar o conjunto mnimo de
requisitos:
- Regra 1: Todas as tarefas precisam ser escalonadas baseando-se no tempo mdio
de execuo e na taxa mdia de chegada;
- Regra 2: Todas as tarefas de tempo-real (com requisitos fortes) devem ser
escalonadas considerando-se o pior caso das taxas de chegada.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
24
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Em 1982, Leung e Whitehead propuseram o algoritmo DMPO (deadline monotonic
priority ordering).
* Mostraram que era possvel se considerar D < T utilizando uma formulao
semelhante ao FPS.
* A prioridade fixa de uma tarefa inversamente proporcional ao seu prazo relativo:
- Se o prazo para a execuo de uma tarefa i menor que o prazo para a execuo de
uma tarefa j, ento a prioridade de execuo da tarefa i dever ser maior que a
prioridade de execuo da tarefa j.
(Di < Dj => Pi > Pj)
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
25
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
20
15
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
26
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
20
15
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
27
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
20
15
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
28
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
15
20
3
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
29
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
20
15
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
30
Modelos de Escalonamento
- Tarefas espordicas/aperidicas:
* Ex.: Escalonando as tarefas da tabela abaixo atravs de suas respectivas prioridades:
Tarefa
20
10
10
10
20
20
20
15
Ordem de escalonamento: a, d, b, c
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
31
Modelos de Escalonamento
- Interaes entre tarefas:
* At agora todas as tarefas consideradas eram independentes entre si. Em um sistema
distribudo real tal considerao claramente invlida.
* Interaes entre tarefas: objetos compartilhados, semforos, mutexes, etc.
* Ponto principal: Possibilidade de uma tarefa ser interrompida at que um evento futuro
faa com que a mesma recupere seu estado de execuo.
- Ex.: Tarefa aguardando pelo lock em um semforo especfico ou entrada em uma
seo crtica.
* Sistemas sncronos: Dificuldade maior em se obter o pior caso do todo:
- Considerar todas as possveis interaes do sistema.
* Sistemas assncronos: Mais fceis de se considerar pois trocam informaes atravs de
objetos compartilhados.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
32
Modelos de Escalonamento
- Interaes entre tarefas:
* Modelo de prioridades indefinido: Uma tarefa suspensa e fica aguardando por uma
outra de menor prioridade.
* Tipo de cenrio no desejvel, entretanto, necessrio que o mesmo seja considerado.
* Tarefa que est aguardando vai para um estado conhecido como bloqueado.
* Em um escalonador real, o tipo de cenrio acima deve ser analisado e seu impacto
mensurado. Quando possvel, deve-se evitar que o sistema chegue a tal ponto.
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
33
Modelos de Escalonamento
- Interaes entre tarefas:
* Exemplo
- Quatro tarefas: a, b, c e d.
- Prioridades dadas partir do algoritmo DMPO (segundo a tabela abaixo).
- Tarefas d e a / d e c compartilham recursos crticos denotados por Q e V.
- Recursos crticos so protegidos por regies de acesso exclusivo.
- E representa um tick de tempo de execuo.
Tarefa
Prioridade
Sequncia de Execuo
Tempo de incio
EQQQQE
EE
EVVE
EEQVE
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
34
Modelos de Escalonamento
- Interaes entre tarefas:
* Sequncia de execuo:
www.decom.ufop.br/vicente
quarta-feira, 28 de maio de 14
35