escalonamento em grades - laboratório de banco de dados · das em buscas aleatorias guiadas e s´...

20
WPerformance IV Workshop em Desempenho de Sistemas Computacionais e de Comunicação l 14 a 20 de julho de 2006 Campo Grande, MS Anais do XXVI Congresso da SBC Escalonadores de Tarefas em Grades Daniel M. Batista , Nelson L. S. da Fonseca , Fl´ avio K. Miyazawa 1 Instituto de Computac ¸˜ ao – Universidade Estadual de Campinas (Unicamp) Avenida Albert Einstein, 1251 – 13084-971 – Campinas – SP {batista,nfonseca,fkm}@ic.unicamp.br Abstract. Task scheduling in grids networks is essential for utilizing the grid resources properly. This paper introduces different schedulers for grids based on guided random search. Schedulers are compared considering the trade-off between execution time and quality of the schedules produced. Resumo. Escalonar tarefas em grades ´ e uma tarefa essencial para que as aplicac ¸˜ oes tirem proveito dos recursos das grades. Este artigo introduz diferen- tes escalonadores de tarefas em redes em grades. Os escalonadores s˜ ao basea- das em buscas aleat´ orias guiadas e s ˜ ao comparados entre si ` a luz do “trade-off ” entre tempo de execuc ¸˜ ao e qualidade do escalonamento. 1. Introduc ¸˜ ao O escalonamento de tarefas em sistemas multiprocessados ´ e um problema NP com- pleto [Papadimitriou and Steiglitz 1998]. Assim, diversos escalonadores tiram pro- veito de particularidades da rede que interliga os processadores, como custo de comunicac ¸˜ ao independente do enlace de rede, topologia de rede fixa, entre ou- tras [Kwok and Ahmad 1999], a fim de devolver escalonamentos pr´ oximos do ´ otimo, em um curto intervalo de tempo. Ambientes multiprocessados que n˜ ao possuem particularidades como as menci- onadas s˜ ao classificados como ambientes com processadores arbitrariamente conecta- dos ou, ambientes computacionais heterogˆ eneos. Esses ambientes exigem escalonado- res de tarefas mais complexos pela quantidade de vari´ aveis que precisam ser manipula- das. Devido ` a complexidade, nem sempre consegue-se encontrar o melhor escalonamento poss´ ıvel para uma dada aplicac ¸˜ ao em um curto intervalo de tempo. Por este motivo, es- calonadores para ambientes heterogˆ eneos s˜ ao, normalmente, baseados em t´ ecnicas de otimizac ¸˜ ao ou heur´ ısticas [Topcuouglu et al. 2002]. Algoritmos de escalonamento para ambientes heterogˆ eneos s˜ ao de grande im- portˆ ancia para o bom funcionamento das grades dado que, em grades, os recursos he- terogˆ eneos n˜ ao s˜ ao submetidos a um controle centralizado al´ em de existir variac ¸˜ ao na disponibilidade, na taxa de processamento dos recursos e na capacidade de transmiss˜ ao da rede. Essa variac ¸˜ ao exige que escalonamentos para grades sejam formulados dentro de limites temporais a fim de que, no momento de distribuic ¸˜ ao da aplicac ¸˜ ao para execuc ¸˜ ao, as variac ¸˜ oes nos recursos e na rede n˜ ao invalidem o escalonamento sugerido. O limite * Esta pesquisa foi financiada parcialmente pelo ProNEx–FAPESP/CNPq (Proc. 2003/09925-5 e 09850- 5), CNPq (Proc. 131590/2004-9, 471460/04–4, 306526/04–2, 490333/04–4 e 305076/2003-5) e FAPESP Kyatera (Proc. 03/08277-0) 73

Upload: phamnga

Post on 25-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

WPerformance IV Workshop em Desempenho de Sistemas Computacionais e de Comunicação l

14 a 20 de julho de 2006Campo Grande, MS

Anais do XXVI Congresso da SBC

Escalonadores de Tarefas em Grades∗

Daniel M. Batista , Nelson L. S. da Fonseca , Flavio K. Miyazawa

1Instituto de Computacao – Universidade Estadual de Campinas (Unicamp)Avenida Albert Einstein, 1251 – 13084-971 – Campinas – SP

{batista,nfonseca,fkm}@ic.unicamp.br

Abstract. Task scheduling in grids networks is essential for utilizingthe gridresources properly. This paper introduces different schedulers for grids basedon guided random search. Schedulers are compared considering the trade-offbetween execution time and quality of the schedules produced.

Resumo. Escalonar tarefas em gradese uma tarefa essencial para que asaplicacoes tirem proveito dos recursos das grades. Este artigo introduz diferen-tes escalonadores de tarefas em redes em grades. Os escalonadores sao basea-das em buscas aleatorias guiadas e sao comparados entre sia luz do “trade-off”entre tempo de execucao e qualidade do escalonamento.

1. Introducao

O escalonamento de tarefas em sistemas multiprocessadose um problema NP com-pleto [Papadimitriou and Steiglitz 1998]. Assim, diversosescalonadores tiram pro-veito de particularidades da rede que interliga os processadores, como custo decomunicacao independente do enlace de rede, topologia de rede fixa, entre ou-tras [Kwok and Ahmad 1999], a fim de devolver escalonamentos proximos dootimo, emum curto intervalo de tempo.

Ambientes multiprocessados que nao possuem particularidades como as menci-onadas sao classificados como ambientes com processadores arbitrariamente conecta-dos ou, ambientes computacionais heterogeneos. Esses ambientes exigem escalonado-res de tarefas mais complexos pela quantidade de variaveis que precisam ser manipula-das. Devidoa complexidade, nem sempre consegue-se encontrar o melhor escalonamentopossıvel para uma dada aplicacao em um curto intervalo de tempo. Por este motivo, es-calonadores para ambientes heterogeneos sao, normalmente, baseados em tecnicas deotimizacao ou heurısticas [Topcuouglu et al. 2002].

Algoritmos de escalonamento para ambientes heterogeneos sao de grande im-portancia para o bom funcionamento das grades dado que, em grades, os recursos he-terogeneos nao sao submetidos a um controle centralizado alem de existir variacao nadisponibilidade, na taxa de processamento dos recursos e nacapacidade de transmissaoda rede. Essa variacao exige que escalonamentos para grades sejam formulados dentro delimites temporais a fim de que, no momento de distribuicao da aplicacao para execucao,as variacoes nos recursos e na rede nao invalidem o escalonamento sugerido. O limite

∗Esta pesquisa foi financiada parcialmente pelo ProNEx–FAPESP/CNPq (Proc. 2003/09925-5 e 09850-5), CNPq (Proc. 131590/2004-9, 471460/04–4, 306526/04–2,490333/04–4 e 305076/2003-5) e FAPESPKyatera (Proc. 03/08277-0)

73

Page 2: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

temporale particular para cada ambiente e, na realidade, ate em um mesmo ambiente elepode sofrer variacoes. O desconhecimento do limite de tempo faz com que escalonado-res para grades representem um grande desafio ja que precisam encontrar um resultadoproximo dootimo, para um problema NP completo e no menor tempo possıvel.

Neste artigo, sao apresentados oito escalonadores de tarefas de DAGs –Direc-ted Acyclic Graphs(Grafos Acıclicos Direcionados) em grades. A modelagem uti-lizada considera a heterogeneidade da rede e dos recursos das grades, ao contrariode algumas propostas existentes que desconsideram a heterogeneidade dos recur-sos [Ma and Zhang 2004, Blythe et al. 2005, Sinnen and Sousa 2005].

Os escalonadores introduzidos neste artigo encontram os escalonamentos atravesde busca aleatoria guiada. Seis deles baseiam-se na solucao de problemas de programacaolinear inteira e programacao linear mista, enquanto os outros dois atribuem probabilidadespara o mapeamento das tarefas. Em redes operacionais, se umaaplicacao a ser escalonadafornecer um prazo limite para que o escalonamento seja encontrado, os oito escalonadorespodem ser executados de forma a se obter a melhor solucao dentro dos limites temporaisestabelecidos. Os escalonadores sao avaliados considerando-se diferentes grades comdiferentes recursos e topologia. Compara-se os tempos de execucao e as duracoes dosescalonamentos produzidos.

