Anomalias de Escalonamento Departamento de Electrónica, Telecomunicações e Informática Universidade de Aveiro Sistemas de Tempo-Real Segunda-feira, 23 de Outubro de 2006 Hélder Cabrita 27470 Daniel Castanheira 27520
Motivação Escalonamento de tarefas Tipos de Escalonamento Utilização de multi-processamento Possibilidade de várias tarefas atendidas ao mesmo tempo. Problemas associados.
Tipos de Escalonamento Preemptive vs. non-preemptive; Síncrono (all processes arrive at once); Assíncrono (processes arrive one by one); Off-line (arrival time, computation time, deadline of all process known in advance) ou on-line; Independente, ou com relação de dependência; Aperiódico vs. periódico vs. híbrido (misto)
Anomalias de escalonamento Uma alteração aparentemente positiva no sistema (redução da carga ou aumento dos recursos) pode causar uma perda performance.
Anomalias de escalonamento Adição de processadores Reduzir a precedência entre tarefas Redução do tempo de execução de tarefas Podem aumentar o tempo de execução!!!
Exemplos Representação da precedência entre tarefas Jx: J1 (3) J2 (2) J3 (2) J4 (2) J9 (9) J8 (4) J7 (4) J6 (4) J5 (4) Legenda: J9 só pode ser executada depois de J1. J1 (3) – a tarefa J1 tem um tempo de execução de 3 unidades de tempo. J1 (3) J9 (9) Escalonamento óptimo das tarefas Jx em 3 processadores: 1 2 3 4 8 7 6 9 5 P1 P2 P3 10 12 14 Unidades de tempo
Adicionando 1 processador Escalonamento óptimo das tarefas Jx em 4 processadores: 1 2 3 4 8 7 6 9 5 P1 P2 P3 10 12 14 P4 Unidades de tempo O tempo de processamento aumentou!!! Com 3 processadores: 12 UT Com 4 processadores: 15 UT
Reduzir a precedência entre tarefas Representação da precedência entre tarefas Jx: O tempo de processamento aumentou!!! Com 4 precedências: 12 UT Com 2 precedências: 16 UT J1 (3) J2 (2) J3 (2) J4 (2) J9 (9) J8 (4) J7 (4) J6 (4) J5 (4) Legenda: J9 só pode ser executada depois de J1. J1 (3) – a tarefa J1 tem um tempo de execução de 3 unidades de tempo. Escalonamento óptimo das tarefas Jx em 3 processadores: 1 2 3 4 8 7 6 9 5 P1 P2 P3 10 12 14 Unidades de tempo
Redução do tempo de execução de tarefas em 1 UT Escalonamento óptimo das tarefas Jx em 3 processadores: 1 2 3 4 8 7 6 9 5 P1 P2 P3 10 12 14 Unidades de tempo O tempo de processamento aumentou!!!
Anomalia num monoprocessador
Conclusão Se um conjunto de tarefas é escalonado optimamente numa unidade de multi-processamento, com determinadas prioridades atribuídas, tempos de execução fixos e limites de precedência, uma alteração aparentemente positiva do sistema pode causar uma redução da performance do mesmo. Atribuição de prioridades não é uma boa solução! Esta confunde dois conceitos: Quão importante é algo? A quem deverá ser atribuído “o processador” a seguir?
Bibliografia http://www.cs.hmc.edu/~keller/courses/cs156/s98/slides/399.html http://www.soe.ucsc.edu/classes/cmpe117/Winter05/cmpe117-luca/lecture_aperiodic_scheduling.pdf http://www.cs.chalmers.se/~phs/Teaching/Realtime.ppt http://www.ce.chalmers.se/edu/year/2005/course/EDA420/Documents/Slides/Slides_7_4up.pdf