algoritmos para escalonamento de tempo real – (rm, edf, dm) andré luis meneses silva...
TRANSCRIPT
![Page 1: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/1.jpg)
Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)
André Luis Meneses [email protected]
strufs.wordpress.com
![Page 2: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/2.jpg)
Agenda
• Introdução• Escalonamento de Tarefas Periódicas• Escalonamento de Taxa Monotônica• Earliest Deadline First• Escalonamento de Deadline Monotônico
![Page 3: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/3.jpg)
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
![Page 4: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/4.jpg)
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.
![Page 5: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/5.jpg)
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)
![Page 6: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/6.jpg)
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?
![Page 7: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/7.jpg)
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.
![Page 8: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/8.jpg)
Escalonamento de Taxa Monotônica
• Idéia: Dar maior prioridade às tarefas de menor período.
![Page 9: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/9.jpg)
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
![Page 10: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/10.jpg)
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
![Page 11: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/11.jpg)
Vamos reproduzir no Cheddar
• 1. Inserindo um processador– Edit >> Add >> Add a processor• Processor Name : Processor_1• Scheduler: Rate Monotonic• Option: Preemptive• Add• Cliquem em Advanced para confirmar se realmente foi
adicionado.
![Page 12: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/12.jpg)
Vamos reproduzir no Cheddar
• 2. Inserindo um espaço de endereçamento– Edit >> Add >> Add an Address Space• Address Space Name : mem_1• Processor: Processor_1• Add• Cliquem em Advanced para confirmar se realmente foi
adicionado.
![Page 13: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/13.jpg)
Vamos reproduzir no Cheddar
• 3. Inserindo Tarefas (inserir 3 tarefas)– Edit >> Add >> 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.
![Page 14: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/14.jpg)
Vamos reproduzir no Cheddar
• Tarefas
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
![Page 15: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/15.jpg)
Vamos reproduzir no Cheddar
• Simulando• Clique no botão Scheduling Simulation
• Clique em ok.
![Page 16: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/16.jpg)
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?
![Page 17: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/17.jpg)
Escalonamento de Taxa Monotônica
• A análise de escalonabilidade pode ser feita através do teste abaixo que define uma condição suficiente.
![Page 18: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/18.jpg)
Escalonamento de Taxa Monotônica
• Aplicando a fórmula no exemplo utilizado no cheddar, temos:
![Page 19: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/19.jpg)
No Cheddar
• Cliquem no botão Scheduling feasibility.
![Page 20: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/20.jpg)
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
![Page 21: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/21.jpg)
Escalonamento de Taxa Monotônica
• Aplicando a primeira fórmula, temos: Tarefas Periódicas Período Tempo de
ComputaçãoPrioridade 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.No entanto, é escalonável.
![Page 22: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/22.jpg)
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.
![Page 23: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/23.jpg)
Outro exemplo
• Digamos que modelamos um sistema com as seguintes tarefas. O que acontece no RM?Tarefas
PeriódicasPeríodo Tempo de
ComputaçãoPrioridade
RMUtilização
Tarefa A 20 10 1 0,5
Tarefa B 50 25 2 0,5
![Page 24: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/24.jpg)
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
![Page 25: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/25.jpg)
O que fazer?
![Page 26: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/26.jpg)
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.
![Page 27: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/27.jpg)
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.
![Page 28: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/28.jpg)
Earliest Deadline First (EDF)
• Idéia: Atribuição dinâmica de prioridades de acordo com os deadlines de cada tarefa.
![Page 29: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/29.jpg)
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
![Page 30: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/30.jpg)
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
![Page 31: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/31.jpg)
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.
![Page 32: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/32.jpg)
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.
![Page 33: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/33.jpg)
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).
![Page 34: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/34.jpg)
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.
![Page 35: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/35.jpg)
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
![Page 36: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/36.jpg)
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
![Page 37: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/37.jpg)
Exercícios
• Considere cada tarefa P como sendo a tripla P(tempo de computação, período, deadline).
• 1. Sejam P1(5, 10, 10) e P2(20, 40, 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.
![Page 38: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/38.jpg)
Exercícios
• 2. Sejam P1 = (3, 9, 6), P2 = (4, 18, 12) e P3 = (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.
![Page 39: Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com strufs.wordpress.com](https://reader035.vdocuments.mx/reader035/viewer/2022081417/552fc11d497959413d8ca2d7/html5/thumbnails/39.jpg)
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).