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

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

Algoritmos de Escalonamento

Apresentações semelhantes


Apresentação em tema: "Algoritmos de Escalonamento"— Transcrição da apresentação:

1 Algoritmos de Escalonamento
Sistemas de Tempo Real Centro de Informática - UFPE

2 Equipe Ademir Jr. André Guedes André Souza Bruno Barros Diêgo Santiago
Francisco Simões Rebeka Gomes Renato Marcelino Rodrigo Melo Valmir Sena

3 Roteiro Algoritmos de escalonamento Rate Monotonic
Earliest Deadline First Deadline Monotonic

4 Introdução Escalonamento:
“Procedimento de ordenar a execução de tarefas na fila de pronto” Aspecto importante em sistemas com restrições temporais Detalhes de implementação tratados na fase de projeto

5 Tarefa Abstração básica de um “problema de escalonamento”:
Concorrência por recursos computacionais Correctness e Timeliness Precedência e Exclusão Hard / Soft Periódicas / Aperiódicas Esporádicas

6 Tarefa Tempo de Início Tempo de Término Tempo de Chegada
Tempo de Liberação Tempo de Computação Período Deadline Release Jitter

7 Tarefa Tempo de Início Tempo de Término Tempo de Chegada
Tempo de Liberação Tempo de Computação Período Deadline Intervalo Mínimo

8 Escalonamento “Procedimento de ordenar a execução de tarefas na fila de pronto” Escalonador Escala de execução Problema NP-Completo Algoritmo Ótimo Características: Preemptivo / Não-Preemptivo Estático / Dinâmico Offline / Online

9 Escalonamento Abordagens

10 Escalonamento Teste de Escalonabilidade

11 Escalonamento Utilização de uma tarefa

12 Rate Monotonic Scheduling

13 Motivação STR desenvolvidos com técnicas empíricas podem ser altamente imprevisíveis STR atuais são baseados em modificações dos sistemas time sharing: Multitarefas Escalonamento baseado em prioridade Suporte de um clock de tempo real

14 Motivação Algoritmos de escalonamento não consideram:
Tempo de computação Restrição de tempo Recursos compartilhados Relação de precedência entre as tarefas

15 Definições Algumas definições importantes com respeito a Tarefas Periódicas C: WCET de uma tarefa T: Periodo de uma tarefa U: Processor Utilization Factor Ulub: Least Upper Bound Processor Utilization Factor

16 Rate Monotonic Scheduling (RMS)
Algoritmo de Escalonamento Preemptivo e com prioridades Prioridades fixas e inversamente proporcionais ao período Tem garantias determinísticas em relação ao tempo de resposta Qualquer tarefa pode ser interrompida por outra tarefa com maior prioridade que esteja no estado PRONTO

17 Rate Monotonic Scheduling (RMS)
Premissas As tarefas são periódicas e independentes O “deadline” de cada tarefa coincide com o seu período e são conhecidos e estáticos O tempo de computação (WCET) de cada tarefa é conhecido e constante O tempo de chaveamento dentre tarefas não causa impacto no modelo

18 Rate Monotonic Scheduling (RMS)
Escalonabilidade por Liu e Layland Para um conjunto de tarefas, se U <= Ulub então ele esse conjunto de tarefas é escalonavel. Para um conjunto com n tarefas, o Ulub desse conjunto em relação ao RMS é dado por: Para

19 Rate Monotonic Scheduling (RMS)
Logo, para que um conjunto de n tarefas seja escalonável: Onde: Ci é o custo da ith tarefa Ti é o tempo de execução da ith tarefa

20 Rate Monotonic Scheduling (RMS)
Escalonabilidade por Bini, Butazzo e Butazzo (2001) Hiperbolic Bound for RMS Mais abrangente Menos pessimista Aceita problemas que a fórmula definida por Liu e Layland não aceitaria Um conjunto de tarefas com n é escalonável se: Onde Ui é o fator de utilização do processador da ith tarefa

