1 / 39

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

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.

hans
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmos para Escalonamento de Tempo Real – (RM, EDF, DM) André Luis Meneses Silva andreluis.ms@gmail.com 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?

  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.

  10. Escalonamento de Taxa Monotônica

  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

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

  24. Outro exemplo

  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.

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

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

  36. Escalonamento Deadline Monotônico

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

More Related