Escalonamento de Processos
INTRODUÇÃO
Este trabalho apresenta uma abordagem dinâmica e incremental para a exploração de características de execução e de submissão de aplicações paralelas visando o escalonamento de processos. Modelos de classificação e de predição de características de aplicações são construídos, utilizando algoritmos de aprendizado de máquina adaptados como ferramentas para a aquisição de conhecimento sobre a carga de trabalho. Os paradigmas conexionistas e baseados em instâncias orientam a aquisição de conhecimento e os algoritmos e suas extensões permitem a atualização do conhecimento obtido, à medida que informações mais recentes tornam-se disponíveis. Esses algoritmos são implementados e avaliados utilizando informações obtidas através da monitoração da execução de aplicações paralelas e da utilização de traços de execução representativos da carga de trabalho seqüencial e paralela de diferentes centros de computação. A avaliação é conduzida visando observar o desempenho nas tarefas de aquisição de conhecimento e classificação, assim como o desempenho computacional das implementações dos algoritmos.
Algoritmos de escalonamento são definidos e avaliados para observar as vantagens da utilização do conhecimento adquirido, considerando cenários de execução baseados em máquinas paralelas e sistemas distribuídos. Os resultados obtidos com este trabalho justificam a importância da utilização desse conhecimento nas decisões do software de escalonamento em sistemas computacionais distribuídos e contribuem para a definição de mecanismos adequados para a aquisição e utilização desse conhecimento em sistemas paralelos reais.
ESCALONAMENTO DE PROCESSOS
O escalonamento de processos ou agendador de tarefas é uma atividade organizacional feita pelo escalonador da CPU ou de um sistema distribuído, possibilitando executar os processos mais viáveis e concorrentes, priorizando determinados