25 - 29 de Noviembre de 2002

Montevideo, Uruguay

Radisson Victoria Plaza Hotel

 
CL51
 
Um Algoritmo de Escalonamento Distribuído Baseado em Grupos de Processadores

Celso Maciel da Costa
Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-graduação em Ciência da Computação
celso@inf.pucrs.br
Getúlio Almeida dos Santos
Pontifícia Universidade Católica do Rio Grande do Sul Programa de Pós-graduação em Ciência da Computação
gsantos@inf.pucrs.br
 
Abstract

In parallel environment, the application has described like a set of cooperative units that are distributed among the processors of a parallel machine. The main goal of that is to minimize the execution time. To achieve that, it is important to balance of the workload in all components of the cluster. Algorithms that balance the compute load are called "scheduling algorithms". One factor, which makes performance degradation, is comunication time between processors, since they are necessary exchanges of messages to keep the load information of the nodes and to attribute a new process to a processor. This work presents a framework to support the development of scheduling algorithm. For this architecture, a distributed scheduling algorithm was developed, that is based in the concept of group of processors. Also a centralized algorithm was developed. The implementation and evaluation of performance of these algorithms was realized in the MDX, a parallel environment. The performance evaluation shows that the use of the concept of groups of processors is adjusted to the distributed scheduling algorithms, since the decision taking through of faster way and the load is distributed of more homogeneous way.

Keywords: Scheduling, Scheduling algorithm, Schedulling in parallel environment

 
Resumo

Em um ambiente de programação paralela, a aplicação é descrita como um conjunto de processos distribuídos nos elementos de processamento da máquina paralela. O objetivo principal desta distribuição é a minimização do tempo de execução. Para esta tarefa, é fundamental que o ambiente paralelo garanta a distribuição uniforme da carga de trabalho gerada pela aplicação entre as unidades de execução. Algoritmos que realizam esta atividade são conceituados como algoritmos escalonadores. Sabe-se que um dos fatores que mais influenciam negativamente na performance dos algoritmos de escalonamento distribuídos é o tempo de comunicação entre os processadores, visto que são necessárias trocas de mensagens para manter as informações de carga dos nodos e para atribuir um novo processo a um processador. O presente artigo apresenta uma arquitetura de suporte à implementação de algoritmos de balanceamento de carga. Para esta arquitetura, foi desenvolvido um algoritmo de escalonamento distribuído, baseado no conceito de grupo de processadores. Foi também implementado um algoritmo centralizado, sendo que foram feitas a implementação e avaliação de desempenho destes algoritmos no ambiente MDX. As avaliações realizadas mostram que a utilização do conceito de grupos de processadores é adequada aos algoritmos de escalonamento distribuído, visto que a tomada de decisão é realizada de forma mais rápida e a carga é distribuída de forma mais homogênea.

Palavras Chave: Escalonamento, Algoritmos de escalonamento, Escalonamento em sistemas paralelos



Volver

infoUYclei 2002