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

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

Embed Size (px)

Citation preview

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

Algoritmos de Escalonamento

Sistemas de Tempo RealCentro de Informática - UFPE

Page 2: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Equipe Ademir Jr. André Guedes André Souza Bruno Barros Diêgo Santiago

Francisco Simões Rebeka Gomes Renato Marcelino Rodrigo Melo Valmir Sena

Page 3: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Roteiro

Algoritmos de escalonamentoRate MonotonicEarliest Deadline FirstDeadline Monotonic

Page 4: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Introdução

Escalonamento:“Procedimento de ordenar a execução de tarefas

na fila de pronto”Aspecto importante em sistemas com restrições

temporaisDetalhes de implementação tratados na fase de

projeto

Page 5: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Tarefa

Abstração básica de um “problema de escalonamento”:Concorrência por recursos computacionaisCorrectness e TimelinessPrecedência e ExclusãoHard / SoftPeriódicas / AperiódicasEsporádicas

Page 6: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 7: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 8: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 9: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Escalonamento

Abordagens

Page 10: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Escalonamento

Teste de Escalonabilidade

Page 11: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Escalonamento

Utilização de uma tarefa

Page 12: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Rate Monotonic Scheduling

Page 13: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 14: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Motivação

Algoritmos de escalonamento não consideram:

Tempo de computaçãoRestrição de tempoRecursos compartilhadosRelação de precedência entre as tarefas

Page 15: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Definições

Algumas definições importantes com respeito a Tarefas PeriódicasC: WCET de uma tarefaT: Periodo de uma tarefaU: Processor Utilization Factor

Ulub: Least Upper Bound Processor Utilization Factor

Page 16: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 17: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Rate Monotonic Scheduling (RMS)

PremissasAs tarefas são periódicas e independentesO “deadline” de cada tarefa coincide com o seu

período e são conhecidos e estáticosO tempo de computação (WCET) de cada tarefa é

conhecido e constanteO tempo de chaveamento dentre tarefas não

causa impacto no modelo

Page 18: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Rate Monotonic Scheduling (RMS)

Escalonabilidade por Liu e LaylandPara 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 )12(lub nnUn

...693147.02ln)12(lim

n

nn

Page 19: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Logo, para que um conjunto de n tarefas seja escalonável:

Onde:Ci é o custo da ith tarefaTi é o tempo de execução da ith tarefa

)12(1

nn

i i

i nT

CU

Rate Monotonic Scheduling (RMS)

Page 20: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

• 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

Rate Monotonic Scheduling (RMS)

Page 21: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

779,0)12(3753,0 3

Rate Monotonic Scheduling (RMS)

Page 22: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Utilizando a fórmula de BBB, chegamos a mesma conclusão:

2)1(3

1

i

iU

21,9552344

Rate Monotonic Scheduling (RMS)

Page 23: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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)

Page 24: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Tarefas Periódicas Ci Pi Di

Tarefa A 10 20 20Tarefa B 25 50 50

A,B A

0 4010 20 30 50

A B

Rate Monotonic Scheduling (RMS)

Page 25: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Vantagens

SimplicidadeRMS é ótimo para a classe de problemas na qual

ele se encontra inserido

Rate Monotonic Scheduling (RMS)

Page 26: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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)

Page 27: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 28: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 29: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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.

Page 30: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Earliest Deadline First

Page 31: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 32: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

EDF (Earliest Deadline First)

A escala é produzida em tempo de execução por um escalonador preemptivo

Simplificações do Algoritmo:Tarefas periódicas e independentesDeadline igual ao período (Di=Pi).O tempo de computação conhecido e constante

(tempo do pior caso).Tempo de Chaveamento nulo.

Page 33: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

11

n

i i

iP

CU

Page 34: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

EDF (Earliest Deadline First)

Tarefas Periódicas Ci Pi Di

Tarefa A 10 20 20Tarefa B 25 50 50

11

n

i i

iP

CU 10/20 + 25/50 = 1

Page 35: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

EDF (Earliest Deadline First)

Tarefas Periódicas Ci Pi Di

Tarefa A 10 20 20Tarefa B 25 50 50

A,B A

0 4010 20 30 50

A B

Exemplo de EDF

Page 36: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

EDF (Earliest Deadline First)

Tarefas Periódicas Ci Pi Di

Tarefa A 10 20 20Tarefa B 25 50 50

A,B A

0 4010 20 30 50

A B

B perde o Deadline

Exemplo de RMS

Page 37: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Deadline Monotonic

Page 38: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 39: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Deadline Monotonic Características:

Prioridades EstaticasPreemptivoTodos os processos são periodicosDeadline <= PeriodoPrioridade é inversamente proporcional ao

DeadlineAlgoritmo ótimo

Page 40: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

Page 41: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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.

Page 42: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Exemplo 1

Figura 2. exemplo de tarefas escalonadas no Deadline Monotonic

Page 43: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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.

Page 44: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Deadline Monotonic

Substituindo:

Desejamos encontrar o menor valor de Ri que satisfaça essa igualdade.

j

i

j j

ii C

T

RI

1

1

j

i

j j

iii C

T

RCR

1

1

Page 45: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Deadline Monotonic

Algoritmo:

1. R = ∑ Cj

2. Calcula-se Ii

3. Se Ri = Ii + Ci , então o pior caso é Ri. Se não atualizar:

Ri = Ii + Ci, e voltar para o passo 2.

(0) i

j =1 k

k k k

(K + 1) k

Page 46: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Exemplo 2

C T D

P1 1 4 3

P2 1 5 4

P3 2 6 5

P4 1 11 10

Page 47: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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

(1)

(4)

(0)

(5)

(0)

(1)

(0)

(0) (1)

(0)

(1)

(5) (5) (5)

(5)

Page 48: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Exemplo 2

C T D

P1 1 4 3

P2 1 5 4

P3 2 6 5

P4 1 11 10

Page 49: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Exemplo 2

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

Page 50: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

Exemplo 2

Figura 3. gráfico do exemplo 2

Page 51: Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE

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