Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.
-
Upload
eliza-teixeira -
Category
Documents
-
view
218 -
download
2
Transcript of Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.
![Page 1: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/1.jpg)
Escalonamento de Tarefas com Compartilhamento de Recursos
André Luis Meneses Silva
![Page 2: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/2.jpg)
Tarefas Dependentes
• Podemos ter dois casos– Compartilhamento de Recursos.– Dependência entre Tarefas.
![Page 3: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/3.jpg)
Compartilhamento de Recursos
• Imaginem o seguinte cenário:
Executando em SC
Pedido de entrada em SC
Tarefas menos prioritárias impedem a execução de T1
![Page 4: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/4.jpg)
Compartilhamento de Recursos
• Este comportamento é denominado de inversão de prioridade.– Tarefas menos prioritárias bloqueiam as mais
prioritárias por estarem utilizando um recurso compartilhado.
– Como tratar?
![Page 5: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/5.jpg)
Compartilhamento de Recursos
• Este comportamento é denominado de inversão de prioridade.– Tarefas menos prioritárias bloqueiam mais
prioritárias por estar utilizando um recurso compartilhado.
– Problemas?• Tarefas mais prioritárias podem ficar um longo período
de tempo bloqueadas.– Tarefas intermediárias vão provocar sucessivas preempções
na tarefa em sessão crítica.• Como resolver isso?
![Page 6: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/6.jpg)
Compartilhamento de Recursos
• Algoritmos mais comuns:– Protocolo Herança de Prioridade– Protocolo de Prioridade Teto
![Page 7: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/7.jpg)
Protocolo Herança de Prioridade (PHP)
• Tarefas possuem duas prioridades:– Tarefas possuem prioridade nominal ou estática
(RM, DM, etc).– Tarefas possuem prioridade dinâmica ou ativa.• Derivadas das ações de bloqueio que ocorrem no
sistema.
![Page 8: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/8.jpg)
Protocolo Herança de Prioridade (PHP)
• Funcionamento: Tarefas são escalonadas pela sua prioridade estática enquanto não existir recurso bloqueado.
• Quando existe recurso bloqueado, a tarefa em sessão crítica herda prioridade das tarefas mais prioritárias.
![Page 9: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/9.jpg)
Protocolo Herança de Prioridade (PHP)
Executando em SC
Pedido de entrada em SC
Herda Prioridade P1Fim de Execução da Sessão Crítica
Entrada em SC
![Page 10: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/10.jpg)
Protocolo Herança de Prioridade (PHP)
• Sob o PHP um tarefa pode sofrer três tipos de bloqueios– Bloqueio direto• (T1 > T2) compartilham recursos. • T2 bloqueia T1.
– Bloqueio por herança• (T1 > T2 >T3) compartilham recursos. • T3 bloqueia T1 e conseqüentemente T3 bloqueia T2.
– Bloqueio transitivo• T1 bloqueia T2. T2 bloqueia T3. T1 bloqueia T3.
![Page 11: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/11.jpg)
Identifique os BloqueiosBloqueio Direto
Bloqueio Herança
Bloqueio Herança
![Page 12: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/12.jpg)
Identifique os Bloqueios
Bloqueio Transitivo
Bloqueio Direto
Bloqueio Transitivo
![Page 13: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/13.jpg)
Protocolo Herança de Prioridade (PHP)
• Teste de Escalonabilidade.– Similar aos anteriores, mas leva em consideração
o bloqueio máximo (Bi) de cada tarefa.
– Bi = maior sessão crítica que bloqueia Ti.
![Page 14: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/14.jpg)
Protocolo Herança de Prioridade (PHP)
Tar. Periódicas Período T. de Computação Bi Prioridade RM
Tarefa A 18 6 2 1Tarefa B 20 4 4 2Tarefa C 50 10 0 3
• Modelar no Cheddar
Usar algoritmo Rate Monotonic.Bi = Blocking Time
![Page 15: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/15.jpg)
Protocolo Herança de Prioridade (PHP)
Tar. Periódicas Período T. de Computação Bi Prioridade RM
Tarefa A 18 6 2 1Tarefa B 20 4 4 2Tarefa C 50 10 0 3
![Page 16: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/16.jpg)
Protocolo Herança de Prioridade (PHP)
• Ou ainda poderíamos utilizar:
![Page 17: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/17.jpg)
Atividade para Casa
• Calcular a utilização para cada uma das tarefas.
• Compare os resultados com os obtidos pelo cheddar.
![Page 18: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/18.jpg)
Protocolo Herança de Prioridade (PHP)
• Qual o problema do PHP?– PHP é sujeito a deadlock.– Alguém consegue dar um exemplo?
![Page 19: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/19.jpg)
Protocolo Herança de Prioridade (PHP)
Inicia a Execução
Entra em SC1
Sofre PreempçãoEntra em SC2 Pede para entra
em SC1
Volta a executar Pede para entrar em SC2
Deadlock
Como resolver isso? Idéias?
![Page 20: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/20.jpg)
Protocolo de Prioridade Teto
• Limita o número de bloqueios ou inversões de prioridade para evitar deadlocks.
• Dirigido para escalonamento de prioridade fixa.
• Similar ao PHP, porém corrige suas falhas.– Também trabalha com herança de prioridades.
![Page 21: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/21.jpg)
Protocolo de Prioridade Teto• Funcionamento:– Cada recurso possui uma prioridade teto (prioridade
igual a da tarefa mais prioritária que pode alocar o recurso).
– Se nenhum recurso compartilhado está bloqueado, quem requisita é atendido.
– Se alguma tarefa bloqueia outra mais prioritária, a menos prioritária herda sua prioridade.
– No caso de haver recurso em uso:• A tarefa que solicita só consegue acesso ao recurso solicitado
se sua prioridade for maior que a prioridade teto de todos os recursos em uso alocados por outras tarefas.
![Page 22: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/22.jpg)
Protocolo de Prioridade Teto
Legenda para os recursosRC1 (Prioridade Teto = P1) RC2 (Prioridade Teto = P1)RC3 (Prioridade Teto = P2)Tempo de término
Seja P1 > P2 > P3
P3
P2
P1
P2 P3
![Page 23: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/23.jpg)
Teste de Escalonabilidade no PCP.
• Mesmas fórmulas do PHP• Só muda o conceito de bloqueio máximo (Bi).– Duração da maior sessão crítica que pode
bloquear pelo algoritmo de Teto.
![Page 24: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/24.jpg)
Teste de Escalonabilidade no PCP
P3
P2
P1
P2 P3
![Page 25: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/25.jpg)
Modelar no CheddarTar.
PeriódicasPeríodo T. de Computação Bi Prioridade RM Compartilhamento
Tarefa A 15 10 2 1 S1, S2Tarefa B 20 8 1 2 S1, S3Tarefa C 25 6 0 3 S2, S3
Tar. Periódicas Recurso /Intervalo Recurso /Intervalo
Tarefa A S1 (1-2) S2(3-4) Tarefa B S1(2-3) S3(1-2)Tarefa C S2(3-7) S3(2-8)
![Page 26: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/26.jpg)
Atividades para Casa
• Modelar no Cheddar esta escala
P3
P2
P1
P2 P3
![Page 27: Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.](https://reader036.fdocumentos.com/reader036/viewer/2022062502/570638481a28abb8238f43fb/html5/thumbnails/27.jpg)
Referências
• Farines– Seções 2.5.3 a 2.6