• Sonuç bulunamadı

2. TEZİN BÖLÜMLERİ

2.2. Tanım ve Kavramlar

2.2.3. Tüketim ve Tüketim Fonksiyonu

Enhanced R-EDF (ER-EDF), algoritmo proposto e contribuição deste trabalho, é uma ver-

são aprimorada do algoritmo R-EDF. Como visto anteriormente, R-EDF apresenta restrições no desempenho de escalonamento através do uso de medidas de proteção das tarefas com reservas. Para sanar tais restrições, foram adicionadas modificações que permitem que o tempo ocioso de um período seja utilizado por tarefas do estado overrun, i.e., permite-se que uma tarefa com reservas ultrapasse seu tempo reservado.

Também foi adicionado o suporte a reservas para tarefas hard real-time. Isto foi alcançado através da reserva pelo pior caso [21], i.e., a reserva é realizada pela utilização pico (ψ). Essa re- serva é efetivada somente quando a tarefa é marcada para tal. Permite-se assim o escalonamento de tarefas hard e soft real-time em um mesmo escalonador.

50

3.4.1

Controle de Admissão

O controle de admissão sofreu modificações para contemplar tarefas hard real-time. Cada

task, ao ser criada, além de informar valores das utilizações, informa se a tarefa é hard. O

algoritmo modificado é apresentado a seguir.

Passo 1 Inicialmente a capacidade de tempo-real CRT p e capacidade pico P CRT p de cada pro-

cessador p são inicializadas com 0 (1 6 p 6 M), e a capacidade time-sharing CT S é

inicializada com M.

Passo 2 Uma tarefa de tempo-real com utilização θ e utilização pico ψ efetua requisição de reserva:

Sea tarefa é hard então: (reserva pela utilização pico ψ)

Sea capacidade time-sharing pode ser reduzida para admitir essa tarefa CT S− ψ >

β, e um processador p (1 6 p 6 M) pode atingir o requerimento CRT p+ ψ 6 1

Entãoa tarefa é admitida e atribuída ao processador p, com: CRT p = CRT p+ ψ;

P CRT p = P CRT p+ ψ; CT S = CT S− ψ

Senãoa tarefa é rejeitada. Senão: (reserva pela utilização θ)

Sea capacidade time-sharing pode ser reduzida para admitir essa tarefa CT S− θ >

β, e um processador p (1 6 p 6 M) pode atingir o requerimento CRT p+ θ 6 1

Então a tarefa é admitida e atribuída ao processador p, com: CRT p = CRT p+ θ;

P CRT p = P CRT p+ ψ; CT S = CT S− θ

Senãoa tarefa é rejeitada.

Passo 3 Seuma tarefa de tempo-real com utilização θ e utilização pico ψ, atribuída a um pro- cessador p, libera sua reserva, então:

Sea tarefa é hard então CRT p = CRT p− ψ; P CRT p = P CRT p− ψ; CT S = CT S + ψ.

SenãoCRT p= CRT p− θ; P CRT p = P CRT p− ψ; CT S = CT S + θ.

Na Tabela 1 é exemplificado as diferenças entre R-EDF e ER-EDF no momento do controle de admissão. Para tarefas de melhor esforço é determinado uma reserva de 10%, i.e., β = 0.10. As seguintes tarefas efetuam o requerimento:

1. Tarefa 1: θ = 0.4, ψ = 0.6, hard real-time. 2. Tarefa 2: θ = 0.3, ψ = 0.4, soft real-time. 3. Tarefa 3: θ = 0.1, ψ = 0.1, soft real-time.

51

Neste exemplo, três tarefas fazem, seqüencialmente, o pedido no controle de admissão. A primeira tarefa requer uma reserva hard real-time, suportado apenas pelo ER-EDF, enquanto que as outras duas requerem soft real-time. A primeira linha da tabela mostra o estado inicial do controle de admissão. A primeira tarefa, representada na segunda linha, é aceita em ambos algoritmos. Neste momento, ER-EDF efetuou a reserva pela utilização pico (ψ = 0.6) enquanto que R-EDF efetuou pela utilização (θ = 0.4).

Tarefa R-EDF† ER-EDFAutorizado Overloaded

-

CRT = 0.0 CRT = 0.0 - Não

P CRT = 0.0 P CRT = 0.0

CT S = 1.0 CT S = 1.0

1

CRT = 0.4 CRT = 0.6 Sim†/Sim⋆ Não

P CRT = 0.6 P CRT = 0.6

CT S = 0.6 CT S = 0.4

1+2

CRT = 0.7 CRT = 0.9 Sim†/Sim⋆ Sim

P CRT = 1.0 P CRT = 1.0 P CRT > 1 − β