Este artigo esta organizado da seguinte forma: a proxima secao apresenta a im-portancia do escalonamento de tarefas em grades e fornece o significado de termos utili-zados durante o restante do texto. A Secao 3 introduz as oito propostas de escalonadoresde tarefas para grades. A Secao 4 apresenta resultados utilizando-se diversas topologiasda rede, bem como detalhes das implementacoes dos escalonadores. A Secao 5 descrevetrabalhos relacionados e a Secao 6 conclui o artigo.

2. Escalonamento de tarefas em grades

Para que as aplicacoes tirem proveito de ambientes distribuıdos como as grades, elas pre-cisam ser decompostas em programas menores que sao chamados de tarefas. Dessa forma,torna-se possıvel a execucao em paralelo de varias tarefas. No entanto, a decomposicaodeve obedecer as dependencias entre as tarefas, o que implica em certas tarefas nao pode-rem ser executadas antes de outras.

Ha, portanto, a necessidade de se definir em qual host cada tarefa deve executar,procedimento chamado de mapeamento.E necessario, tambem, definir-se o instante detempo em que cada tarefa sera executada, procedimento este chamado de escalonamento.Apesar da separacao conceitual, somente o termo escalonamento costuma ser empregado.

A busca pelo escalonamentootimo e, comprovadamente um problema NP-Completo [Papadimitriou and Steiglitz 1998], o que exige a implementacao de tecnicasde aproximacao que visem encontrar um escalonamento proximo do otimo em um in-tervalo de tempo que corresponda a uma fracao bem menor do tempo de execucao daaplicacao sendo escalonada. No caso de ambientes nao dedicados como as grades, o es-calonamento tambem deve ser devolvido em um intervalo de tempo durante o qual naotenha havido mudancas bruscas na taxa de processamento disponıvel dos recursos e nadisponibilidade de banda passante nos enlaces.

Algoritmos de escalonamento recebem como entrada a descric¸ao da aplicacao em

74

Page 3: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

termos de tarefas e a descricao dos recursos e da topologia da rede. A saıda do algoritmodeve ser o escalonamento proposto para cada uma das tarefas ea duracao do escalona-mento encontrado.

Aplicacoes para grades podem ser representadas como DAGs. Os vertices do DAGrepresentam as tarefas da aplicacao e possuem pesos referentesa quantidade de instrucoesque sao executadas pelas tarefas que eles representam. Os arcos do DAG representamas dependencias de dados entre as duas tarefas e tem pesos referentesa quantidade debytes que devem ser transmitidos. Em um DAG, as tarefas sem arcos de entrada saochamadas de tarefas de entrada, enquanto que as tarefas que nao possuem arcos de saıdasao chamadas de tarefas de saıda. Uma informacao importante a respeito de uma tarefae o seu nıvel, quee definido como o valor do maior caminho da tarefa de entrada atea tarefa em questao. Neste artigo, o nıvel das tarefase computado com a consideracaode que cada arco tem peso iguala unidade. A Figura 1 ilustra o DAG de uma aplicacaoastronomica [Blythe et al. 2005] com 30 tarefas que possuem 8 nıveis diferentes. Ospesos dos vertices e dos arcos sao os valores entre colchetes.

T00 [10]

T10 [11]

[4]

T11 [10]

[3]

T12 [7]

[4]

T13 [12]

[4]

T14 [9]

[4]

T20 [18]

[4]

T23 [19]

[3]

T60 [48]

[3]

T21 [18]

[4]

T24 [21]

[3]

T61 [50]

[3]

T22 [20]

[3]

T25 [20]

[4]

T62 [51]

[3]

[3]

T26 [22]

[3]

T63 [50]

[3]

[4]

T27 [22]

[4]

T64 [47]

[4]

T30 [18]

[4]

T33 [19]

[4]

T70 [57]

[10]

T31 [21]

[5]

T34 [21]

[5]

[9]

T32 [21]

[5]

T35 [20]

[5]

[10]

T36 [19]

[5]

[9]

T37 [21]

[4]

[9]

T40 [30]

[4][4] [4][4][5] [4][5][4]

T50 [37]

[5]

[9][10] [10] [10][10]

Figura 1. DAG

A topologia da rede pode ser tambem representada por um grafo, no qual cadavertice representa um recurso, com um peso referente ao tempogasto para executar umacerta quantidade de instrucoes, e cada aresta representa um enlace entre dois recursos,com um peso referente ao tempo necessario para transferir uma certa quantidade de bits.A Figura 2 representa o grafo com a topologia de rede de uma grade generica com 13recursos e 27 enlaces (Cada aresta corresponde a um enlacefull-duplex). As capacidadesdos enlaces e as taxas de processamento disponıveis dos recursos estao representadaspelos valores entre colchetes.

Uma consideracao quee feita no decorrer deste textoe de que cada recurso cor-responde exclusivamentea taxa de processamento disponıvel de um host e que todas astarefas sao “CPU-intensive”, ou seja, todo o tempo gasto na execucao da aplicacaoe gastocom processamento. Outra consideracao e a utilizacao dos termos “host” e “recurso” deforma equivalente.

O escalonamento encontrado pelo escalonador pode ser devolvido tanto como uma

75

Page 4: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

h00 [0,1]

h01 [1]

[1]

h06 [0,1]

[2]

[0,4]

h08 [1]

[1]

h09 [1]

[1]

h12 [1]

[0,5]

h11 [1]

[1] h10 [1]

[1][0,7]

[0,4] [1]

h02 [2]

[0,6] h07 [1]

[1]

[0,6] [3]

[0,4]

[3]

[1]

h03 [0,5]

[1]

[0,5]

h04 [1]

[0,1]

h05 [1]

[0,1]

[0,1][0,5]

[1]

[0,4]

[1]

Figura 2. Topologia de rede

lista ou, a fim de facilitar a visualizacao, como um Diagrama de Gantt, em que os recursossao representados nas colunas e as tarefas nas linhas. Os valores do diagrama de Ganttrepresentam o instante de tempo em que a tarefa da linha deve iniciar sua execucao norecurso da coluna.

3. Tecnicas propostas

Escalonadores baseados em otimizacao sao normalmente usados para escalonar tare-fas em ambientes heterogeneos como as grades. Deve-se encontrar um escalonamentofactıvel, e proximo dootimo, em um intervalo de tempo que nao seja grande em relacaoao tempo de execucao da aplicacao sendo escalonada.

As tecnicas propostas para escalonar tarefas apresentadas neste artigo fazem parteda classe de escalonadores baseados em busca aleatoria guiada [Topcuouglu et al. 2002].A caracterıstica dessa classee a realizacao de uma busca dentro das varias opcoes derecursos onde uma tarefa pode ser executada. Nessa busca, certas restricoes sao levadasem consideracao como, por exemplo, as restricoes embutidas no DAG da aplicacao quedefinem a ordem de execucao das tarefas. Para que a busca termine,e preciso definir umcriterio de parada que minimize o tempo de execucao da aplicacao sendo escalonada. Paracada tecnica apresentada ha dois conjuntos de variaveis. Em um conjunto, as variaveisrepresentam o mepeamento das tarefas e, no outro conjunto, as variaveis representam oescalonamento das tarefas sobre a linha de tempo.

As propostas sao divididas em duas abordagens. Na primeira abordagem, saoapresentados seis escalonadores baseados em formulacoes de programacao linear (PL)inteira e de programacao linear mista. Na segunda abordagem, sao apresentados doisescalonadores que nao sao baseados nas formulacoes de PL, mas sim em uma sequenciade sorteios. Os escalonadores da segunda abordagem executam mais rapidos do que osda primeira, embora estes obtenham melhores escalonamentos.

Tres escalonadores baseados em PL consideram que o escalonamento ocorre emuma linha do tempo contınua (∈ R+). Embora apresentem resultados mais precisos, estesescalonadores podem consumir muito tempo de processamentopara obter as solucoes,

76

Page 5: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

ja que o escalonamento de uma tarefa pode ocorrer, teoricamente, em infinitos pontos dalinha do tempo. Os outros tres escalonadores baseados em PL consideram que o escalona-mento ocorre em uma linha do tempo discreta (∈ Z+). Apesar de haver perda de precisaoe apresentarem solucoes mais distantes daotima do que as dos tres escalonadores queconsideram a linha do tempo contınua, eles exigem menos tempo de processamento.

