Você está na página 1de 49

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS COMPARTILHAMENTO DE RECURSOS RELAES DE PRECEDNCIA

COMPONENTES: DANIEL LUIS M. TIMPONI R.A.: 16607 R.A.: 16629 R.A.: 16635 R.A.: 16646

KAU MARTINS SILVA LUIZ OTVIO NUNES TALES PELINSARI

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS

Deadline Igual ao Perodo


TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual ao Perodo


apresentado um teste onde a utilizao do processador no tem mais um sentido esttico, dependente somente das restries temporais das tarefas, mas tambm funo de uma janela de tempo t considerada no seu clculo. As tarefas de prioridade maior ou igual a i que esto disponveis para execuo no processador no intervalo t constituem a carga cumulativa ("workload") Wi(t) deste intervalo e dada por:

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual ao Perodo


A diviso do "workload" W(t) pelo valor de t d a percentagem de utilizao do processador

nesse intervalo de tempo t, considerando apenas tarefas de prioridade maior ou igual a Ti :

A condio necessria e suficiente para que a a tarefa Ti seja escalonvel que exista um

valor de t em que a sua utilizao U(t) seja menor ou igual a 1.

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual ao Perodo

Correspondem ao tempo de chegada das tarefas Tj de prioridade maior ou igual a Ti, ocorrendo dentro do periodo Pi.

Deadline Igual Menor que o Perodo


TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual Menor que o Perodo


O modelo assume tambm tarefas com "deadlines" menores aos seus perodos (Di<= Pi). Esse teste est fundamentado no conceito de tempo de resposta.

O tempo de resposta mximo de uma tarefa foi introduzido como sendo o tempo transcorrido entre a chegada e o trmino de sua execuo, considerando a mxima interferncia que a tarefa pode sofrer de outras tarefas de maior ou igual prioridade.

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual Menor que o Perodo

+1 A soluo conseguida a partir do clculo de , aproximao de Ri, quando =

0 como condio de partida =

O mtodo no converge quando a utilizao do conjunto de tarefas for maior que 100%

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual Menor que o Perodo

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual Menor que o Perodo


Nos modelos apresentados at aqui as tarefas so assumidas como peridicas e liberadas sempre no incio de cada perodo. Contudo isto nem sempre corresponde a uma hiptese realista.

Escalonadores ativados por tempo ("ticket scheduler") podem ser fonte do atraso na liberao de tarefas:
As tarefas tem as suas chegadas detectadas nos tempos de ativao do escalonador,

determinando atrasos nas suas liberaes.


Esses atrasos podem ser expressados no pior caso como "release jitters" (J)

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Igual Menor que o Perodo


Para determinar as modificaes necessrias no sentido de representar no clculo dos tempos de resposta as variaes na liberao das tarefas, necessrio que se introduza o conceito de perodo ocupado (busy period).
Um perodo ocupado i corresponde a uma janela de tempo Wi onde ocorre a execuo

contnua de tarefas com prioridade maior ou igual a i (pi = i).

Deadline Arbitrrio
TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Arbitrrio

Em modelos de deadline arbitrrio, podemos ter (D > P). Tarefas com estas caractersticas sofrem interferncia interna. Logo, para clculo do tempo de resposta, tambm temos de levar em considerao a

interferncia da prpria tarefa sobre si mesmo.


Nesta extenso assumido que a execuo de qualquer liberao de uma tarefa ser

atrasada at que liberaes anteriores da mesma tarefa sejam executadas completamente.

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Arbitrrio


Considera-se ento o "i-busy period" incluindo q+1 ativaes de Ti que podem se sobrepor na concorrncia ao processador pois Di > Pi . O valor da janela de tempo Wi(q) correspondente dado por:

O tempo de resposta da (q+1)

ativao de Ti dada por:

Para que se obtenha o tempo de resposta mximo Ri da tarefa Ti necessrio que se faa a inspeo de todos "i-busy periods", na ordem de valores crescentes de q (q=0, 1, 2, 3,..), at um valor de janela que verifique a condio:

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Arbitrrio

Se o efeito de "deadlines" arbitrrios for includo em modelos onde as liberaes no coincidem com os tempos de chegada das instncias da tarefa T , a janela de tempo Wi (q) e o tempo de resposta Ri passam a ser dados, respectivamente, por:

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Arbitrrio

