Upload
renato-bastos-padilha
View
217
Download
1
Embed Size (px)
Citation preview
Tarefas Aperiódicas
Prof. André Luis Meneses Silvae-mail: [email protected]
Agenda
Introdução Servidor de Prioridade Fixa Polling Server Deferrable Server Servidor Esporádico
Introdução
Problema consiste em utilizar conceitos de Tempo Real para carga aperiódica também;
Sistemas reais: Tarefas Periódicas e Aperiódicas;
Tarefas aperiódicas apresentam ocorrência não determinística
Introdução
Tarefas Periódicas são consideradas em sua grande maioria críticas. Necessitam de garantia em tempo de projeto (off-line);
Tarefas Aperiódicas: Bom tempo médio de resposta;
Em geral: Tarefas Aperiodicas: Soft Deadline; Tarefas Periódicas: Hard Dealine;
Introdução
Até o momento só vimos escalonamento de tarefas periódicas.
Tarefas Aperiódicas Podem ser:
Tipo 1: Mínimo intervalo entre suas ativações. Deadline Hard.
Tipo 2: Não possui seus tempos de chegada conhecido Não se caracterizam por um intervalo mínimo entre suas
ativações.
Introdução
Como escalonar tarefas aperiódicas?
Introdução
Como escalonar tarefas aperiódicas? Utilizar as sobras de processador na escala de
carga periódica; Modelar uma entidade periódica para atender as
requisições aperiódicas.
Introdução
Soluções baseadas em servidores. Entidade responsável por atender as requisições
das tarefas aperiódicas. Veremos:
Servidor de background Polling Server Deferrable Server Servidor Esporádico
Servidor de Background
Idéia: Atende requisições aperiódicas quando a fila de prontos não possui tarefas periódicas.
Prioridades Para periódicas, prioridades mais altas. Para aperiódicas, prioridades mais baixas. Rate Monotonic.
Servidor de Background
Exemplo
Servidor de Background
Vantagens Possui implementação simples
Alguém consegue citar alguma desvantagem?
Servidor de Background
Vantagens Possui implementação simples
Alguém consegue citar alguma desvantagem? Tarefas Aperiódicas sempre possuem a menor
prioridade do sistema. E se elas fossem críticas?
Por isso: Só aplicável quando as requisições aperiódicas não são críticas
e a carga periódica não é alta. Como resolver isso?
Polling Server
Idéia: Definir uma tarefa periódica para atender a carga aperiódica.
Um espaço é aberto periodicamente na escala para execução da carga aperiódica, através da tarefa Servidora de Pooling.
Prioridade atribuída pelo RM. Tarefa servidora igual a qualquer outra tarefa do
sistema. Caso não exista tarefas aperiódicas no momento
que a tarefa servidora é escalonada, a tarefa servidora se suspende.
Polling Server
Polling Server
Comparada com Background Server, melhora o tempo de resposta médio das tarefas aperiódicas.
Mas possui um grave problema? Qual?
Polling Server
Comparada com Background Server, melhora o tempo de resposta médio das tarefas aperiódicas.
Mas possui um grave problema? Qual? Não fornece serviço de resposta imediato para
tarefas aperiódicas. Tempo de resposta de tarefas aperiódicas depende
do período e da capacidade da tarefa servidora.
Deferrable Server (DS)
Idéia: Assim como o polling server, também possui uma tarefa periódica para tratar requisições aperiódicas.
Mudança A tarefa servidora conserva sua capacidade Não é necessário esperar até o próximo período de
ativação.
Deferrable Server (DS)
Deferrable Server (DS)
Por conservar a capacidade da tarefa servidora, o Deferrable Server apresenta melhor tempo de resposta que o Polling Server.
Servidor Esporádico
• Problemas nos servidores passados:• DS: não eficiente para grandes cargas de tarefas;
• Algoritmo SE ou SS:• Cria uma tarefa com prioridade alta;• Também preserva o tempo de execução para tarefas aperiódicas;
• Diferente no processo de recarregar o tempo de execução (RT).
Servidor Esporádico
• PS - Nível da tarefa que o sistema está atualmente executando;• Pi - Um dos níveis de prioridade do sistema;
• Ativo - Um nível de prioridade Pi é considerado ativo se o nível de prioridade PS é maior ou igual que a prioridade de Pi (PS ≥ Pi);• Ocioso - É o oposto do Ativo, ou seja PS < Pi);• RT - Tempo de carregamento que o servidor usará.
Servidor Esporádico
6 13 242014 t0 1 3 8 10
Tarefa PrioridadeServidora 2
Tarefa A 1
Tarefa B 2
Tarefa C 3
Ativa Ativa Ativa Desativa
Sempre observar os períodos em que a tarefa servidora esta ativa.
Recarregamento do tempo de execução do SS em uma prioridade Pi obedece as seguintes premissas:
• Se o servidor possuir tempo de execução disponível, o RTi é inicializado quando o nível de prioridade Pi se torna Ativo. RTi = tatual + Pi;
• A quantidade a ser recarregada é igual a quantidade consumida pelo tempo de execução do servidor.
Servidor Esporádico
PSS > P1
RT = 1 + 5 RT = 8 + 5
Requisição Aperiódica 1
Requisição Aperiódica 2
6 13 24
Servidor Esporádico de Alta prioridade
2014 t0 1 3 8 10
1,33
0,66
Tarefa Tempo de Computação
Período Utilização
SS 1,33 5 20%T1 2 10 20%T2 6 14 42,9%
Aperiódicas 1,33 - -
PSS > P1
t0 1 4 8 10
1
Tarefa Tempo de Computaçã
o
Período
Utilização
T1 1 5 20%SS 2,5 10 25%T2 6 14 42,9%
Aperiódicas 1 - -
PSS > P2PSS > P2
RT = 4,5 + 10 RT = 8 + 10
Requisição Aperiódica 1
(t = 4,5) Requisição Aperiódica 2
(t = 8)
6 14 22
23
165 9 15 18
Servidor Esporádico de Média prioridade
t0 2 3 8 9 10 12 14 20
1
2
18
Tarefa Tempo de Computaç
ão
Período
Utilização
SS 2 10 20%T1 2 10 20%T2 6 14 42,9%
Aperiódicas
1 - -
PSS = P1 PSS = P1
RT = 0 + 10 RT = 8 + 10
Requisição Aperiódica 1
Requisição Aperiódica 2
Servidor Esporádico de Igual prioridade
Considerações Finais
As técnicas de servidores vistas aqui podem ser utilizado com qualquer um dos modelos que foi apresentado anteriormente:
EDF, DM, RM... Também podem ser utilizada em tarefas que
compartilham recursos. PS, PE e DS são apropriados para tarefas
aperiódicas firms. SS é apropriado para tarefas esporádicas
(deadline hard).
Referências
• Farines• Seção 2.8