Na abordagem baseada em PL sao utilizadas variaveis binarias comoXi,k paradefinir o mapeamento das tarefas nos hosts. O valor 0 para essas variaveis define que ai-esima tarefa nao executa nok-esimo host, enquanto que o valor 1 define que ai-esimatarefa executa nok-esimo host. Apesar das solucoes obtidas com as implementacoes dosPLs seremotimas ou quaseotimas, elas podem exigir um tempo de execucao muito longo.Uma estrategia comum para obter resultados em tempos mais curtose gerar solucoes fra-cionarias atraves do relaxamento de um PL inteiro e usar algum metodo para arredondaras solucoes fracionarias para solucoes inteiras. No caso especıfico das formulacoes pro-postas, as variaveisXi,k passam a ter valores no intervalo[0, 1]. Dois algoritmos baseadosem relaxamento sao aplicados sobre cada uma das duas formulacoes originais, o que to-taliza seis escalonadores baseados em PL. Nesses algoritmos que utilizam o relaxamento,o valor da variavel Xi,k e tratado como a probabilidade dai-esima tarefa ser executadano k-esimo host. O primeiro algoritmo (Algoritmo 1) resolve o PL uma unica vez e osvalores das variaveis sao usadas como probabilidades para uma serie de sorteios. Cadasorteio define um escalonamento e aquele que alcanca o menortempo de execucaoe de-volvido como solucao. No segundo algoritmo (Algoritmo 2) para cada iteracao uma tarefae mapeada para um host atraves das probabilidades e o PLe re-executado com a inclusaodesse mapeamento. O algoritmo termina quando nao ha mais tarefas a serem mapeadas.

Algoritmo 1 Arredondamento AleatorioEntrada: Relaxamento do Programa LinearPL.

1: DefinaXi,k como a solucao fracionariaotima dePL.2: para P vezesfaca3: para cada tarefaj faca4: DefinaXj,k como a probabilidade de mapear a tarefaj para o hostk.5: Escolha um hostl para executarj usando as probabilidades de mapeamento anteriores.6: Obtenha o tempo de inıcio de execucao da tarefaj considerando o tempo de finalizacao

de suas dependencias.7: fim para8: Salve o escalonamento se ele tem um valor melhor que os anteriores.9: fim para

10: Retorne o melhor escalonamento encontrado.

Para a abordagem baseada em sequencia de sorteios, assim como nos algoritmosque utilizam relaxamento, a variavelXi,k representa a probabilidade dai-esima tarefa sermapeada para ok-esimo host. Cada algoritmo nesta abordageme executadoP vezes ea melhor solucaoe retornada. O primeiro passo em cada iteracao destes algoritmos con-siste em associar uma probabilidade inicial para cada variavelXi,k. Essa probabilidadeeaunica diferenca entre os algoritmos desta abordagem. No primeiro algoritmo, a probabi-lidade de mapear cada tarefae uniformemente distribuıda entre os hosts. Assim, caso hajam hosts, a probabilidade de que ai-esima tarefa seja mapeada para cada hoste 1/m. Nosegundo algoritmo, a probabilidade iniciale mais “consciente”, e leva em consideracao as

77

Page 6: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

Algoritmo 2 Arredondamento Aleatorio IterativoEntrada: Relaxamento do Programa LinearPL.

1: DefinaXi,k como a solucao fracionariaotima dePL.2: para cada tarefaj faca3: DefinaXj,k como a probabilidade de mapear a tarefaj para o hostk.4: Escolha um hostl para executarj usando as probabilidades de mapeamento anteriores.5: Adicione aPL, a restricao de que a tarefaj deve ser mapeada no hostl.6: DefinaXi,k como a solucao fracionariaotima do novoPL.7: fim para8: Retorne o escalonamento encontrado.

caracterısticas das tarefas e dos hosts de forma similar ao quee realizado em problemasde escalonamento baseados em lista. [Ma and Zhang 2004, Iverson et al. 1995]. Para am-bos algoritmos,a medida que as tarefas sao mapeadas nos hosts, as restricoes do DAG eda topologia da rede sao respeitadas a fim de obter um escalonamento possıvel. Como naprimeira abordagem, o tempo de execucao e a qualidade da solucao tambem tendem a serdiferentes. Em geral, o algoritmo que define as probabilidades iniciais “conscientemente”executam mais lento mas produzem solucoes com melhor qualidade.

O restante desta secao esta organizado da seguinte forma: Na Subsecao 3.1 saoapresentadas consideracoes gerais para todos os algoritmos. Na Subsecao 3.2e apresen-tada a formulacao linear inteira com a linha do tempo contınua. A Subsecao 3.3 apresentaa formulacao com as variaveis em uma linha do tempo discreta. A Subsecao 3.4 apre-senta o algoritmo baseado em sorteio com as probabilidades uniformes e a Subsecao 3.5apresenta o algoritmo com probabilidades “conscientes”.

3.1. Consideracoes gerais

Nas duas abordagens, o objetivoe minimizar o tempo de execucao de uma aplicacao paragrades sujeitasas seguintes restricoes:

• Cada tarefai so pode iniciar a sua execucao apos todas as tarefas das quaisidepende terem terminado as suas execucoes e terem transferido seus dados parai;

• Cada tarefa so pode estar mapeada para no maximo um host em cada instante detempo;

• Duas tarefas dependentes so podem estar mapeadas em hosts que possuem enlaceentre si (cada host tem um enlace virtual com peso zero a ele mesmo);

• Cada host so pode executar no maximo uma tarefa por vez.

Para cada algoritmo, considera-se que os hosts sao identificados por rotulos de1 a m, enquanto que as tarefas sao identificadas por rotulos de1 a n. As tarefas saorotuladas seguindo uma ordem topologica do DAG. Ou seja, cada arco(i, j) tem i < j,ondei, j ∈ {1, . . . , n}.

Considera-se que qualquer DAG de entrada tem apenas uma tarefa de entradae de saıda. DAGs com mais de uma tarefa de entrada ou saıda podem ser facilmentemodificados para satisfazer essa condicao atraves da criacao de tarefas artificiais com pesozero tanto para computacao quanto para comunicacao [Ma and Zhang 2004]. Algumascaracterısticas do DAG que sao fornecidas como entrada sao:

78

Page 7: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

• n: quantidade de tarefas (n ∈ N);• Ii: quantidade de instrucoes da tarefai (Ii ∈ R+);• Bi,j: quantidade de bits transmitidos entre as tarefasi e j (Bi,j ∈ R+);• D: conjunto de arcos{ij : i < j e existe um arco dei paraj no DAG};• s0: instante inicial da execucao da tarefa de entrada. Em todos os experimentos

realizados,e considerados0 = 0.

O conjunto de tarefas das quais uma tarefai e dependentee chamado de prede-cessores dei. O conjunto de tarefas dependentes de uma tarefai qualquere chamado desucessores dei.

Os hosts da grade tambem tem caracterısticas que precisam ser fornecidas comoentrada:

• m: quantidade de hosts (m ∈ N);• TI k: tempo que o hostk leva para executar instrucoes (TI k ∈ R+);• TBk,l: tempo necessario para enviar bits do hostk para o hostl (TBk,l ∈ R+);• N : conjunto de enlaces{kl : hostk tem enlace para o hostl}. ∀k, kk ∈ N . Se

kl ∈ N entaolk ∈ N ;• δ(k): conjunto de hosts ligados ao hostk na rede.k faz parte desse conjunto.

Os tempos e as quantidades de instrucoes e de bits, referenciados nas definicoes deTIk e deTBk,l, devem ser tais que evitem que estas duas caracterısticas tenham valoresrepresentados por muitas casas decimais que tragam imprecisao nos calculos realizados.

Por ultimo, e utilizado o termoTmax para avaliar a qualidade dos escalonamen-tos encontrados pelos algoritmos.Tmax e o tempo necessario para executar a aplicacaocaso todas as tarefas sejam mapeadas para o host mais rapido da rede, ou seja,Tmax =minTI

∑n

i=1 Ii, ondeminTI e o menor valor deTI . O conjunto de todas as tarefasedenotado porJ = {1, . . . , n} e o conjunto de todos os hosts porH = {1, . . . ,m}.

3.2. Formulacao do PL com linha do tempo contınua

Nesta subsecao, e apresentado o problema de escalonamento modelado com umaformulacao de PL mista. O escalonamento finale obtido a partir das seguintes variaveis:

• Xi,k: Variavel binaria que assume o valor1 se a tarefai e mapeada para o hostk e0 caso contrario (Xi,k ∈ {0, 1});

• si: Variavel que define o instante em que a tarefai inicia sua execucao (si ∈ R+).

A formulacao deste escalonadore dada por:

Minimize (In

m∑

k=1

TI kXn,k) + sn

sujeito a

si ≥ s0 para i ∈ J ; (C1)

sj ≥ si +∑

k∈H

[(IiTI kXi,k) +∑

l∈δ(k)

(Bi,jTBk,lVAi,k,j,l)] para i, j ∈ J , ij ∈ D; (C2)

79

Page 8: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

sj ≥ si +∑

k∈H

(IiTI kVAi,k,j,k) − y(1 − Pi,j) para i, j ∈ J , i 6= j, (C3)

ij /∈ D, ji /∈ D;

si ≥ sj +∑

k∈H

(IjTI kVAj,k,i,k) − yPi,j para i, j ∈ J , i 6= j, (C4)

ij /∈ D, ji /∈ D;

k∈H

Xi,k = 1 para i ∈ J ; (C5)

k∈H

l∈δ(k)

VAi,k,j,l = 1 para j ∈ J ; (C6)

2VAi,k,j,l ≤ Xi,k + Xj,l para ij ∈ D, kl ∈ N ; (C7)

VAi,k,j,l − Xi,k − Xj,l ≥ −1 para ij ∈ D, kl ∈ N ; (C8)

2VAi,k,j,k ≤ Xi,k + Xj,k para i, j ∈ J , i 6= j, (C9)ij /∈ D, ji /∈ D;

VAi,k,j,k − Xi,k − Xj,k ≥ −1 para i, j ∈ J , i 6= j, (C10)ij /∈ D, ji /∈ D;

VAi,k,j,l, Xi,k, Pi,j ∈ {0, 1} para i, j ∈ J , k, l ∈ H. (C11)

Nesta formulacao, a funcao objetivo consiste em minimizar o tempo de execucaoda aplicacao, que equivale ao instante de tempo em que a tarefa de saıda do DAG, a tarefan, finaliza sua execucao. Esse tempo de execucao e calculado pela soma do instante detempo em que a tarefan inicia sua execucao (sn) com o tempo necessario para executaras instrucoes da tarefan (In

∑m

k=1 TI kXn,k)).

As restricoes (C1) determinam que todas as tarefas comecam suas execuc¸oes aposo instante de tempos0. As restricoes (C2) determinam que a tarefaj deva iniciar suaexecucao apos os seus predecessores finalizarem suas execucoes e suas transferencias dedados paraj. As restricoes (C3) e (C4) determinam que se duas tarefas sem dependenciasentre si sao escalonadas para o mesmo host, uma delas sera executada primeiro. A variavelbinariaPi,j e 1 se a tarefai e executada primeiro (nesse caso, a restricao (C4) sempreesatisfeita) e 0 sej e executada primeiro (restricao (C3)e sempre satisfeita). A constantey e um numero positivo suficientemente grande (e.g.,Tmax). A restricao (C5) determinaque a tarefai deve ser escalonada para algum hostk da grade. A restricao (C6) determinaque ha apenas uma tupla(i, k, j, l) tal que as tarefasi e j sao escalonados em hostsk e l,respectivamente. As restricoes (C7), (C8), (C9) e (C10) determinam queVAi,k,j,l e 1 se esomente seXi,k + Xj,l e 2. Essas variaveis sao usadas para forcar que duas tarefas comdependencia entre si sejam mapeadas em hosts com enlace entre si.

Esta formulacao usa no maximo(m2 +2m+3)n2−(m2 +2m+1)n restricoes (jaque ha no maximo(m2 − m)/2 enlaces na rede e(n2 − n)/2 arcos no DAG) e o numero

80

Page 9: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

total de variaveise (m2 + 1)n2 + (m + 1)n. Para aplicar os algoritmos de relaxamento, oconjunto{0, 1} nas restricoes (C11) deve ser substituıdo pelo intervalo[0, 1].

No restante do artigo, o escalonador baseado na solucao exata deste problemae denotado por PLMTC. O escalonador que aplica relaxamento neste problema com oAlgoritmo 1 e denotado por TC-R1, enquanto que o escalonador que aplica relaxamentocom o Algoritmo 2e denotado por TC-R2.

3.3. Formulacao do PL com linha do tempo discreta

Nesta subsecao, e apresentado o problema de escalonamento modelado com umaformulacao de PL inteira. Nesse caso, a linha do tempoe considerada como sendo dis-creta (i.e., uma tarefa so pode iniciar e finalizar a sua execucao em pontos discretos dalinha do tempo).

A formulacao utiliza o valorTmax como o maior instante de tempo possıvelno qual uma tarefa pode finalizar a sua execucao. Por conveniencia, denota-seT ={1, . . . , Tmax}.

O escalonamentoe obtido pelas seguintes variaveis apresentadas na formulacao:

• xi,t,k: Variavel binaria que assume valor1 se a tarefai termina sua execucao noinstantet e no hostk, caso contrario, a variavel assume valor0 (xi,t,k ∈ {0, 1});

• fi: Variavel que define o instante em que a tarefai finaliza sua execucao (fi ∈ N∗).

A descricao desta formulacaoe:

Minimize fn

sujeito a

t∈T

k∈H

xj,t,k = 1 para j ∈ J ; (D1)

fj =∑

t∈T

k∈H

t xj,t,k para j ∈ J ; (D2)

xj,t,k = 0 para j ∈ J , k ∈ H, (D3)t ∈ {1, . . . , ⌈IjTI k⌉};

k∈δ(l)

⌈t−IjTI l−Bi,jTBk,l⌉∑

s=1

xi,s,k ≥t∑

s=1

xj,s,l para j ∈ J , ij ∈ D, (D4)

para l ∈ H, t ∈ T ;

j∈J

⌈t+IjTI k−1⌉∑

s=t

xj,s,k ≤ 1 para k ∈ H, t ∈ T , (D5)

t ≤ ⌈Tmax − IjTI k⌉;

81

Page 10: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

l∈H

VAj,l = 1 para j ∈ {2, . . . , n}; (D6)

(|{i : ij ∈ D}| + 1)VAj,l ≤∑

t∈T

xj,t,l+

i:ij∈D

k∈δ(l)

t∈T

xi,t,k para j ∈ {2, . . . , n}, (D7)

l ∈ H;

|{i : ij ∈ D}| + VAj,l ≥∑

t∈T

xj,t,l+

i:ij∈D

k∈δ(l)

t∈T

xi,t,k para j ∈ {2, . . . , n}, (D8)

l ∈ H;

VAj,l, xj,t,k ∈ {0, 1} para j ∈ J , l ∈ H, (D9)t ∈ T .

A funcao objetivo desta formulacao, da mesma forma que na formulacao que con-sidera a linha do tempo contınua, consiste em minimizar o instante de tempo em quetarefan finaliza sua execucao. Para esta formulacao, esse instante de tempo equivale aovalor da variavelfn.

As restricoes (D1) garantem que uma tarefa so pode executar em umunico host efinalizar a sua execucao em umunico instante de tempo. As restricoes (D2) relacionamas variaveisfj exj,t,k entre si, para forcar que o tempo de finalizacao definido porfj sejaigual ao instantet em quexj,t,k vale 1, ja que as tarefas so finalizam as suas execucoesem umunico instante de tempo. As restricoes (D3) garantem que o tempo de finalizacaode uma tarefae maior ou igual ao tempo gasto para a mesma executar todas as suasinstrucoes. As restricoes (D4) definem que aj-esima tarefa so pode iniciar a sua execucaoapos todos os seus predecessores terem finalizado as suas execucoes e as transferenciasdos dados paraj. As restricoes (D5) garantem que cada host so pode executar no maximouma tarefa em qualquer instante de tempo e as restricoes (D6) a (D8) garantem que tarefasdependentes sao escalonadas para hosts que possuem um enlace entre si.

Para esta formulacao, a quantidade de restricoese no maximo(n2+n+1)mTmax+(2n − 2)m + 3n − 1 e a quantidade de variaveise (mTmax + 1)n + mn. Para aplicaros algoritmos de relaxamento, o conjunto{0, 1} nas restricoes (D9) deve ser substituıdopelo intervalo[0, 1]. Alem disso,e necessario definir as variaveisXi,k como o valor∑Tmax