CT S = 0.3 CT S = 0.1 1.0 > 0.9

1+2+3

CRT = 0.8 CRT = 1.0 Sim†/Não⋆ Sim

P CRT = 1.1 P CRT = 1.1 P CRT > 1 − β

CT S = 0.2 CT S = 0.0 1.1 > 0.9

Tabela 1: Tabela exemplificando controle de admissão de R-EDF e ER-EDF.

Então, a segunda tarefa faz o requerimento e o sistema entra, para ambos algoritmos, no estado overloaded. A última coluna da tabela mostra o cálculo realizado para determinar o estado overloaded. Quando a terceira tarefa tenta iniciar sua execução, o controle de admissão do R-EDF permite, enquanto que no ER-EDF a tarefa é rejeitada. O critério que determina a rejeição é mostrado no seguinte cálculo:

CT S− θ > β

0.1 − 0.1 > 0.1 0.0 > 0.1

3.4.2

Escalonamento

No ER-EDF, o escalonamento foi aprimorado para fazer melhor uso do tempo de processa- mento. Para isso, foram feitas modificações para liberar o tempo ocioso de processamento para processos que estejam em overrun. As principais modificações englobam:

1. Evitar que a tarefa entre no estado overrun quando não existe outra para tarefa pronta para execução;

2. Ao término de um job, retirar tarefa de deadline mais próximo do estado overrun se não houver tarefas prontas para executar.

52

Analogamente ao R-EDF, ER-EDF somente ativa o mecanismo de proteção quando se en- contra no estado sobrecarregado. Assim, quando o sistema está sobcarregado, ER-EDF se com- porta da mesma forma que o algoritmo EDF original. O Algoritmo ER-EDF é descrito a seguir. Passo 1 Selecione uma tarefa para execução:

1. Se alguma tarefa de tempo-real está pronta, então seleciona a tarefa cujo último job liberado para a lista LJD tenha o deadline mais próximo e execute seus jobs. 2. senão se há alguma tarefa no estado overrun, então seleciona a tarefa que está em

overrun cujo último job liberado para a lista LJD tenha o deadline mais próximo e

execute seus jobs.

3. senão invoque o escalonador de tarefas de melhor-esforço. Passo 2 O escalonador espera até a próxima unidade de tempo:

1. Se a tarefa que está executando termina a execução de seus jobs, i.e., a LJD está vazia, então ela entra no estado esperando.

2. Senão se o sistema está sobrecarregado e ainda há jobs na LJD da tarefa corrente e a tarefa utilizou seu tempo reservado, então

Sehá tarefas prontas para escalonar, então ela entra o estado overrun.

Senão sea utilização executada é maior ou igual a (1−β), então ela entra o estado overrun.

senãocontinua a execução.

3. Verificar todas tarefas pelo início de um novo período e colocá-las no estado pronto. Passo 3 Vá para o passo 1.

Na Figura 18 está ilustrado o diagrama de estados representando o novo algoritmo ER-EDF. As principais mudanças se encontram na transição entre o estado overrun e o estado pronto. Uma tarefa pode permanecer executando no processador mesmo quando ultrapassa o tempo reservado, atrasando, assim, a entrada no estado overrun. Também existe a possibilidade de sair do estado overrun para executar.

Na Figura 19 é ilustrada a execução de duas tarefas PTV conforme explanado na Subse- ção 3.3.1. Enquanto que, na execução do algoritmo R-EDF, o job JB1 é colocado no estado

overrun, ER-EDF verifica que não há tarefas para executar e permite que o job execute nos

tempos 3 e 4 mesmo ultrapassando seu tempo reservado. No tempo 15, o job JA3 entra no

estado overrun permitindo que o job JB3 execute. Logo após a execução de JB3, o job JA3 sai

do estado overrun e executa no tempo restante.

O Gerenciador Local está intrinsecamente ligado ao algoritmo de escalonamento e seu mé- todo de controle de admissão. Assim, mapeando os componentes do Gerenciador Local ao algoritmo de escalonamento, pode-se especificar:

53

Figura 18: Diagrama de estados do algoritmo ER-EDF.

Figura 19: Exemplo de tarefas PTV ilustrando reservas restritivas e solução do algoritmo ER- EDF.

• Controle de Admissão: é o próprio controle de admissão do ER-EDF.

• Gerenciador de Recursos: neste, mapeia-se o processador como sendo um recurso ge- renciável e, assim, pode ser reservado e oferecer garantias através de método especificado pelo algoritmo de escalonamento que, neste caso, é o ER-EDF.

• Monitor: mapeia-se para um medidor de tempo ocioso de CPU. Este incrementa um contador de tempo.

Benzer Belgeler