A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)

Apresentações semelhantes


Apresentação em tema: "Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)"— Transcrição da apresentação:

1 Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)
André Luis Meneses Silva strufs.wordpress.com

2 Agenda Introdução Escalonamento de Tarefas Periódicas
Escalonamento de Taxa Monotônica Earliest Deadline First Escalonamento de Deadline Monotônico

3 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

4 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.

5 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)

6 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? Taxa Motônica é online (pois a escala é produzida em tempo de execução) e estático (pois as prioridades não variam em tempo de execução).

7 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.

8 Escalonamento de Taxa Monotônica
Idéia: Dar maior prioridade às tarefas de menor período.

9 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 3 0,286

10 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 3 0,286

11 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.

12 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.

13 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.

14 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 0,267 Tarefa C 35 3 0,286

15 Vamos reproduzir no Cheddar
Simulando Clique no botão Scheduling Simulation Clique em ok.

16 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?

17 Escalonamento de Taxa Monotônica
A análise de escalonabilidade pode ser feita através do teste abaixo que define uma condição suficiente.

18 Escalonamento de Taxa Monotônica
Aplicando a fórmula no exemplo utilizado no cheddar, temos:

19 No Cheddar Cliquem no botão Scheduling feasibility.

20 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

21 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 0,25 Tarefa B 8 3 2 0,375 Tarefa C 16 5 No entanto, é escalonável.

22 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.

23 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

24 Outro exemplo Tarefa A 20 10 0,5 Tarefa B 50 25 Tarefas Periódicas
Período Tempo de Computação Utilização Tarefa A 20 10 0,5 Tarefa B 50 25

25 O que fazer?

26 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.

27 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.

28 Earliest Deadline First (EDF)
Idéia: Atribuição dinâmica de prioridades de acordo com os deadlines de cada tarefa.

29 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

30 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

31 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.

32 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.

33 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).

34 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.

35 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 8 Tarefa C 20 16 3

36 Escalonamento Deadline Monotônico
Tarefas Periódicas Período Tempo de Computação Deadline Prioridade RM Tarefa A 2 10 6 1 Tarefa B 8 Tarefa C 20 16 3

37 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.

38 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.

39 Referências Farines Sistemas de Tempo Real. Alan C. Shaw (Capítulo 6).
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 e 3.2.5).


Carregar ppt "Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM)"

Apresentações semelhantes


Anúncios Google