21 Rate Monotonic Scheduling (RMS)
Considere as três tarefas: Aplicando a fórmula, temos: Então podemos dizer que estas tarefas são escalonáveis pelo RMS Tarefa Período Tempo de execução Prioridade RM Utilização A 100 20 1 0,2 B 150 40 2 0,267 C 350 3 0,286

22 Rate Monotonic Scheduling (RMS)
Utilizando a fórmula de BBB, chegamos a mesma conclusão:

23 Rate Monotonic Scheduling (RMS)
As tarefas A, B e C são executadas em t=0 Devido à sua freqüência, A assume o processador A conclui e B assume C assume e é interrompida logo após por A

24 Rate Monotonic Scheduling (RMS)
Tarefas Periódicas Ci Pi Di Tarefa A Tarefa B A,B A 40 10 20 30 50 B

25 Rate Monotonic Scheduling (RMS)
Vantagens Simplicidade RMS é ótimo para a classe de problemas na qual ele se encontra inserido

26 Rate Monotonic Scheduling (RMS)
Desvantagens Na prática, a maioria dos problemas não possuem suas tarefas totalmente independentes O RMS original pode causar problemas de inversão de prioridades e deadlock Que pode ser resolvido com herança de prioridades Ou métodos alternativos, como o uso de algoritmos não-bloqueáveis, ou evitar o compartilhamento de semáforo entre threads com prioridades diferentes

27 Priority inheritance Podem ser caracterizados por dois parâmetros:
Herança retardada (‘lazy’) ou imediata Retardada – apenas quando for essencial Imediata – aumenta a prioridade Herança otimista ou pessimista Otimista – aloca uma quantia mínima Pessimista – aloca mais que o necessário

28 Priority inheritance (exemplo)
Considere as três tarefas: Tarefa Prioridade A Alta B Média C Baixa A e C utilizam o mesmo recurso Enquanto C executa, ganha prioridade mais alta B não consegue interromper C C acaba de executar, muda de prioridade e acorda A A interrompe C e termina de executar B e C executam logo em seguida

29 Exemplos de uso Quem já usou RMS?
In 1989 IBM applied RMA to a sonar training system, allowing them to discover and correct performance problems [Lucas 92]. Since 1990, RMA was recommended by IBM Federal Sector Division (now Lockheed Martin) for its real-time projects. RMA was successfully applied to active and passive sonar of a major submarine system of US Navy. RMA was selected by the European Space Agency as the baseline theory for its Hard Real-Time Operating System Project. The applicability of RMA to a typical avionics application was demonstrated [Locke 91]. RMA was adopted in 1990 by NASA for development of real-time software for the space station data management subsystem. In 1992 Acting Deputy Administrator of NASA, Aaron Cohen stated, "Through the development of rate monotonic scheduling, we now have a system that will allow (Space Station) Freedom's computers to budget their time to choose [among] a variety of tasks, and decide not only which one to do first but how much time to spend in the process." Magnavox Electronics Systems Company incorporated RMA into real-time software development [Ignace 94]. RMA principles have influenced the design and development of the following standards: IEEE Futurebus+ [Sha 91b] POSIX Ada 95 Tool vendors provide the capability to analyze real-time designs using RMA. RMA algorithms, such as priority inheritance, have been used by operating system and Ada compiler vendors.

30 Earliest Deadline First

31 EDF (Earliest Deadline First)
Algoritmo de escalonamento de tarefas periódicas Define escalonamento baseado em prioridades A tarefa mais prioritária é a que tem o deadline mais próximo do tempo atual

32 EDF (Earliest Deadline First)
A escala é produzida em tempo de execução por um escalonador preemptivo Simplificações do Algoritmo: Tarefas periódicas e independentes Deadline igual ao período (Di=Pi). O tempo de computação conhecido e constante (tempo do pior caso). Tempo de Chaveamento nulo.

33 Teste de Escalonabilidade do EDF
Pode ser realizado em tempo de projeto Caso obedeça as premissas do slide anterior este teste é suficiente e necessário Onde U é o uso do processador, C o tempo de computação e P é o período Dizer que caso não obedeça as premissas do slide anterior o teste é apenas necessário e não mais suficiente