t=1 xi,k,t.

No restante do artigo, o escalonador baseado na solucao exata deste problemae denotado por PLITD. O escalonador que aplica relaxamento neste problema com oAlgoritmo 1 e denotado por TD-R1, enquanto que o escalonador que aplica relaxamentocom o Algoritmo 2e denotado por TD-R2.

Os resultados computacionais obtidos com esta formulacao sao dependentes daunidade de tempo considerada na discretizacao da linha do tempo. Se a unidade detempoe muito grande, os resultados podem ser obtidos mais rapidos, embora os erros

82

Page 11: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

de aproximacao tornem-se maiores, o que diminui a qualidade dos escalonamentos en-contrados.

3.4. Sorteio com probabilidades uniformes

O algoritmo apresentado nesta secao e baseado em sorteios de mapeamento das tarefasnos hosts da grade. As probabilidades de uma tarefa ser mapeada em um hoste a mesmapara todos os hosts, exceto para aqueles cujas restricoes de existencia de enlaces nao per-mitam a execucao da tarefa. A cada iteracao, o algoritmo sorteia um host para cada tarefaseguindo a ordem topologica e as restricoes do DAG e da rede. O algoritmo propostoedescrito pelo Algoritmo 3.

Algoritmo 3 Sorteio com probabilidades uniformes1: para P vezesfaca2: Atribua a probabilidade para mapear cada tarefa para cada host como1/m.3: para cada tarefai faca4: Sorteie um hostk para executar a tarefai, com as probabilidades atuais.5: Normalize as probabilidades dos sucessores dei levando em consideracao as

restricoes de rede (se uma tarefaj e dependente da tarefai, todas as probabi-lidades para mapearj para hosts que nao possuam enlace vindo do hostk saodefinidas como zero).

6: Calcule o tempo de inıcio de execucao da tarefai considerando o tempo definalizacao de execucao e de transferencia de dados de seus predecessores.

7: fim para8: Salve o escalonamento se ele tem um valor melhor que os anteriores.9: fim para

10: Retorne o melhor escalonamento encontrado.

No restante do artigo, o escalonador baseado na implementac¸ao deste algoritmoedenotado por SU.

3.5. Sorteio com probabilidades “conscientes”

O ultimo algoritmo apresentado usa uma estrategia quee similar ao anterior. Neste caso,ao inves de probabilidades uniformes, as probabilidades iniciais sao atribuıdas levandoem consideracao as seguintes caracterısticas dos hosts da grade:

• A probabilidade da tarefa ser mapeada para um hoste proporcionala taxa deprocessamento disponıvel no host;

• A probabilidade da tarefa ser mapeada para um hoste proporcionala quantidadede enlaces do host;

• A probabilidade da tarefa ser mapeada para um hoste proporcionala capacidadede transmissao dos enlaces do host.

No entanto, estas consideracoes nao sao suficientes para encontrar um bom es-calonamento, pois somente com elas, os hosts com maior taxa de processamento dis-ponıvel tornam-se ocupados com a maioria das tarefas, enquantohosts com as meno-res taxas de processamento disponıvel tornam-se ociosos, nao explorando portanto, osbenefıcios do paralelismo. Para evitar esse tipo de problema, o algoritmo tambem usacaracterısticas das tarefas, comoe feito em abordagens de escalonamento baseado emlista [Ma and Zhang 2004, Iverson et al. 1995]:

83

Page 12: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

• Tarefas nos menores nıveis do DAG tem probabilidades mais altas de serem ma-peadas nos hosts com maior taxa de processamento disponıvel e com enlaces quepossuam as melhores capacidades;

• Tarefas com maior quantidade de arcos tem probabilidades mais altas de seremmapeadas em hosts com maior quantidade de enlaces;

• Tarefas com maior quantidade de dados a serem transferidos (considerando osseus arcos de saıda) tem probabilidades mais altas de serem mapeadas em hostsque estao conectados a outros hosts por enlaces que tem uma maior capacidade detransferencia;

• Tarefas com maior quantidade de instrucoes tem probabilidades mais altas de se-rem mapeadas em hosts com maior taxa de processamento disponıvel.

O algoritmo propostoe o Algoritmo 4.

Algoritmo 4 Sorteio com probabilidades “conscientes”1: para P vezesfaca2: Atribua a probabilidade para mapear cada tarefa para cada host de modo consci-

ente.3: para cada tarefai faca4: Sorteie um hostk para executar a tarefai, com as probabilidades atuais.5: Normalize as probabilidades dos sucessores dei levando em consideracao as

restricoes de rede (se uma tarefaj e dependente da tarefai, todas as probabi-lidades para mapearj para hosts que nao possuam enlace vindo do hostk saodefinidas como zero).

6: Calcule o tempo de inıcio de execucao da tarefai considerando o tempo definalizacao de execucao e de transferencia de dados de seus predecessores.

7: fim para8: Salve o escalonamento se ele tem um valor melhor que os anteriores.9: fim para

10: Retorne o melhor escalonamento encontrado.

No restante do artigo, o escalonador baseado na implementac¸ao deste algoritmoedenotado por SC.

4. Resultados numericos

Nesta secao, apresenta-se experimentos realizados a fim de avaliar o desempenho e aqualidade dos algoritmos propostos em diferentes configuracoes de rede da grade. Aspropostas de escalonamento sao testadas com o DAG apresentado na Figura 3. Nos testesrealizados, o DAG base possui 6 vertices. O peso dos vertices varia no intervalo[45, 53] eo dos arcos em[4, 5]. Outros DAGs foram usados mas os resultados nao sao apresentadosneste artigo pelo fato das conclusoes serem as mesmas.

A topologia de rede para os experimentose gerada pelo metodo Doar-Leslie [Doar and Leslie 1993]. O metodo Doar-Leslie gera grafos aleatorios que repre-sentam topologias de rede com caracterısticas proximas de topologias de redes reais. Ometodo consiste de um algoritmo cujas principais entradas sao a quantidade de nos darede (∈ N

∗), a relacao entre a quantidade de enlaces de longa distancia e a quantidade

84

Page 13: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

T00 [53]

T10 [50]

[5]

T11 [49]

[4]

T12 [47]

[5]

T13 [48]

[4]

T20 [45]

[4] [5] [4] [5]

Figura 3. DAG

de enlaces de curta distancia (∈ (0, 1]) e a conectividade do grafo (∈ (0, 1]). A distanciados enlaces gerados esta relacionado com os pesos das arestas. Como os grafos da redeconsiderados neste artigo tem os pesos das arestas relacionados com a banda passante dis-ponıvel dos enlaces, a relacao entre as quantidades de enlaces longos e enlaces curtos seradenominada relacao entre enlaces com menos banda disponıvel e enlaces com mais bandadisponıvel. Valores de conectividade mais proximos de 1 fazem os grafos gerados ficaremcom uma quantidade de arestas mais proxima da quantidade maxima, que equivale a umgrafo completo.

A rede base para os testes realizados possui 50 hosts, conectividade igual a 0,5 erelacao entre enlaces com menos banda e enlaces com mais banda igual a 0,9. As capaci-dades dos enlaces variam no intervalo(0, 5] e tem seus valores definidos pelo metodo deDoar-Leslie. As taxas de processamento disponıvel nos hosts variam no intervalo(0, 4−2]e tem seus valores atribuıdos a partir de uma distribuicao uniforme. O valor utilizado paraP nos algoritmos que sorteiam os mapeamentose 10000. Diferentes topologias foramgeradas considerando variacoes no numero de hosts, na conectividade destes hosts, bemcomo na relacao entre enlaces com menos banda e enlaces com mais banda.

Todos os escalonadores foram implementados emC. Os escalonadores baseadosem PL utilizam a bibliotecaxpress [dash optimization ]. Os experimentos foram rea-lizados em uma computador Pentium 4, 3,2GHz com 2GB de memoria RAM e sistemaoperacional GNU/Linux Gentoo 1.4.16.

As metricas utilizadas para cada um dos testes realizados sao: o tempo deexecucao do escalonador e ospeedupdo escalonamento encontrado. O valor dospee-dupe calculado dividindoTmax pela duracao do escalonamento encontrado. Quanto maisdistante de 1, melhor a qualidade do escalonamento encontrado.

