Escalonamento de Prioridades Versus Escalonamento OffLine Priority Schedulling

  • Slides: 20
Download presentation
Escalonamento de Prioridades Versus Escalonamento Off-Line (Priority Schedulling Versus Pre-Run-Time Scheduling) Alunos: Fernando Ventura

Escalonamento de Prioridades Versus Escalonamento Off-Line (Priority Schedulling Versus Pre-Run-Time Scheduling) Alunos: Fernando Ventura nº 13246 Sérgio Lopes nº 18238 Andrea Martins nº 14869 Rodolfo Andrade nº 21745 Sistemas de Tempo-Real 1

 • Vamos comparar estes 2 métodos de projecto • Assume-se que nos Sistemas

• Vamos comparar estes 2 métodos de projecto • Assume-se que nos Sistemas de T. R. temos: • Os processos tem características temporais diferentes • Tempos de execução muito bem definidos • Largo número de processos • Têm interdependências • O factor de utilização é muito baixo (ou seja não há uma grande necessidade de partilha do processador). 6/9/2021 Sistemas de Tempo-Real 2

 • Processos e Escalonamento - Características mais importantes tem de ser conhecidas ou

• Processos e Escalonamento - Características mais importantes tem de ser conhecidas ou limitadas previamente Senão torna-se impossível garantir que os tempos sejam cumpridos Sistemas de Tempo-Real 3

 • Processos Periódicos - Realizados periodicamente Uma vez em cada período de tempo

• Processos Periódicos - Realizados periodicamente Uma vez em cada período de tempo EXEMPLO: Um sensor lê os dados e são actualizadas as variáveis internas e os outputs • Processos Assíncronos - Consistem em cálculos ou processamento de eventos internos ou externos * Tempos de execução não são conhecidos, contudo conhece-se o tempo mínimo entre dois pedidos Sistemas de Tempo-Real 4

EXEMPLO: Responder a perguntas dum operador • Escalonamento - Mapeamento da execução de processos

EXEMPLO: Responder a perguntas dum operador • Escalonamento - Mapeamento da execução de processos - Construção da tabela de ocupação do processador para execução das tarefas Sistemas de Tempo-Real 5

 • Processos segmentados - Cada processo e uma sequência de segmentos ( p[0],

• Processos segmentados - Cada processo e uma sequência de segmentos ( p[0], p[1]…p[n]) * Um dos processos pode servir para definir o tempo de disponibilidade e deadline para cada segmento • Relações de precedência e exclusão - Um processo ( i ) precede outro ( j ) quando este só pode iniciar a execução depois do primeiro terminar o seu processamento Sistemas de Tempo-Real 6

* Pode existir quando um processo precisa da informação produzida pelo outro - É

* Pode existir quando um processo precisa da informação produzida pelo outro - É exclusivo se não houver execução dum processo até o outro processo ter completado o seu processamento * Pode existir quando os processos tem de prevenir acessos simultâneos a recursos partilhados. EXEMPLO: Partilha entre dispositivos de I/O ou dados entre vários segmentos do processo Sistemas de Tempo-Real 7

 • Introdução ao Escalonamento de Prioridades e Off-Line - Escalonamento de Prioridades *

• Introdução ao Escalonamento de Prioridades e Off-Line - Escalonamento de Prioridades * Normalmente usam-se 2 Técnicas: 1. Escalonamento feito On-line 2. Prioridades Fixas (o que tem maior prioridade ganho o tempo de Processador) Sistemas de Tempo-Real 8

 • O critério Rate-monotónico (Liu and Layland, 1973) -Este critério é o mais

• O critério Rate-monotónico (Liu and Layland, 1973) -Este critério é o mais representativo modo de escalonamento de prioridades conhecido * Assume que todos os processos são conhecidos antes do tempo de execução • O protocolo ceiling - Permite extender o critério Rate-monotónico para permitir acesso a secções criticas (geridas por semáforos) Sistemas de Tempo-Real 9

 • Escalonamento Off-line (Pre-Run-Time) - Características mais importantes devem ser conhecidas antes do

• Escalonamento Off-line (Pre-Run-Time) - Características mais importantes devem ser conhecidas antes do sistema estar a “correr” - Usa-se em processos periódicos - Tabela-se em off-line todos os processos que irão ser usados on-line. * Devemos considerar que é possível transformar um processo assíncrono num equivalente periódico se o mínimo entre 2 pedidos for conhecido e o deadline não for muito curto Sistemas de Tempo-Real 10

Dificuldade em usar Escalonamento prioritário em aplicações complexas • Assume normalmente tarefas independentes e

Dificuldade em usar Escalonamento prioritário em aplicações complexas • Assume normalmente tarefas independentes e sem precedência • Dificuldades em situações hard-real time, no que respeita à definição das constantes temporais em questão (restrições apertadas de sincronismo e jitter). • Em contraste, no escalonamento off-line, o planeamento é feito off-line e a eficiência temporal do algoritmo de escalonamento não é preocupante, podendo-se alterar o escalonamento de forma iterativa. • Isto permite alterar as constantes temporais do processo , e por isso adequa-lo às restrições do processo físico que temos de cumprir. Sistemas de Tempo-Real 11

Em geral, o escalonamento prioritário consegue pior utilização do CPU, do que o escalonamento

Em geral, o escalonamento prioritário consegue pior utilização do CPU, do que o escalonamento off-line • Escalonamentos baseados em prioridades fixas -são heurísticos , ou seja temos menos possibilidades de encontrar um escalonamento possível se houver no processo alteração de prioridades inerentes ao processo físico -mesmo com preempção (não há garantias que cumprimos todas as deadlines) • Escalonamento off-line -O algoritmo de escalonamento deve considerar deadlocks, o que implica que a sincronização com o processo off-line seja conservativa, o que origina que por vezes um processo seja bloqueado pelo mecanismo de sincronização. Sistemas de Tempo-Real 12

-Quando usamos escalonamentos prioritários, o overhead do sistema é muito maior do que quando

-Quando usamos escalonamentos prioritários, o overhead do sistema é muito maior do que quando usamos escalonamento off-line! -Porquê? ! –perguntam vocês a) o escalonamento prioritário precisa de recursos offline para calcular em que momento, qual o processo deve ser executado. Com o escalonamento off-line, esse cálculo é feito em avanço. b) como o escalonamento prioritário só conhece o escalonamento actual, tem sempre que assumir o pior caso global. Com o escalonamento off-line, os cálculos são feitos antes e assim optimizamos o uso do processador, já que temos apenas o pior caso relativo às constantes temporais anteriores. Sistemas de Tempo-Real 13

 • Análise e previsibilidade do Run-Time - Aproximação prioritária da lista requer mecanismos