34 EDF (Earliest Deadline First)
Tarefas Periódicas Ci Pi Di Tarefa A Tarefa B 10/ /50 = 1

35 EDF (Earliest Deadline First)
Exemplo de EDF Tarefas Periódicas Ci Pi Di Tarefa A Tarefa B A,B A 40 10 20 30 50 B

36 EDF (Earliest Deadline First)
Exemplo de RMS Tarefas Periódicas Ci Pi Di Tarefa A Tarefa B A,B A 40 10 20 30 50 B B perde o Deadline

37 Deadline Monotonic

38 Deadline Monotonic Algoritmo de escalonamento estático
Proposto por Leung e Whitehead em 1982 Similar ao Rate Monotonic "The inverse-deadline priority assignment is an optimal priority assignment for one processor." Quando uma tarefa tem um período de ativação relativamente lento mas necessita de ser atendida dentro de um prazo mais curto pode definir-se uma deadline menor que o período e escalonar as tarefas pelo deadline.

39 Deadline Monotonic Características: Prioridades Estaticas Preemptivo
Todos os processos são periodicos Deadline <= Periodo Prioridade é inversamente proporcional ao Deadline Algoritmo ótimo

40 Deadline Monotonic Onde: Ti é o período;
Figura 1. instância de tarefa no Deadline Monotonic Onde: Ti é o período; Ci é o tempo de computação no pior caso (constante para cada instante); Di é o deadline (constante para cada instante);

41 Deadline Monotonic Como saber se todos os processos são escalonáveis utilizando o Deadline Monotonic? Roda e ver se funciona!! Ou utilizar o teste de agendamento proposto por Audsley.

42 Exemplo 1 Figura 2. exemplo de tarefas escalonadas no Deadline Monotonic

43 Deadline Monotonic Maior tempo de resposta de uma tarefa periodica é igual a: Ri = Ci + Ii Ci => Tempo de Computação da tarefa i no pior caso. Ii => Interferência sofrida pela tarefa i pela outras tarefas. Se para toda tarefa i temos Ri <= Di , então o conjunto de tarefas será escalonavel com o Deadline Monotonic.

44 Deadline Monotonic Substituindo: Desejamos encontrar o menor valor de Ri que satisfaça essa igualdade.

45 Ri = Ii + Ci, e voltar para o passo 2.
Deadline Monotonic Algoritmo: R = ∑ Cj Calcula-se Ii Se Ri = Ii + Ci , então o pior caso é Ri. Se não atualizar: Ri = Ii Ci, e voltar para o passo 2. i (0) j =1 k k k k (K + 1) k

46 Exemplo 2 C T D P1 1 4 3 P2 5 P3 2 6 P4 11 10

47 Exemplo 2 R4 = 5 ; I4 = 5 ; temos: I4 + C4 != R4
R4 = I4 + C4 = 6 ; I4 = 6 ; temos: I4 + C4 != R4 . R4 = I4 + C4 = 10 ; I4 = 9 ; temos: I4 + C4 = R4 Então pior tempo de resposta de P4 é: R4 = R4 = 10 (0) (0) (0) (0) (1) (0) (1) (1) (1) (5) (4) (5) (5) (5) (5)

48 Exemplo 2 C T D P1 1 4 3 P2 5 P3 2 6 P4 11 10

49 Exemplo 2 Como R4 <= D4, então nesse caso P4 é escalonável utilizando o Deadline Monotonic.

50 Exemplo 2 Figura 3. gráfico do exemplo 2

51 Referências Jean-Marie Farine, Sistemas de Tempo Real
Giorgio C. Buttazzo, Hard Real-Time Computing Systems Klein et al., A Practiotioner’s Handbook for Real-Time Analysis Neil C. Audsley, Deadline Monotonic Scheduling


Carregar ppt "Algoritmos de Escalonamento"

Apresentações semelhantes


Anúncios Google