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

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

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

Apresentações semelhantes


Apresentação em tema: "Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE."— 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 U lub : 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 <= U lub então ele esse conjunto de tarefas é escalonavel. Para um conjunto com n tarefas, o U lub desse conjunto em relação ao RMS é dado por: Para

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

20 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 U i é o fator de utilização do processador da i th tarefa Rate Monotonic Scheduling (RMS)

21 Considere as três tarefas: Aplicando a fórmula, temos: Então podemos dizer que estas tarefas são escalonáveis pelo RMS TarefaPeríodoTempo de execuçãoPrioridade RMUtilização A ,2 B ,267 C ,286 Rate Monotonic Scheduling (RMS)

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

23 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 Rate Monotonic Scheduling (RMS)

24 Tarefas PeriódicasC i P i D i Tarefa A Tarefa B A,BA AB … Rate Monotonic Scheduling (RMS)

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

26 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 Rate Monotonic Scheduling (RMS)

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: TarefaPrioridade AAlta BMédia CBaixa 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].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].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].Ignace 94 RMA principles have influenced the design and development of the following standards: IEEE Futurebus+ [Sha 91b]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

34 EDF (Earliest Deadline First) Tarefas PeriódicasC i P i D i Tarefa A Tarefa B / /50 = 1

35 EDF (Earliest Deadline First) Tarefas PeriódicasC i P i D i Tarefa A Tarefa B A,BA AB … Exemplo de EDF

36 EDF (Earliest Deadline First) Tarefas PeriódicasC i P i D i Tarefa A Tarefa B A,BA AB … B perde o Deadline Exemplo de RMS

37 Deadline Monotonic

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

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; Ci é o tempo de computação no pior caso (constante para cada instante); Di é o deadline (constante para cada instante); Figura 1. instância de tarefa no Deadline Monotonic

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: R i = C i + I i C i => Tempo de Computação da tarefa i no pior caso. I i => 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 R i que satisfaça essa igualdade.

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

46 Exemplo 2 CTD P1 143 P2 154 P3 265 P

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

48 Exemplo 2 CTD P1 143 P2 154 P3 265 P

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 Practiotioners Handbook for Real-Time Analysis Neil C. Audsley, Deadline Monotonic Scheduling


Carregar ppt "Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE."

Apresentações semelhantes


Anúncios Google