O escalonador PLMTC nao tem seus resultados apresentados pois, para o ambi-ente utilizado, o seu tempo de execucao e muito maior do que o exigido pelos outrosescalonadores, alem de apresentar um crescimento bem mais acentuado do que todos osoutros. Para o teste com 10 hosts, o PLMTC consumiu8, 28 segundos, enquanto que,dos outros escalonadores, o mais lento foi o TD-R1 com0, 52 segundos. Para o testecom 40 hosts, o PLMTC teve o tempo de execucao maior que 1 hora, enquanto que, dosoutros escalonadores, o mais lento foi o PLITD com um tempo deexecucao igual a12, 3segundos.

Os resultados de cada grupo de testes sao exibidos nas tabelas 1 a 6. O melhor

85

Page 14: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

speedupconseguido para cada testee apresentado em negrito. Osspeedupsconseguidospelos demais escalonadores, diferentes do melhor, sao apresentados em termos de porcen-tagem do melhor, ou seja,(speedup/speedupmelhor) ∗ 100%. O tempo de execucao parao escalonador que conseguiu o melhorspeeduptambeme apresentado em negrito a fimde facilitar a comparacao do melhor escalonamento encontrado com o tempo de execucaoque foi necessario.

A Tabela 1 e a Tabela 2 apresentam os resultados para o grupo detestes que en-globam variacao na quantidade de hosts. Nota-se que os melhores escalonamentos foramconseguidos pelos escalonadores baseados em PL, com umaunica excecao em que o SCconseguiu o melhor escalonamento, mas que nao ficou muito distante dos escalonamen-tos encontrados pelos TC-R1 e PLITD. Os escalonadores TD-R2 e TC-R2 de modo geralforam os que apresentaram os piores resultados. Isso se deveao fato de que o sorteiodo mapeamento ocorre umaunica vez, o que aumenta a probabilidade de que o esca-lonamento sugerido nao seja o melhor. O escalonador PLITD produziu a maioria dosmelhores escalonamentos, seguido pelo TC-R1 e, em terceiro lugar, pelo SC. Os escalo-namentos encontrados pelos escalonadores baseados em sorteio apresentam uma quedano speedupcom o aumento da quantidade de hosts. Issoe justificado pelo fato de que,com mais hosts, a probabilidade de que o melhor escalonamento seja conseguido diminuicaso ele seja feito de forma aleatoria. Os escalonamentos encontrados pelo SC sempreforam melhores que os encontrados pelo SU, o que mostra que a atribuicao “consciente”das probabilidades iniciais faz diferenca. Para todos os testes, os resultados produzidospelos TD-R1 e PLITD sempre ficaram muito proximos, sendo que os escalonamentosconseguidos com o segundo so nao foram melhores para dois testes.

Tabela 1. Speedup para variac ao na quantidade de hosts

HostsSpeedup

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC10 77,72% 77,72% 99,31% 77,55% 98,51% 99,07% 1,28943240 89,21% 73,36% 99,86% 73,26% 1,365060 81,79% 85,10%70 1,556116 64,34% 91,51% 82,48% 99,38% 77,25% 84,52%100 1,534463 65,55% 97,73% 65,17% 94,18% 70,73% 79,10%130 94,38% 66,71% 91,73% 66,23% 1,509969 69,67% 75,53%160 93,43% 62,23% 91,33% 62,11% 1,610028 68,26% 73,84%190 62,49% 62,49% 81,82% 62,27% 1,606021 65,29% 74,71%

Tabela 2. Tempo de execuc ao para variac ao na quantidade de hosts

HostsTempo de execucao (segundos)

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC10 0,28 0,05 0,52 0,21 0,17 0,08 0,0740 3,64 0,64 1,63 2,00 12,30 0,60 0,4870 16,87 2,47 5,14 5,19 4,38 1,80 1,38100 78,02 7,32 10,02 9,55 17,80 3,40 2,56130 71,12 19,92 17,29 23,96 81,31 5,86 4,49160 119,98 55,83 26,16 33,18 24,85 8,56 6,54190 345,77 82,04 25,64 32,05 134,03 11,89 8,98

Nota-se que para a maioria dos escalonadores, o tempo de execucao aumenta com

86

Page 15: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

o aumento da quantidade de hosts. Somente os escalonadores TC-R1, TD-R1 e TD-R2nao apresentam valores crescentes para todos os testes. Nota-se, tambem, que o tempode execucao dos escalonadores baseados em PL crescem de forma mais acentuada queos baseados em sorteio. Enquanto osultimos executam na ordem de unidades de segun-dos, e assim permanecem com o aumento da quantidade de hosts,os primeiros alcancamrapidamente a ordem de dezenas e centenas de segundos. Nota-se que, na grande mai-oria dos testes, o relaxamento das variaveis diminuiu bastante o tempo de execucao dosescalonadores baseados em PL. Para uma rede com 190 hosts, o tempo de execucao decerca de 134,03 segundos para o PLITD cai para 25,64 segundoscom o relaxamento doescalonador TD-R1 e para 32,05 segundos com o relaxamento do escalonador TD-R2. OPLITD e o TC-R1 sao os escalonadores com crescimento mais acentuado de todos. Entreos escalonadores baseados em sorteio, o SC apresenta menores tempos de execucao doque o SU, diferente do previsto. Isso ocorre porque em cada iteracao, a probabilidadede variaveisXi,k serem zeradase maior, o que diminui a quantidade de opcoes para omapeamento e acelera a execucao. O que leva a essa previsao erradae o fato de que oprocessamento para a definicao das probabilidades iniciais deste escalonadore mais lentado que no SU, entretanto, esta diferencae compensada pelo ganho alcancado na execucaomais rapida de cada iteracao.

Nota-se que em 4 das 7 variacoes realizadas, o melhor escalonamento foi encon-trado pelo escalonador que teve o maior tempo de execucao. Em uma das outras tresvariacoes, o melhor escalonamento foi encontrado pelo escalonador que teve o segundomaior tempo de execucao.

Os resultados para o grupo de testes com variacao na conectividade da rede saoapresentados na Tabela 3 e na Tabela 4.

Tabela 3. Speedup para variac ao na conectividade

Conect.Speedup

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC0,1 71,06% 71,06% 84,72% 81,08% 83,81% 96,38% 1,4088250,22 72,97% 72,97% 96,23% 72,55% 96,46% 89,29% 1,3782740,34 70,09% 69,64% 91,51% 69,64% 1,435858 97,30% 98,64%0,46 98,17% 66,10% 1,517342 65,90% 97,64% 81,37% 92,93%0,58 89,92% 66,10% 1,522505 69,92% 99,64% 89,51% 92,97%0,7 98,82% 65,32% 98,82% 65,31% 1,531184 77,78% 90,87%0,82 91,71% 66,10% 1,524155 77,74% 65,61% 73,64% 87,03%

Os escalonadores PLITD e TD-R1 produziram os melhoresspeedupscom excecaode dois testes, nos quais o SC saiu-se melhor. Somente um dos testes, os resultados pro-duzidos pelos escalonadores TD-R1 e PLITD apresentam uma grande diferenca. Assimcomo no grupo de testes anterior, os escalonamentos conseguidos pelos escalonadoresTC-R2 e TD-R2 foram os piores; Entre os escalonadores baseados em sorteio o SC sem-pre apresentou os melhores resultados.

Pelos dados da tabela,e possıvel notar que o tempo de execucao do escalonadorTC-R1 cresce com o aumento da conectividade da rede, porem de uma forma bem me-nos acentuada do que no primeiro grupo de testes. Os demais escalonadores baseadosem PL nao seguiram um padrao com relacao ao tempo de execucao. Os que relaxam

87

Page 16: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

Tabela 4. Tempo de execuc ao para variac ao na conectividade

Conect.Tempo de execucao (segundos)

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC0,1 0,82 0,56 1,69 0,86 18,84 1,38 1,100,22 5,97 0,71 1,66 1,33 12,21 1,38 1,090,34 4,56 1,24 2,33 1,41 32,28 1,26 0,990,46 4,01 1,24 3,53 3,08 7,49 1,08 0,810,58 4,85 0,93 2,35 1,77 2,22 0,96 0,730,7 7,30 1,73 3,04 3,69 3,46 0,38 0,300,82 9,98 1,24 2,60 3,05 4,29 0,10 0,09