3 (0)= 3 + 3 (1) -q 3 = 0 + 25 0 = 25
O valor do tempo de resposta R3(0) corresponde a 25. Com W3(0) superando o perodo P3 (P3 = 20) ento, essa janela no corresponde ao maior "busy period" de prioridade 3.

TESTE DE ESCALONABILIDADE EM MODELOS ESTENDIDOS Deadline Arbitrrio

3 (1)= 3 + 3 (1) -q 3 = 0 + 30 20 = 10
Com isto obtemos R3(1) = W3(1) - P3 = 10. Como W3(1)<2P3 temos ento o mximo "busy period" envolvendo duas ativaes da tarefa T3

COMPARTILHAMENTO DE RECURSOS

COMPARTILHAMENTO DE RECURSOS Tarefas dependentes

As tarefas apresentadas nos exemplos anteriores eram tarefas independentes, mas em sistemas de

tempo real geralmente no ocorre dessa forma. Muitas tarefas possuem relao entre elas.
As tarefas dependentes criam bloqueios em tarefas mais prioritrias, tambm chamados de inverses

de prioridades.
Esses bloqueios so inevitveis em um escalonamento dirigido a tarefas dependentes. Sabemos que

evitar esses bloqueios ao mximo seria de grande importncia, por isso, foram criados mtodos para reduzir esse nmero (Protocolo Herana de Prioridade e o Protocolo de Prioridade Teto).

COMPARTILHAMENTO DE RECURSOS Tarefas dependentes

COMPARTILHAMENTO DE RECURSOS Protocolo Herana de Prioridade

Nesse mtodo, as prioridades deixam de ser estticas, ou seja, de acordo com a figura anterior, quando T1 e T4 sofrem bloqueio, a prioridade passa a ser em T1. Evitando assim que tarefas intermedirias atrasem a execuo em sees crticas.

Tarefas possuem duas prioridades:


Tarefas possuem prioridade nominal ou esttica (RM, DM, etc). Tarefas possuem prioridade dinmica ou ativa (Derivadas das aes de bloqueio que ocorrem no sistema).

COMPARTILHAMENTO DE RECURSOS Protocolo Herana de Prioridade

Uma tarefa mais prioritria quando executada sob o PHP pode sofrer dois tipos de bloqueios:

Bloqueio direto: ocorre quando a tarefa mais prioritria tenta acessar o recurso compartilhado j

bloqueado pela tarefa menos prioritria.


Bloqueio por herana: ocorre quando uma tarefa de prioridade intermediria impedida de continuar

sua execuo por uma tarefa que tenha herdado a prioridade de uma tarefa mais prioritria.

COMPARTILHAMENTO DE RECURSOS Protocolo Herana de Prioridade

COMPARTILHAMENTO DE RECURSOS Bloqueio Transitivo

Ocorre quando h uma sequncia de tarefas aninhadas, ou seja, quando uma tarefa possui ligaes

com outras tarefas simultaneamente.


Esses bloqueios simultneos podem causar deadlocks.

COMPARTILHAMENTO DE RECURSOS Bloqueio Transitivo

COMPARTILHAMENTO DE RECURSOS Clculo do Bloqueio Mximo

O clculo do bloqueio no PHP envolve diversas variaes, o que pode tornar estes clculos muitas

vezes complicados e imprecisos.


A seguir vamos apresentar alguns mtodos para o clculo deste bloqueio mximo.

COMPARTILHAMENTO DE RECURSOS Clculo do Bloqueio Mximo

Aqui o teste do RM estendido no sentido de incorporar as relaes de excluso de um conjunto de

tarefas:

No somatrio do teste acima, considera-se a utilizao de tarefas com prioridade maior ou igual a pi .

No termo Bi / Pi , corresponde utilizao perdida no bloqueio de Ti por tarefas menos prioritrias.


Nesta equao, podemos ver se o escalonamento ser possvel e se a tarefa ir executar dentro do

seu tempo de deadline.

COMPARTILHAMENTO DE RECURSOS Clculo do Bloqueio Mximo

Outro teste, porm mais simples pode ser realizado utilizando apenas a frmula abaixo:

Esse teste mais impreciso que o teste apresentado anteriormente, ou seja, os resultados obtidos aqui

podem ser diferentes do anterior. Digamos que nos valores obtidos nesse teste no foi possvel o escalonamento, os clculos ento precisariam ser refeitos no teste anterior para confirmar esse resultado. Mas se um teste for escalonvel, no precisar refazer os clculos para ter a confirmao da resposta.

COMPARTILHAMENTO DE RECURSOS Clculo do Bloqueio Mximo

A seguir temos o modelo para calcular o escalonamento de prioridades fixas, utilizando o bloqueio que

cada tarefa sofre no conjunto.

COMPARTILHAMENTO DE RECURSOS Clculo do Bloqueio Mximo

O teste baseado em tempo de resposta para modelos envolvendo deadlines arbitrrios, estendido

utilizando a seguinte frmula:

O calculo de Bi (maior sesso crtica que bloqueia Ti) nem sempre exato, o que deixa os resultados

bastantes imprecisos.

COMPARTILHAMENTO DE RECURSOS Protocolo de Prioridade de Teto

usado para escalonamentos de prioridades fixas, como o rate monotonic. Limita o nmero de bloqueios ou inverses de prioridade para evitar deadlocks. Dirigido para escalonamento de prioridade fixa.

COMPARTILHAMENTO DE RECURSOS Protocolo de Prioridade de Teto

Assegura que apenas um bloqueio realizado por seo. Se uma tarefa de menos prioridade interferir

em uma de maior prioridade, esse protocolo no deixa que outra tarefa com prioridade inferior interfira novamente no processo.
Se ocorrer o bloqueio em mais de duas tarefas, a tarefa com menor prioridade inicial que passou a ser

a principal recebe um valor de prioridade teto, significando que ela passa a ser a tarefa de prioridade mxima.
Uma tarefa s acessa um recurso compartilhado se sua prioridade ativa for maior que a prioridade teto

de qualquer recurso j previamente bloqueado

COMPARTILHAMENTO DE RECURSOS Bloqueio ceiling

O protocolo de prioridade de teto introduz um novo tipo de bloqueio chamado de ceiling, onde uma

tarefa fica bloqueada porque no possui prioridade dinmica superior a de maior prioridade teto entre os recursos ocupados. Esse bloqueio necessrio para evitar as cadeias de bloqueios e os deadlocks.

COMPARTILHAMENTO DE RECURSOS Immediate Priority Ceiling Protocol (IPCP)

Uma verso melhorada do PCP. A herana de prioridade no IPCP deixa de se dar quando a seo crtica bloqueia a tarefa mais

prioritria. A tarefa menos prioritria tem sua prioridade ativa elevada, assumindo logo no incio da seo crtica a prioridade teto do recurso acessado, com isso, garantimos que um tarefa s poder ser bloqueada no incio de sua execuo e que a partir do momento de sua execuo, somente uma tarefa de maior prioridade poder interromper o processo.

COMPARTILHAMENTO DE RECURSOS Immediate Priority Ceiling Protocol (IPCP)

T3 libera S3 retornando a sua prioridade esttica. T2 interrompe T3 e T1 tenta fechar semforo S1, T3 bloqueado por ceiling T2 ; libera possui S3 prioridade ;T3 fecha einterrompe libera igual S1; ao maior e completa. ceiling T3 de reassume semforo ej libera semforo S2. T1 reativado e T3. T1 entra libera T1 termina T1 e fecha reassume Semforo na prioridade herdada T1 libera T3 entra em seo crtica (fecha o Semforo T3 comea sua T3 entra na seo crtica aninhada ao fechar T2 T2 inicia seu processamento interrompendo T3(preempo sofre bloqueio direto: S3 fechado por T3 que reassume e herda prioridade T1 inicia tarefas. e interrompe mais que T3 com a prioridade fecha S3 prioritria fechado pelas outras completa em T3. S1. T1 S1 de T2 S2 S2 S3) de execuo semforo S2 T3)

COMPARTILHAMENTO DE RECURSOS Teste de Escalonabilidade no PCP

Mesmas frmulas do PHP S muda o conceito de bloqueio mximo (Bi).

Durao da maior sesso crtica que pode bloquear pelo algoritmo de Teto.

