Algoritmos para economia de energia no escalonamento de workflows em nuvens computacionais
Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE.
Transcript of Algoritmos de Escalonamento Sistemas de Tempo Real Centro de Informática - UFPE.
Algoritmos de Escalonamento
Sistemas de Tempo RealCentro 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
Roteiro
Algoritmos de escalonamentoRate MonotonicEarliest Deadline FirstDeadline Monotonic
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
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
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
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
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
Escalonamento
Abordagens
Escalonamento
Teste de Escalonabilidade
Escalonamento
Utilização de uma tarefa
Rate Monotonic Scheduling
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
Motivação
Algoritmos de escalonamento não consideram:
Tempo de computaçãoRestrição de tempoRecursos compartilhadosRelação de precedência entre as tarefas
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
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
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
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
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)
• 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)
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)
Utilizando a fórmula de BBB, chegamos a mesma conclusão:
2)1(3
1
i
iU
21,9552344
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
Rate Monotonic Scheduling (RMS)
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)
Vantagens
SimplicidadeRMS é ótimo para a classe de problemas na qual
ele se encontra inserido
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
Rate Monotonic Scheduling (RMS)
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
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
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.
Earliest Deadline First
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
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.
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
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
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
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
Deadline Monotonic
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."
Deadline Monotonic Características:
Prioridades EstaticasPreemptivoTodos os processos são periodicosDeadline <= PeriodoPrioridade é inversamente proporcional ao
DeadlineAlgoritmo ótimo
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
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.
Exemplo 1
Figura 2. exemplo de tarefas escalonadas no Deadline Monotonic
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.
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
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
Exemplo 2
C T D
P1 1 4 3
P2 1 5 4
P3 2 6 5
P4 1 11 10
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)
Exemplo 2
C T D
P1 1 4 3
P2 1 5 4
P3 2 6 5
P4 1 11 10
Exemplo 2
Como R4 <= D4, então nesse caso P4 é escalonável utilizando o Deadline Monotonic.
Exemplo 2
Figura 3. gráfico do exemplo 2
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