as variaveis inteiras aumentaram o tempo de execucao tambem de forma menos acentu-ada do que no primeiro grupo de testes. De um modo geral, o tempo de execucao doPLITD para redes com maior conectividadee menor do que para redes com menor co-nectividade. Isso ocorre porque o problema de PL possui menos restricoes para seremanalisadas e consegue-se encontrar um escalonamento viavel em um tempo menor. Japara os escalonadores baseados em sorteio, o tempo de execuc¸ao diminui com o aumentoda conectividade, sendo que os seus tempos foram sempre menores do que os tempos dosescalonadores baseados em PL. Issoe justificado pelo fato dos algoritmos 3 e 4 execu-tarem o passo da linha 5 mais rapidos, ja que a quantidade de probabilidades atribuıdasa zeroe menor, por haver mais hosts conectados entre si, diminuindo assim a chance deexecutar a normalizacao das probabilidades varias vezes. O tempo de execucao do SCmantem-se menor do que o do SU, assim como ocorreu no grupo de testes com variacaona quantidade de hosts. De modo geral, os tempos de execucao sao menores do que os doprimeiro grupo de testes.

A relacao entre melhor escalonamento e maior tempo de execucao nao foi tao uni-forme como no grupo de testes anterior. Somente para a rede com conectividade 0,82,o melhor escalonamento foi encontrado pelo escalonador queexigiu maior tempo deexecucao. Nas outras seis variacoes de conectividade, em quatro delas (0,22, 0,46, 0,7e 0,82) o escalonador que levou o maior tempo de execucao teve o escalonamento encon-trado no maximo 8,29% distante do melhor escalonamento.

O terceiro grupo de testes analisa o desempenho dos escalonadores frente avariacoes na relacao entre a quantidade de enlaces com menos banda disponıvel e a quan-tidade de enlaces com mais banda disponıvel. Os resultados sao apresentados na Tabela 5e na Tabela 6.

Tabela 5. Speedup para variac ao na relac ao entre as quantidades de enlaces

Rel.Speedup

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC0,2 72,81% 72,81% 90,99% 72,42% 1,380837 77,84% 89,72%0,3 92,53% 61,79% 92,53% 89,71% 1,624240 78,61% 84,50%0,4 100,00% 68,55% 1,469889 81,06% 92,27% 86,55% 78,44%0,5 74,89% 74,89% 92,55% 83,85% 1,341922 85,77% 90,06%0,6 87,12% 64,61% 92,15% 86,03% 1,552311 75,85% 86,59%0,7 68,58% 68,58% 82,75% 71,95% 1,459533 75,38% 82,35%0,8 91,03% 68,17% 93,71% 67,72% 1,476768 83,85% 86,73%

88

Page 17: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

Tabela 6. Tempo de execuc ao para variac ao na relac ao entre as quantidades deenlaces

Rel.Tempo de execucao (segundos)

TC-R1 TC-R2 TD-R1 TD-R2 PLITD SU SC0,2 7,71 1,24 2,11 2,60 13,64 1,06 0,810,3 4,90 1,02 2,45 1,88 9,75 1,00 0,750,4 4,29 1,22 2,26 2,79 5,22 1,08 0,840,5 3,33 2,02 2,22 2,64 3,56 0,93 0,730,6 5,67 1,36 2,22 3,09 2,10 0,99 0,770,7 3,67 1,08 2,22 2,51 3,28 0,98 0,760,8 4,88 0,95 2,37 1,98 29,85 0,93 0,70

Os melhores escalonamentos foram encontrados pelo PLITD, sendo que nounicoteste em que o PLITD nao foi o melhor, ele produziu um escalonamento 7,73% pior doque o melhor. Entre os escalonadores baseados em sorteio, o SC so foi pior que o SUem um teste. A diferenca entre osspeedupsconseguidos pelo PLITD e pelo TD-R1epequena para a maioria dos teste (Somente em um teste elae maior que 10%).

Pelos resultados encontrados, nota-se que nao ha um padrao perceptıvel no tempode execucao dos escalonadores, com excecao do escalonador TD-R1 que mantem o seutempo de execucao estavel. O PLITD foi o escalonador que apresentou o maior tempo deexecucao para a maioria dos testes. De modo geral, os valores dos tempos de execucaoforam proximos dos alcancados no grupo de testes anterior.

Na maioria dos testes, os melhores escalonamentos foram encontrados pelos esca-lonadores que exigiram mais tempo de execucao. Na maioria dos testes em que isso naoocorreu, a diferenca para o melhor escalonamento foi no maximo 7,73%.

Pode-se concluir que os escalonadores baseados no Algoritmo 2 nao apresentarambons resultados. Os demais escalonadores baseados em PL tiveram resultados proximosentre si, sendo que aqueles baseados no Algoritmo 1 ficaram proximos do melhor esca-lonamento na grande maioria dos testes e com tempos de execuc¸ao entre os menores. Omelhor escalonador, com relacao aospeedupdo escalonamento encontrado, foi o PLITD.Como ele tambeme o que leva, na maioria das vezes, o maior tempo para executare naoapresenta resultados muito distantes do TD-R1, que executa bem mais rapido,e razoavelutilizar o TD-R1 em situacoes nas quais uma pequena diferenca na para o melhor esca-lonamento seja tolerada. Como era de se esperar, os escalonadores baseados em sorteiosexecutam mais rapidos mas nao apresentam resultados tao bons quanto os encontradospelos TC-R1, TD-R1 e PLITD. O escalonador SC apresentou melhores resultados queo SU, exceto em um teste, o que mostra que a atribuicao “consciente” das probabilida-des faz diferenca no escalonamento encontrado. O SCe uma opcao de escalonador a serusado caso o tempo de execucao devolvido pelo TD-R1 seja considerado grande para queum escalonamento viavel seja devolvido para a aplicacao.

5. Trabalhos relacionadosDentre as varias propostas para escalonar tarefas em sistemas heterogeneos, al-gumas diretamente relacionadas com as caracterısticas das grades sao encontra-das em [Ma and Zhang 2004], [Sinnen and Sousa 2005], [Prodan and Fahringer 2005],[Blythe et al. 2005], [He et al. 2003] e [Fujimoto and Hagihara2003].

A proposta apresentada em [Ma and Zhang 2004]e de um algoritmo chamado

89

Page 18: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

Level-Branch Priority. O algoritmo escalona as tarefas de um DAG seguindo uma listade prioridade. Essa listae construıda levando-se em consideracao o nıvel da tarefa noDAG e a quantidade de ramificacoes (arcos de saıda) das mesmas. Tarefas nos menoresnıveis e com mais ramificacoes sao colocadas no inıcio da lista. Essas duas caracterısticas:nıvel da tarefa e quantidade de ramificacoes, tambem sao usadas no escalonador SC, queapresentamos, ao atribuir as probabilidades de modo “consciente”. Uma diferenca paraos escalonadores que apresentamose o fato do algoritmo, apesar de ser definido comovoltado para grades, nao considerar a heterogeneidade nos enlaces da rede, ja que na suaformulacao o tempo necessario para transferir os dados de dependencia entre duas tarefase o mesmo independente do enlace utilizado. Uma diferenca com relacao aos testes queapresentamose o fato de nao haver informacao sobre o desempenho do algoritmo comvariacoes nos hosts e na topologia da rede.

Em [Sinnen and Sousa 2005], o escalonamento de tarefas naoe diretamente rela-cionado com grades, mas sim com ambientes que possuem heterogeneidade na rede queinterliga os hosts. O metodo utilizado para escalonar as tarefase realizado do ponto devista das dependencias entre as tarefas: ao inves de escalonar as tarefas nos hosts, os arcossao escalonados nos enlaces. Sao apresentadas propostas interessantes para diferenciarascaracterısticas dos enlaces nos grafos que representam a topologia da rede. Resultadosmostrando as vantagens de utilizar o escalonamento sao apresentados para uma variedadede topologias de rede, da mesma forma que nos apresentamos. Ao contrario dos cenariosque utilizamos para simulacoes, onde os hosts apresentavam diferentes taxas de processa-mento disponıveis, os cenarios utilizados em [Sinnen and Sousa 2005] consideram hostscom a mesma taxa de processamento disponıvel, ja que o tempo de execucao de cadatarefae o mesmo, independente do host ao qual ela seja mapeada.

