Você está na página 1de 2

2 Informações para o

1 Introdução
Escalonamento de Processos
• Um sistema distribuído possui natureza heterogênea: • Obter as características físicas dos nodos (velocidade, memória,
arquitetura) é simples
seus processadores não são necessariamente iguais
• Obter o grau de ociosidade de um nodo. Saber quanto de sua
• Como dividir as tarefas da melhor forma possível no capacidade de processamento está sendo usada.
ambiente distribuído? – Tempo médio de espera na fila de execução pode ser usado como
medida. Injusto se as tarefas não têm a mesma granularidade
• Nodos possuem diferente software, diferente hardware • Gerar um índice de utilização da CPU através de processos
• São requeridas específicos para testar, de tempos em tempos, estas características.
– Métricas para o poder de processamento e o grau de • Freqüência com que as informações são atualizadas
ociosidade dos nodos – Estática: realiza apenas uma vez o levantamento das condições dos
nodos e usa estes dados durante todo o processo de escalonamento
– Métricas para mensurar o peso (carga) das tarefas a
– Dinâmica: se preocupa em atualizar as informações freqüentemente
serem distribuídas e estimar o tempo (ou a ordem) de • Considerar overhead para a obtenção das informações
processamento necessário

1 2
Escalonamento em SD Escalonamento em SD

3 Políticas de Escalonamento 3 Políticas de Escalonamento


• De transferência: determina nodos receptores • De seleção: escolher, dentre tantas, a tarefa
que estão aptos a receber uma tarefa: quais mais adequada a ser enviada ou recebida de
nodos estão trabalhando aquém de suas determinado nodo.
capacidades de processamento?
• Duas abordagens são possíveis
• Determina nodos doadores (senders): aqueles
– Escalonamento preemptivo: uma tarefa que já está em
que estão sobrecarregados
execução pode ser escolhida para ser transferida a
• Define-se um limite máximo de carga que o nodo outro nodo. Requer transferir todo o contexto da
suporta tarefa (dados em memória, etc).
– Se a carga atual do nodo ultrapassar o limite, então – Escalonamento não-preemptivo transfere somente
temos um doador. Caso contrário, o nodo pode ser tarefas que ainda não executaram
considerado como receptor
3 4
Escalonamento em SD Escalonamento em SD

3 Políticas de Escalonamento 4 Tipos de algoritmos


• De localização: método usado para escolher o • Iniciados pelo Emissor
nodo que receberá a tarefa – O nodo que ultrapassou seu limite de carga procura
– O método mais usado é o randômico: um nodo um receptor para sua carga.
escolhe aleatoriamente outro nodo para receber ou – Alguns algoritmos possuem procura randômica, ou
enviar tarefa seja, quando precisam "se livrar" de uma carga,
• De informação: trata da troca de informações selecionam aleatoriamente um nodo para fazê-lo.
sobre seu estado entre os vários nodos • Iniciados pelo Receptor
– Centralizado: um nodo específico recebe todas as – Nodo procura um doador para ceder suas tarefas
mensagens de estado dos outros – Vantagem: o nodo que está ocioso tem mais tempo
– Cada nodo envia um broadcast para todos os outros para se preocupar em achar um doador adequado.
informando sua capacidade de processamento.
– Cada nodo mantém suas próprias informações que
podem ser requisitadas por demanda
5 6
Escalonamento em SD Escalonamento em SD
5 Estudo de casos Referências
• V-System • [EL-94] EL-REWINI, Heshan; LEWIS, Theodore G.; ALI, Heshan
• Cada nodo envia um broadcast com seu estado sempre que este muda H. Task Scheduling in Parallel and Distributed Systems.
• O estado inclui a utilização da CPU e da memória + dados já conhecidos Prentice Hall, New Jersey. 1994.290p.
(enviados apenas uma vez) do tipo do processador e características físicas • [GAR94] GARCIA, Leonardo de Carvalho. Balanceamento de
• um processo daemon em cada nodo é encarregado de atualizar o estado do Carga em Sistemas Paralelos Fracamente Acoplados.
nodo Dissertação de Mestrado. CPGCC, UFRGS. Porto Alegre. 1994. 165p.
• Todos os nodos guardam informações sobre todos os outros. • [PIN95] PINEDO, Michael. Scheduling: Theory, Algorithms and
• Quando uma tarefa precisa ser enviada a outro nodo, este é escolhido Systems. Prentice Hall, New Jersey. 1995. 378p.
randomicamente.
• [SIN94] SINGHAL, Mukesh; SHIVARATRI, Niranjan G. Advanced
• A tarefa escolhida para transferir quando o nodo estiver sobrecarregado é Concepts in Operating Systems: Distributed, Database and
aquela mais recente
Multiprocessor Operating Systems. McGraw-Hill, New York. 1994.
• Se o nodo send for uma das de menores cargas (situação no qual todos estão 522p.
sobrecarregados) a tarefa permanece local
• Sprite
• Usa um escalonador central para coordenar o escalonamento
• Cada nodo envia mensagem para o coordenador informando se está apto a
receber tarefas. Um nodo é considerado ocioso quando não houver
atividade de mouse ou teclado por 30 segundos
7 8
Escalonamento em SD Escalonamento em SD

Você também pode gostar