You are on page 1of 35

Universidade Federal de Ouro Preto

Departamento de Computao e Sistemas (DECSI)

Programao para Sistemas de Tempo-Real


Escalonamento de Sistemas de Tempo-Real

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

Task Release Time


Task Completion Time
Deadline Met
Task Completion Time
Deadline Missed

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

You might also like