Uma proposta de escalonamento utilizando tecnicas de otimizacao e apresentadaem [Prodan and Fahringer 2005]. A tecnica propostae baseada na solucao de um algo-ritmo genetico e leva em consideracao a heterogeneidade dos enlaces e dos hosts de umagrade. O que diferencia esta proposta das que apresentamose o fato dela ser voltada paraaplicacoes representadas por grafos que podem conter ciclos, e nao por DAGs. A pro-posta tambem sugere a utilizacao do algoritmo genetico para verificar mudancas na gradee encontrar um novo escalonamento que vise manter o tempo de execucao da aplicacao omenor possıvel.

Em [Blythe et al. 2005]e apresentada uma heurıstica para o escalonamento detarefas em grades. A heurıstica e baseada em probabilidade a fim de conseguir bonsescalonamentos em um curto intervalo de tempo. Essa heurısticae comparada com umalgoritmo guloso que escalona uma tarefa por vez no melhor recurso possıvel. Com estacomparacao, e apresentado que ha perdas consideraveis quando se utiliza escalonadoresque tentam achar a melhor opcao para uma tarefa sem ter nocao do DAG (ouworkflowcomoe chamado no texto) como um todo.E citado que a proposta de escalonamento podeser usada para migracao de tarefas mas nao ha detalhes de como isso seria feito. Apesarde reconhecer a heterogeneidade proveniente da rede, os resultados sao apresentados paraumaunica topologia de rede, ao contrario dos resultados que apresentamos.

Um algoritmo que considera requisitos de QoS de aplicacoes em gradese apre-sentado em [He et al. 2003]. A proposta considera que as aplicacoes possuem requisitosde QoS que restringem as opcoes de recursos nos quais as tarefas possam executar. Com

90

Page 19: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

excecao do sorteio com probabilidades uniformes, os escalonadores que apresentamos le-vam em consideracao os requisitos de QoS das tarefas ja que as tarefas mais exigentesde processamento e rede tem maiores probabilidades de seremmapeadas para os recursoscom maior taxa de processamento disponıvel e maior capacidade de transmissao respec-tivamente. Assim como nos escalonadores que apresentamos,ha a consideracao de quea redee heterogenea. Inclusive, nos experimentos realizados, ounico requisito de QoSconsideradoe a largura de banda mınima exigida pelas tarefas. Uma diferenca significa-tiva entre essa abordagem e as nossase o fato dessa considerar que as tarefas escalonadassao independentes entre si.

Em [Fujimoto and Hagihara 2003]e apresentado um algoritmo para escalonar ta-refas de DAGs cujas quantidades de bits a serem transmitidose desprezıvel com relacaoaquantidade de instrucoes a serem executadas. As tarefas passam muito mais tempo sendoprocessadas nos hosts do que transferindo dados via rede, diferente das aplicacoes paraas quais as nossas propostas sao voltadas, em que o tempo de processamento e o tempode computacao nao sao tao distantes entre si. Semelhante ao quee feito no escalona-dor baseado em sorteios “conscientes”, o nıvel das tarefas no DAG afeta a probabilidadedas mesmas serem mapeadas para os hosts com maior taxa de processamento disponıvel.Uma discussao interessantee relacionada com a metrica utilizada para medir a qualidadedos escalonamentos em grades. A duracao do escalonamento em unidades de tempo naoseria o ideal ja que, como os recursos nao sao dedicados, as tarefas nao passaram 100%do tempo sendo executadas. Dessa forma, a metrica ideal seria computar o tempo real decomputacao.

6. Conclusoes e trabalhos futuros

Neste artigo, foram apresentadas oito propostas para escalonamento de tarefas em gra-des. Seis caracterizadas por encontrarem os melhores escalonamentos, mas exigirem maistempo de processamento, e duas caracterizadas por exigiremmenos tempo de processa-mento, mas fornecerem escalonamentos piores do que as seis primeiras. A contribuicaodestas propostase forneceras aplicacoes varias opcoes de escalonadores que podem serexecutados em sequencia dentro de umdeadlineespecificado. Aquele escalonamento quefornecer o melhor escalonamento dentro dodeadlinesera o utilizado pela aplicacao.

Uma hipotese frequentemente assumida na literaturae que os recursos na gradesao completamente conectados, o que restringe a validade dessas propostas. Os escalona-dores apresentados no presente artigo nao considera essa hipotese e sao verificados contrauma variedade de modificacoes nos recursos e na rede que os interliga.

Pelos resultados numericos, comprovou-se a diferenca no tempo de execucao en-tre as propostas bem como na qualidade dos escalonamentos encontrados. O escalona-dor baseado em PL com linha do tempo discreta, sem relaxamento das variaveis intei-ras e com relaxamento da variaveis inteiras utilizando o Algoritmo de ArredondamentoAleatorio, foram os que apresentaram melhores resultados, sendoque o segundo apre-sentou escalonamentos com uma qualidade bem proxima do primeiro e com um tempo deexecucao bem menor. Os escalonadores baseados em sorteio executaram bem mais rapidodo que os demais mas de modo geral nao obtiveram bons escalonamentos. Notou-se que adistribuicao “consciente” das probabilidades fez diferenca, ja que o escalonador baseadonela so nao apresentou resultado melhor do que aquele que distribui as probabilidades

91

Page 20: Escalonamento em grades - Laboratório de Banco de Dados · das em buscas aleatorias guiadas e s´ ao comparados entre si˜ a luz do “trade-off”` entre tempo de execuc ... maior

uniformemente em 1 das 21 diferentes topologias de rede.

Como trabalho futuro, pretende-se integrar os escalonadores a uma metodolo-gia que verifique mudancas nos recursos da grade e re-execute os escalonadores a fimde avaliar o ganho que possa ser alcancado com migracoes de tarefas. Esta tarefaencontra-se em desenvolvimento pelos autores. Outro trabalho que se pretende realizare aanalise do desempenho dos escalonadores com DAGs gerados aleatoriamente, como feitoem [Topcuouglu et al. 2002] e com a verificacao de outros requisitos das tarefas comoespaco para armazenar dados na memoria principal e na memoria secundaria dos hosts.

Referencias

Blythe, J., Jain, S., Deelman, E., Gil, Y., Vahi, K., Mandal, A., and Kennedy, K. (2005).Task Scheduling Strategies for Workflow-based Applications in Grids. InIEEE Inter-national Symposium on Cluster Computing and Grids (CCGRID’05).

dash optimization. The Xpress-Optimizer. Disponıvel em http://www.dashoptimization.com/home/products/products optimizer.html. Ultimo acesso em 09/03/2006.

Doar, M. and Leslie, I. M. (1993). How Bad is Naive Multicast Routing? InProceedingsof IEEE INFOCOM’93, pages 82–89.

Fujimoto, N. and Hagihara, K. (2003). Near-Optimal DynamicTask Scheduling of Prece-dence Constrained Coarse-Grained Tasks onto a Computational Grid. In InternationalSymposium on Parallel and Distributed Computing, pages 80–87.

He, X., Sun, X., and von Laszewski, G. (2003). QoS Guided Min-Min Heuristic for GridTask Scheduling.J. Comput. Sci. Technol., 18(4):442–451.

Iverson, M., Ozguner, F., and Follen, G. (1995). Parallelizing Existing Applications ina Distributed Heterogeneous Environment. InHeterogeneous Computing Workshop,pages 93–100.

Kwok, Y.-K. and Ahmad, I. (1999). Static scheduling algorithms for allocating directedtask graphs to multiprocessors.ACM Comput. Surv., 31(4):406–471.

Ma, D. and Zhang, W. (2004). A Static Task Scheduling Algorithm in Grid Computing.Lecture Notes in Computer Science, 3033:153–156.

Papadimitriou, C. H. and Steiglitz, K. (1998).Combinatorial Optimization – Algorithmsand Complexity. Dover Publications.

Prodan, R. and Fahringer, T. (2005). Dynamic Scheduling of Scientific Workflow Appli-cation on the Grid: a Case Study. InSAC’05: Proceedings of the 2005 ACM symposiumon Applied computing, pages 687–694, New York, NY, USA. ACM Press.

Sinnen, O. and Sousa, L. A. (2005). Communication Contention in Task Scheduling.IEEE Transactions on Parallel and Distributed Systems, 16(6):503–515.

Topcuouglu, H., Hariri, S., and you Wu, M. (2002). Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing.IEEE Trans. ParallelDistrib. Syst., 13(3):260–274.

92