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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

IC - UFF 1 Escalonamento de Processos em Multiprocessadores Capítulo 10 Sistemas Operacionais.
Algoritmos de Escalonamento
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
LOT-SIZE PROBLEM   PROBLEMA DE DIMENSIONAMENTO DE LOTES COM VÁRIOS CENTROS DE PRODUÇÃO. Sheila Souza Lino.
Tópicos de Lógica Proposicional
Evolução Arquitetural e Microprogramação
Escalonamento Linux.
Arquitetura de Sistemas Operacionais Francis Berenger Machado
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
SSC SISTEMAS OPERACIONAIS I Aula 15 – Gerenciamento de Memória
Introdução à Lógica de Programação (cont.)
Escalonamento de Processos
Escalonamento Aula 7.
Thiago P. Berto Crineu Tres
Sistemas de Tempo Real: Abordagens de Escalonamento
Crineu Tres Daniel Perez Frederico... Roberto Hartke Neto
Arquitetura de Computadores
Claudio de Oliveira – Gerência do Processador 09/03/10 20:13 Claudio de Oliveira –
Avaliando e Compreendendo o Desempenho - Respostas
André Luis Meneses Silva Programação Concorrente (Sistemas de Tempo Real)
Escalonamento de Tempo Real Introdução
Escalonamento de Processos no Linux
Anomalias de Escalonamento
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas em Tempo Real Módulo 2: Concorrência: Conceito de processos; estados de processos; algoritmos para escalonamento de processos; Regiões Críticas;
Autovalores e autovetores:
Criação de objetos da AD 1Luis Rodrigues e Claudia Luz.
Threads: Introdução e Implementação
ME623A Planejamento e Pesquisa
INTRODUÇÃO AO DESENVOLVIMENTO DE SOFTWARE EMBARCADO
Gerência de Recursos Processador
Estrutura de dados, pseudocódigo
Universidade Federal de Alagoas – UFAL Centro de Tecnologia – CTEC
Gerência do processador
Algoritmos e Programação I
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Capítulo 7 Charts & Graphs. Introdução •Muitas vezes, apenas tabelas numéricas não são o suficiente para entender uma situação, ou um processo. Todas.
Escalonamento de Tempo Real
Escalonabilidade em tarefas Dependentes: Compartilhamento de Recursos André Luis Meneses Silva.
Introdução aos Sistemas de Tempo Real
Escalonamento de Sistemas de Tempo Real
Algoritmos e Estruturas de Dados I – Ponteiros
Análise de Dados O Excel é popular, em grande parte, por causa das possibilidades que ele traz na elaboração de cálculos e também do número de ferramentas.
Sistemas Operacionais
Disciplina Análise de Algoritmos BCC-UFU Profa. Sandra de Amo
Sistemas Operacionais
Conceitos em Sistemas de Tempo Real (Real Time Systems)
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Escalonamento de Processos EDF Algorithm
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.
SISTEMAS OPERACIONAIS
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Sistemas em Tempo Real Jadsonlee da Silva Sá
Extensões no teste de escalonabilidade. André Luis Meneses Silva.
Prof. André Luis Meneses Silva
Sistemas Embarcados de Tempo Real Grupo de Engenharia da Computação Sérgio Cavalcante.
Capítulo 9: SAD orientado a Modelo
Universidade Federal de Pernambuco
CIn-UFPE STR Escalonamento de Tarefas Aperiódicas de STR Hard
Introdução aos Sistemas de Tempo Real
Escalonamento de Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
Sistemas Operacionais
Sistemas Operacionais Multimídia Aula 12. Gerência de Processos Mapeamento de processos sobre recursos de acordo com política de escalonamento Possíveis.
Introdução aos Sistemas de Tempo Real Sergio Cavalcante Centro de Informática – UFPE Assunto: [str]
INTRODUÇÃO A SISTEMAS DE TEMPO REAL PARA MICROCONTROLADORES IFBA - Raimundo Jorge Abreu
DETI – Universidade de Aveiro
Transcrição da apresentação:

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

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

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.

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.

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.

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

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 0,25 Tarefa B 8 3 2 0,375 Tarefa C 16 5 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

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

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

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

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

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.

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.

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 3.2.4 e 3.2.5).