• Análise e previsibilidade do Run-Time - Aproximação prioritária da lista requer mecanismos complexos run-time para realizar sincronização dos processos e prevenir simultaneamente o acesso a fontes partilhadas. - Contraste: possibilidade de evitar o uso do Run-time sofisticado nos mecanismos sincronizados com relações precedentes ou exclusivas nos segmentos dos processos pares. Sistemas de Tempo-Real 14

Flexibilidade na construção e modificação de Sistemas ØPriority Scheduling - Menos flexível – “rigid

Flexibilidade na construção e modificação de Sistemas ØPriority Scheduling - Menos flexível – “rigid hierarchy of priorities” - Suporta melhor tarefas assíncronas cuja probabilidade de ocorrer e a “deadline “ sejam pequenas 6/9/2021 Sistemas de Tempo-Real 15

Flexibilidade na construção e modificação de Sistemas ØPre-Run-Time Scheduling - Mais flexível – É

Flexibilidade na construção e modificação de Sistemas ØPre-Run-Time Scheduling - Mais flexível – É possível mudar de um Pre-Run-Scheduling para outro em qualquer momento de desenvolvimento - Suporta tarefas assíncronas cuja “deadline” não seja curta e cujo tempo mínimo entre duas seja conhecido 6/9/2021 Sistemas de Tempo-Real 16

Conclusão • Comparação entre aproximação pre-run-time scheduling com scheduling prioritário Scheduling prioritário * Não

Conclusão • Comparação entre aproximação pre-run-time scheduling com scheduling prioritário Scheduling prioritário * Não suporta requisitos complexos * Têm um maior overhead * Dificuldade de análise e previsibilidade em tempo real do sistema Sistemas de Tempo-Real 17

Conclusão • Contraste com aproximação pre-runtime scheduling * Fácil verificação de todos os deadlines

Conclusão • Contraste com aproximação pre-runtime scheduling * Fácil verificação de todos os deadlines e requesitos para serem satisfeitos * Uso de um algoritmo melhor no crescimento da variedade de requisitos e previsão no escalonamento fiável * O overhead run-time requer que o escalonamento seja reduzido gradualmente Sistemas de Tempo-Real 18

Conclusão • As várias diferenças * Contraste da execução dos pedidos processos com as

Conclusão • As várias diferenças * Contraste da execução dos pedidos processos com as prioridades de hierarquia rígida aquando do uso da previsão do escalonamento onde os esquemas prioritários são capazes de limitarem as tabelas dos escalonamentos possíveis * Os escalonamentos são feitos em off-line usando a aproximação do pre-run-time, enquanto que em on-line é usado uma aproximação prioritária do escalonamento Sistemas de Tempo-Real 19

Bibliografia • Xu and Parnas (2000). Priority Schedulling Versus Pre-Run-Time Scheduling. (Journal of Real-Time

Bibliografia • Xu and Parnas (2000). Priority Schedulling Versus Pre-Run-Time Scheduling. (Journal of Real-Time Systems 18: 7 -23, 2000) Sistemas de Tempo-Real 20