RELAES DE PRECEDNCIA

RELAES DE PRECEDNCIA Offsets

A tarefa sucessora de uma precedncia liberada pela passagem do tempo de offset.


O uso de "offsets" pode representar em sub-utilizao de recursos, uma vez que a

sucessora sempre liberada por tempo em situao de pior caso

RELAES DE PRECEDNCIA Comunicao entre Tarefas

Relaes de precedncia podem ser definidas atravs das necessidades de comunicao e sincronizao entre as tarefas

As tarefas tipicamente, recebem mensagens, executam seus processamentos e por fim, enviam seus resultados ou sinais de sincronizao na forma de mensagens.

RELAES DE PRECEDNCIA Offsets Vs. Comunicao entre Tarefas

A diferena est em tempo de execuo:


A liberao por passagem de tempo uma tcnica esttica onde o "offset"

definido pode

previamente, impondo sempre o pior caso de liberao,


A liberao por mensagem dinmica e o pior caso de liberao eventualmente

acontecer.

RELAES DE PRECEDNCIA Atividades

O conceito de atividade usado como a entidade encapsuladora de tarefas que se comunicam e/ou se sincronizam.

Cada atividade representada por um grafo orientado acclico onde os nodos representam tarefas e os arcos identificam as relaes de precedncia.

RELAES DE PRECEDNCIA Atividades


O conceito de atividade usado como a entidade encapsuladora de tarefas que se comunicam e/ou se sincronizam.
Cada atividade representada por um grafo orientado acclico onde os nodos

representam tarefas e os arcos identificam as relaes de precedncia.

As atividades so ditas sncronas quando as tarefas liberam suas sucessoras pelo envio de mensagens As atividades so ditas assncronas quando a liberao envolve "offsets.

RELAES DE PRECEDNCIA Verificao da Escalonabilidade

O modelo introduzido coloca as atividades como sncronas o que implica em tratar precedncias como "release jitters". Como as tarefas possuem "deadlines" relativos menores que seus respectivos perodos, a verificao de escalonabilidade pode ser feita usando as equaes:

A escalonabilidade verificada por:

RELAES DE PRECEDNCIA Verificao da Escalonabilidade


T1 a mais prioritria e no sofre interferncia de outras tarefas. O seu tempo de resposta : R1= C1+J1= 11.

RELAES DE PRECEDNCIA Verificao da Escalonabilidade

A tarefa T2 sofre interferncia s da tarefa T1 e do seu tempo de resposta mximo.

Com W2=20 e tomando J2=3, o valor do tempo de resposta dado por R2=23

RELAES DE PRECEDNCIA Verificao da Escalonabilidade

A tarefa T3, por sua vez, sofre interferncias de T1 e de um jitter Porque sua liberao depende da concluso de T2(J3=R2)

O tempo de resposta de T3 dado por: R3 =W3+J3=38

RELAES DE PRECEDNCIA Verificao da Escalonabilidade


A tarefa T4, por sua vez, sofre interferncias de T1 e T3 e um "jitter" de T2 (J=R2)

A tarefa T4 tem o seu pior tempo de resposta portanto em 48 (R4=W4+J4). Se compararmos os tempos de resposta encontrados com os "deadlines' relativos das respectivas tarefas na figura 2.13, verificamos que as tarefas so escalonveis..

BIBLIOGRFIA
Jean-Marie F.; Fraga, J. S.; e Oliveira, R. S., Sistemas de Tempo Real, Departamento de

Automao e Sistemas, Universidade Federal de Florianpolis, Florianpolis-SC, 2000, Acessado em 12 de abril de 2013, Disponvel em <http://www.das.ufsc.br/~romulo/livrotr.pdf>;
Araujo, R. G. B., Simulador de escalonamento em tempo real CHEDDAR, Departamento de

Engenharia e Arquitetura, Universidade de Salvador BA, , Acessado em 12 de abril de 2013, Disponvel em < http://www.harpia.eng.br/disciplinas/str/Simulador_Cheddar%20%20How%20to.pdf >.
The Cheddar project : a free real time scheduling analyzer

LINK PARA DOWNLOAD: http://beru.univ-brest.fr/~singhoff/cheddar/ ;

Você também pode gostar