Algoritmos para Escalonamento de Tempo Real RM EDF







































- Slides: 39
Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis. ms@gmail. com strufs. wordpress. com
Agenda • • • Introdução Escalonamento de Tarefas Periódicas Escalonamento de Taxa Monotônica Earliest Deadline First Escalonamento de Deadline Monotônico
Introdução • O que vamos ver em escalonamento de STR? – Escalonamento de Tarefas Periódicas – Tarefas Dependentes: Compartilhamento de Recursos – Tarefas Dependentes: Relações de Precedência – Escalonamento de Tarefas Aperiódicas
Escalonamento de Tarefas Periódicas • Devido a sua previsibilidade, tarefas periódicas em geral: – Permite que se obtenha garantias em tempo de projeto. – Utilizadas para modelagem de sistemas de controle de processos e aplicações multimídia.
Escalonamento de Tarefas Periódicas • Os algoritmos de escalonamento que serão vistos são: – Dirigidos a prioridades – Prioridades são atribuídas de acordo com as restrições temporais das tarefas. – Veremos 3 algoritmos: • Escalonamento de Taxa Monotônica (Rate Monotonic) • Earliest Deadline First (EDF) • Escalonamento Deadline Monotônico (DM)
Escalonamento de Taxa Motônica • Desenvolvido por Liu & Layland. • Produz escalas em tempo de execução através de escalonadores preemptivos dirigidos a prioridades. – On-line ou offline? • É um esquema de prioridade fixa, ou seja, tarefas sempre possuem a mesma prioridade. – Estático ou dinâmico?
Escalonamento de Taxa Monotônica • O algoritmo RM trabalha sobre um modelo de tarefas bastante simples, que obedece às seguintes premissas: – As tarefas são periódicas e independentes. – O “deadline” de cada tarefa coincide com o seu período (Di = Pi) – O tempo de computação (Ci) de cada tarefa é conhecido e constante (Worst Case Computation Time) – O tempo de chaveamento entre tarefas é assumido nulo.
Escalonamento de Taxa Monotônica • Idéia: Dar maior prioridade às tarefas de menor período.
Escalonamento de Taxa Monotônica • Idéia: Dar maior prioridade às tarefas de menor período. Tarefas Periódicas Período Tempo de Computação Prioridade RM Utilização Tarefa A 100 20 1 0, 2 Tarefa B 150 40 2 0, 267 Tarefa C 350 100 3 0, 286
Escalonamento de Taxa Monotônica Tarefas Periódicas Período Tempo de Computação Prioridade RM Utilização Tarefa A 100 20 1 0, 2 Tarefa B 150 40 2 0, 267 Tarefa C 350 100 3 0, 286
Vamos reproduzir no Cheddar • 1. Inserindo um processador – Edit >> Add a processor • • • Processor Name : Processor_1 Scheduler: Rate Monotonic Option: Preemptive Add Cliquem em Advanced para confirmar se realmente foi adicionado.
Vamos reproduzir no Cheddar • 2. Inserindo um espaço de endereçamento – Edit >> Add an Address Space • • Address Space Name : mem_1 Processor: Processor_1 Add Cliquem em Advanced para confirmar se realmente foi adicionado.
Vamos reproduzir no Cheddar • 3. Inserindo Tarefas (inserir 3 tarefas) – Edit >> Add a Task Name : task_1, task_2, task_3 Task Type: Periodic Address Space: mem_1 Processor: Processor_1 Inserir Capacity, Deadline e Period de acordo com a tabela do próximo slide. • Cliquem em Advanced para confirmar se realmente foi adicionado. • • •
Vamos reproduzir no Cheddar • Tarefas Periódicas Período Tempo de Computação Prioridade RM Utilização Tarefa A 10 2 1 0, 2 Tarefa B 15 4 2 0, 267 Tarefa C 35 10 3 0, 286
Vamos reproduzir no Cheddar • Simulando • Clique no botão Scheduling Simulation • Clique em ok.
Escalonamento de Taxa Monotônica • Que trabalhão • Para todo projeto de tempo real devemos construir esta escala? – Com certeza • Existe alguma fórmula que nos dê alguma perspectiva antes de construirmos a escala? • Sim? Qual?
Escalonamento de Taxa Monotônica • A análise de escalonabilidade pode ser feita através do teste abaixo que define uma condição suficiente.
Escalonamento de Taxa Monotônica • Aplicando a fórmula no exemplo utilizado no cheddar, temos:
No Cheddar • Cliquem no botão Scheduling feasibility.
Escalonamento de Taxa Monotônica • Quando as tarefas menos prioritárias possuem períodos múltiplos em relação a mais prioritária, temos: • Condição necessária e suficiente
Escalonamento de Taxa Monotônica • Aplicando a primeira fórmula, temos: Tarefas Periódicas Período Tempo de Computação Prioridade RM Utilização Tarefa A 4 1 1 0, 25 Tarefa B 8 3 2 0, 375 Tarefa C 16 5 3 0, 25 No entanto, é escalonável.
Escalonamento de Taxa Monotônica • Muito utilizado devido a sua simplicidade de implementação. • É um algoritmo ótimo para a classe de problemas que se propõe – Tarefas periódicas. – P = D. – Prioridade Fixa.
Outro exemplo • Digamos que modelamos um sistema com as seguintes tarefas. O que acontece no RM? Tarefas Periódicas Período Tempo de Computação Prioridade RM Utilização Tarefa A 20 10 1 0, 5 Tarefa B 50 25 2 0, 5
Outro exemplo Tarefas Periódicas Período Tempo de Computação Utilização Tarefa A 20 10 0, 5 Tarefa B 50 25 0, 5
O que fazer?
Earliest Deadline First (EDF) • Desenvolvido por Liu & Leiland • Produz escalas em tempo de execução através de escalonadores preemptivos dirigidos a prioridades. • É um esquema de prioridade dinâmica. – On-line e Dinâmico.
Earliest Deadline First (EDF) • O algoritmo EDF trabalha sobre um modelo de tarefas bastante simples, que obedece as seguintes premissas: – As tarefas são periódicas e independentes. – O “deadline” de cada tarefa coincide com o seu período (Di = Pi) – O tempo de computação (Ci) de cada tarefa é conhecido e constante (Worst Case Computation Time) – O tempo de chaveamento entre tarefas é assumido nulo.
Earliest Deadline First (EDF) • Idéia: Atribuição dinâmica de prioridades de acordo com os deadlines de cada tarefa.
Earliest Deadline First (EDF) • Idéia: Atribuição dinâmica de prioridades de acordo com os deadlines de cada tarefa. Tarefas Periódicas Período Tempo de Computação Utilização Tarefa A 20 10 0, 5 Tarefa B 50 25 0, 5
Earliest Deadline First (EDF) • Idéia: Atribuição dinâmica de prioridades de acordo com os deadlines de cada tarefa. Tarefas Periódicas Período Tempo de Computação Utilização Tarefa A 20 10 0, 5 Tarefa B 50 25 0, 5
Earliest Deadline First (EDF) • A análise de escalonabilidade pode ser feita através do teste abaixo que define uma condição suficiente e necessária.
Escalonamento EDF • Embora consiga trabalhar com um conjunto maior de casos, EDF possui implementação complexa. • É um algoritmo ótimo para a classe de problemas que se propõe – Tarefas periódicas. – P = D. – Prioridade Dinâmica.
Escalonamento Deadline Monotônico • Desenvolvido por Leung & Whitehead • Estende o modelo de tarefas do Taxa Monotônico. • Escala em tempo de execução (on-line). • Prioridades Fixas (estático).
Escalonamento Deadline Monotônico • Premissas: – As tarefas são periódicas e independentes. – O “deadline” de cada tarefa pode não coincidir com o seu período ( ) – O tempo de computação (Ci) de cada tarefa é conhecido e constante (Worst Case Computation Time) – O tempo de chaveamento entre tarefas é assumido nulo.
Escalonamento Deadline Monotônico • Idéia: Atribuição estática de prioridades baseada nos deadlines relativos das tarefas (Di). Tarefas Periódicas Período Tempo de Computação Deadline Prioridade RM Tarefa A 2 10 6 1 Tarefa B 2 10 8 2 Tarefa C 8 20 16 3
Escalonamento Deadline Monotônico Tarefas Periódicas Período Tempo de Computação Deadline Prioridade RM Tarefa A 2 10 6 1 Tarefa B 2 10 8 2 Tarefa C 8 20 16 3
Exercícios • Considere cada tarefa P como sendo a tripla P(tempo de computação, período, deadline). • 1. Sejam P 1(5, 10) e P 2(20, 40) – Calcule a utilização (U) – Mostre um escalonamento praticável usando EDF. – Demonstre que um escalonamento praticável baseado em prioridades fixas existe ou prove que não pode existir.
Exercícios • 2. Sejam P 1 = (3, 9, 6), P 2 = (4, 18, 12) e P 3 = (4, 12, 10). – Qual a utilização do processador U – Mostre que um escalonamento RM existe ou não. – Mostre que um escalonamento EDF existe ou não. – Mostre que um escalonamento DM existe ou não.
Referências • Farines – Seção 2. 4 • Sistemas de Tempo Real. Alan C. Shaw (Capítulo 6). • System Design and Analysis. Philip A. Laplace (Capítulo 3, seções 3. 2. 4 e 3. 2. 5).







































