Escalonamento
2. Escalonamento
de
Processos
em
Sistemas Computacionais Distribuídos
Este capítulo aborda a utilização de sistemas computacionais distribuídos, enfocando as atividades envolvidas no escalonamento de processos e no balanceamento de cargas nesses sistemas.
O problema do escalonamento de processos em sistemas computacionais distribuídos não é novo, mas é, ainda, amplamente investigado e discutido na literatura. As seções que seguem sintetizam as questões chaves discutidas na literatura. 2.1
Considerações Iniciais
A utilização de sistemas computacionais distribuídos tem aumentado cada
vez mais em virtude do crescente avanço tecnológico aliado à necessidade de compartilhamento de informações em diferentes locais. Assim, a computação distribuída vem ganhando importância nas últimas décadas, como um dos paradigmas de
computação
preferido
quando
comparada
à
computação
centralizada.
Existem vários campos novos e atrativos de pesquisas em sistemas computacionais distribuídos tais como: agentes móveis (Muhugusa, 1998), multimídia (Little & Ghafoor, 1990; Little & Ghafoor, 1992) e computação móvel
(Davies et al, 1996; Davies et al, 1998). Por outro lado, existem áreas tradicionais e que ainda não estão totalmente sedimentadas, sendo alvo de interesse de muitas pesquisas. O desenvolvimento de técnicas e métricas eficientes para a distribuição de processos entre os elementos de processamento é ainda um grande desafio existente em sistemas computacionais distribuídos.
Essa atividade de distribuição, conhecida como escalonamento de processos, visa atingir um conjunto de objetivos relacionados com medidas de desempenho, como por exemplo: melhorar o compartilhamento de recursos, otimizar o tempo médio de resposta, promover o balanceamento de cargas, maximizar a utilização dos recursos, entre outros. Esses objetivos são muitas vezes conflitantes e