Escalonamento de Tarefas Divis´ıveis em Redes Estrela
Elbio Renato Torres Abib1∗, Celso Carneiro Ribeiro21Departamento de Inform´atica – Uni˜ao Pioneira de Integrac¸˜ao Social SEPS 712/912, Conj. A - Asa Sul – 70390-125 Bras´ılia, DF
2Departamento de Inform´atica – Pontif´ıcia Universidade Cat´olica do Rio de Janeiro Rua Marquˆes de S˜ao Vicente, 225 RDC – 22453-900 Rio de Janeiro, RJ
elbio02781@upis.br, celso@inf.puc-rio.br
Abstract. The divisible job scheduling problem consists of determining how to divide the data to be processed among processors and in which order each frac-tion should be sent to them. It is considered the divisible load scheduling prob-lem in star networks with heterogeneous computers and links. Original mixed integer linear programming formulations of this problem are proposed, as well as new heuristics and a new algorithm with complexity O(n) to find the optimal solution for a special case.
Resumo. O problema de escalonamento de tarefas divis´ıveis consiste em de-terminar como uma carga a ser processada deve ser dividida entre proces-sadores e em que ordem cada frac¸˜ao de carga ser´a enviada a cada processador. Considera-se o escalonamento em redes estrela com computadores e enlaces heterogˆeneos. Para este problema s˜ao propostas formulac¸˜oes originais como modelos de programac¸˜ao linear inteira mista, novas heur´ısticas e um novo al-goritmo de complexidade O(n) para a soluc¸˜ao ´otima de um caso especial.
1. Introduc¸˜ao
O grande aumento de performance das redes de computadores, combinado com a proliferac¸˜ao de computadores de baixo custo e alto desempenho, trouxe `a tona ambi-entes de meta-computac¸˜ao, ou grids [Foster e Kesselman 2004]. Estes ambiambi-entes po-dem combinar milhares de computadores de centenas de dom´ınios diferentes, conectados atrav´es de redes locais ou pela rede mundial. A grande heterogeneidade deste tipo de ambiente, somada a muitas restric¸˜oes de seguranc¸a (tanto em termos de acesso, como de comunicac¸˜ao entre processadores), vˆem impulsionando o estudo de um tipo especial de tarefa, as chamadas tarefas divis´ıveis.
O conceito de tarefas divis´ıveis foi introduzido originalmente por Robertazzi et al. [Cheng e Robertazzi 1988] e tem sido bastante estudado nos ´ultimos anos. Uma tarefa divis´ıvel ´e caracterizada por poder ser dividida arbitrariamente em um n´umero qualquer de frac¸˜oes de carga, podendo cada parte ser processada em paralelo, sem restric¸˜oes de precedˆencia. Este modelo permite inclusive uma divis˜ao fracion´aria da carga, o que sim-plifica o seu estudo sem reduzir muito sua generalidade, uma vez que pressup˜oe-se uma alta granularidade de dados.
Muitas aplicac¸˜oes modernas podem ser modeladas como tarefas divis´ıveis. Como exemplos, pode-se citar a busca por um padr˜ao de imagem num grande banco de imagens, colorac¸˜ao de grafos, junc¸˜oes em banco de dados, entre ou-tros [Drozdowski e Wolniewicz 2000]. Este modelo de carga divis´ıvel fornece uma maneira simples, por´em realista, para o mapeamento de tarefas independentes em plataformas heterogˆeneas, cuja boa aderˆencia `as situac¸˜oes reais ´e apresentada em [Drozdowski e Wolniewicz 2000].
Assim como nos demais trabalhos relacionados ao escalonamento de tarefas di-vis´ıveis, considera-se apenas grids dedicados, ou seja, sistemas heterogˆeneos inteiramente dedicados `a execuc¸˜ao da tarefa divis´ıvel. Ao contr´ario de grids n˜ao-dedicados, onde pode existir grande flutuac¸˜ao no poder computacional dispon´ıvel em cada processador.
No trabalho ´e apresentado o modelo de sistema considerado, os m´etodos encontra-dos na literatura para o escalonamento de tarefas divis´ıveis, bem como os novos resultaencontra-dos obtidos em [Abib e Ribeiro 2004]. Por fim s˜ao apresentados resultados computacionais que comparam as principais t´ecnicas apresentadas.
1.1. Modelo de sistema
Assim como em [Beaumont et al. 2003], segue-se o paradigma mestre/escravo (ou mestre/trabalhador), onde n processadores escravos s˜ao referenciados como P1, P2, . . . ,
Pn e o processador mestre como P0. Neste modelo, o processador mestre n˜ao participa da computac¸˜ao, sem perda de generalidade.
A topologia de interconex˜ao dos processadores ´e do tipo estrela, formada por n enlaces que ligam o processador mestre P0 aos demais. Assume-se que o mestre utiliza a rede de forma seq¨uencial, ou seja, ele envia dados a no m´aximo um processador por vez, sem possibilidade de concorrˆencia. Esta caracter´ıstica, comumente assumida nos trabalhos relacionados, pode ser justificada pela implementac¸˜ao no processador mestre ou por propriedades dos enlaces de rede.
Uma vez definido que o processador P0 enviar´a uma quantidade de dados α (me-dida em unidades de informac¸˜ao, e.g. trˆes imagens) para o processador Pi, o enlace de
comunicac¸˜ao ser´a utilizado por um per´ıodo de tempo gi + Giαi, onde gi ´e a latˆencia de
comunicac¸˜ao e Gi ´e o inverso da taxa de transmiss˜ao do enlace entre P0 e Pi.
Ap´os Pireceber todos os αi dados, ele ir´a processa-los por um per´ıodo de tempo
igual a wiαi, onde wi ´e o tempo necess´ario para o processamento de uma unidade de
informac¸˜ao. ´E importante salientar que o modelo assume comunicac¸˜ao e computac¸˜ao concorrentes, o que ´e aproveitado por certas t´ecnicas de escalonamento.
1.2. Escalonamento de tarefas divis´ıveis
Com o objetivo de facilitar o estudo do comportamento de diferentes escalonadores, foi desenvolvido um m´odulo que permite a visualizac¸˜ao do comportamento do sistema com um gr´afico de Gantt, dada uma s´erie de decis˜oes de escalonamento (como na Figura 1).
No problema de escalonamento de tarefas divis´ıveis, tem-se como principal parˆametro de performance, o chamado makespan, que consiste no tempo de t´ermino do ´ultimo processador que participa da computac¸˜ao da carga W . Sua minimizac¸˜ao ´e o obje-tivo das t´ecnicas apresentadas.
´E dito que um escalonamento ´e feito em um ´unico per´ıodo se a tarefa divis´ıvel ´e particionada e, dada uma ordem de envio, cada processador Pi que participar´a do
proces-samento recebe uma ´unica parcela αi numa ´unica vez, i = 1, . . . , n. No gr´afico da
Figura 1, por exemplo, ´e apresentado um escalonamento ´otimo onde P6 foi o primeiro processador a receber carga, seguido por P1, P8 e assim por diante. As barras pretas indicam as latˆencias de comunicac¸˜ao(gi), as cinzas-escuras indicam o tempo vari´avel de
comunicac¸˜ao(Giαi) e as cinzas-claras indicam o tempo de processamento(wiαi). Nota-se
que todos os processadores receberam carga uma ´unica vez e terminaram de process´a-las no mesmo instante de tempo.
Figura 1. Escalonamento ´otimo em apenas um per´ıodo
Com o objetivo de aproveitar mais o paralelismo, s˜ao utilizadas t´ecnicas com m´ultiplos per´ıodos. Na maioria das t´ecnicas descritas na literatura tem-se uma ordem fixa de envio de dados para os processadores. O processador mestre comec¸a ent˜ao a en-viar αi,1dados para cada processador Pisegundo a ordem j´a definida, i = 1, . . . , n. Ap´os
o t´ermino do envio de dados para todos os processadores na primeira rodada, P0 envia
αi,2 dados para cada processador Pi na mesma ordem, e assim por diante. O gr´afico da
Figura 2 ilustra um exemplo onde s˜ao utilizados trˆes per´ıodos de envio (delimitados por barras verticais).
Figura 2. Escalonamento em m ´ultiplos per´ıodos
2. Escalonamento usando apenas um per´ıodo
Ainda n˜ao foi encontrado um algoritmo polinomial que resulte no makespan ´otimo para o escalonamento de tarefas divis´ıveis considerando latˆencias de comunicac¸˜ao. Existem por´em resultados para alguns casos especiais onde a otimalidade pode ser conseguida com
facilidade. Em [Blazewicz e Drozdowski 1997] foi apresentado um estudo da influˆencia da inclus˜ao de latˆencias de comunicac¸˜ao em sistemas com diferentes topologias, sendo que casos especiais foram identificados para sistemas com rede estrela. Estes resultados, juntamente com aqueles encontrados em [Beaumont et al. 2003], permitem solucionar o problema de maneira ´otima para sistemas com taxas de transmiss˜ao idˆenticas (algoritmo
O(n log n)), para enlaces idˆenticos (algoritmo O(n log n)) e com ordem de envio
pr´e-determinada (algoritmo O(n log n)).
Para este ´ultimo caso especial foi desenvolvido neste trabalho um novo algoritmo r´apido AlgRap que encontra o escalonamento ´otimo com complexidade O(n). Com este resultado importante, foi poss´ıvel o desenvolvimento de uma nova heur´ıstica construtiva com retro-alimentac¸˜ao HeuRet. Esta heur´ıstica escolhe uma ordem de envio e utiliza-se de AlgRap para encontrar bons escalonamentos de forma r´apida. Com o objetivo de encontrar resultados ainda melhores, foram desenvolvidas duas t´ecnicas de busca local para este problema que, em conjunto com HeuRet, obtˆem resultados muito bons.
Al´em dos algoritmos descritos anteriormente, buscando-se resultados ´otimos para o problema geral, neste trabalho desenvolveu-se um modelo original de programac¸˜ao lin-ear inteira mista com algumas desigualdades v´alidas (contrastando com os modelos n˜ao-lineares inteiros mistos da literatura). Este modelo permite encontrar o resultado ´otimo para instˆancias de menor porte e um limite inferior para instˆancias maiores.
3. Escalonamento usando m ´ultiplos per´ıodos
Para o escalonamento usando m´ultiplos per´ıodos considerando-se latˆencias, pode-se en-contrar em [Beaumont et al. 2003] as heur´ısticas HF ix e HAdapt. Enquanto HF ix fixa o tamanho de todos os per´ıodos a priori, HAdapt ajusta a durac¸˜ao dos per´ıodos durante o escalonamento.
´E proposta neste trabalho uma nova heur´ıstica HeuMul para escalonamento em m´ultiplos per´ıodos. Este m´etodo utiliza HeuRet para determinar a ordem de envio e escolhe o n´umero de per´ıodos a serem utilizados para esta dada ordem.
Partindo-se para o estudo de uma soluc¸˜ao exata para o problema, n˜ao se encontrou na literatura formulac¸˜oes como modelos de programac¸˜ao linear ou n˜ao-linear inteiras. Neste trabalho foram ent˜ao desenvolvidos dois modelos de programac¸˜ao linear inteira mista para o problema, sendo esta mais uma das importantes contribuic¸˜oes deste trabalho. Resultado este importante para comparac¸˜ao das heur´ısticas e determinac¸˜ao de limites in-feriores. O primeiro modelo considera um n´umero fixo de processadores e per´ıodos, enquanto que o segundo determina o n´umero ´otimo de per´ıodos a serem utilizados.
4. Resultados computacionais
Para a an´alise das t´ecnicas apresentadas, foi desenvolvido uma biblioteca de classes em C++ para representar sistemas heterogˆeneos com as caracter´ısticas descritas, simular a execuc¸˜ao das t´ecnicas e gerar logs a serem analisados pelo m´odulo criador de gr´aficos de Gantt. Para a resoluc¸˜ao dos modelos criados, foi utilizado o pacote ILOG CPLEX v8.0.
Para a comparac¸˜ao das t´ecnicas, foram gerados 720 casos de teste organizados conforme poder computacional dos processadores, velocidade dos enlaces, n´umero de processadores e quantidade de dados a serem processados.
Com os novos modelos lineares inteiros mistos propostos no trabalho foi poss´ıvel encontrar soluc¸˜oes ´otimas para 160 casos de teste usando per´ıodo ´unico e 14 usando m´ultiplos per´ıodos. Para os demais casos de teste foram utilizadas as relaxac¸˜oes destes modelos para a obtenc¸˜ao de bons limites inferiores. A utilizac¸˜ao destes modelos per-mitem que neste trabalho e em trabalhos futuros, os resultados de heur´ısticas possam ser comparados de forma mais objetiva.
Com os testes computacionais, verificou-se que HeuRet resultou em escalona-mentos ´otimos para 95% dos casos onde s˜ao conhecidos tais resultados, necessitando para isso em m´edia cinco milisegundos de processamento (viabilizando sua utilizac¸˜ao on-line). Apesar da maioria dos resultados ´otimos n˜ao serem conhecidos, grac¸as `as relaxac¸˜oes dos modelos criados, sabe-se que os makespans obtidos pela heur´ıstica HeuRet, na m´edia de todos os casos de teste, n˜ao se distanciam mais do que 30% dos resultados ´otimos.
Para escalonamentos com m´ultiplos per´ıodos, devido `a sua complexidade, foi poss´ıvel encontrar apenas 14 soluc¸˜oes ´otimas, sendo que HeuMul conseguiu encontrar 12 destas, exigindo em m´edia de 12 segundos de processamento. Os testes tamb´em apon-taram que HeuRet obteve makespans que s˜ao respectivamente 1/28 e 1/30 dos obtidos pelas t´ecnicas HAdapt e HF ix, encontradas na literatura. Esta grande diferenc¸a ´e decor-rente da forma de previs˜ao de makespan utilizado por ambas as t´ecnicas.
5. Conclus˜ao
Neste trabalho foram desenvolvidas t´ecnicas inovadoras para o escalonamento de tarefas divis´ıveis, incluindo um algoritmo de complexidade O(n) para um caso especial muito importante (at´e ent˜ao na literatura s´o existia um algoritmo de complexidade O(n log n)) e heur´ısticas que obtiveram resultados emp´ıricos excelentes. Resultados esses que, na maioria das simulac¸˜oes realizadas, se mostraram muito superiores `aqueles das heur´ısticas da literatura.
Foram tamb´em desenvolvidos novos modelos lineares inteiros mistos que per-mitem que sejam encontradas soluc¸˜oes ´otimas para muitas instˆancias, al´em de limites inferiores para uma s´erie de instˆancias maiores, o que possibilita uma an´alise mais ob-jetiva dos resultados encontrados por heur´ısticas. Salienta-se que os modelos originais propostos podem ser adaptados com bastante facilidade para variac¸˜oes do problema de escalonamento em redes estrela, servindo como importante ferramenta para um vasto es-pectro da pesquisa em escalonamento de tarefas divis´ıveis.
Referˆencias Bibliogr´aficas
Abib, E. R. T. e Ribeiro, C. C. (2004). Escalonamento de tarefas divis´ıveis em redes estrela. Dissertac¸˜ao de Mestrado, PUC-Rio.
Beaumont, O., Legrand, A., e Robert, Y. (2003). Optimal algorithms for scheduling divisible workloads on heterogeneous systems. Em 12th Heterogeneous Computing
Workshop. IEEE Computer Society Press.
Blazewicz, J. e Drozdowski, M. (1997). Distributed processing of divisible jobs with communication startup costs. Discrete Applied Mathematics, 76:21–41.
Cheng, Y. C. e Robertazzi, T. G. (1988). Distributed computation with communication delay. IEEE Transactions on Aerospace and Electronic Systems, 24:700–712.
Drozdowski, M. e Wolniewicz, P. (2000). Experiments with scheduling divisible tasks in clusters of workstations. Em Bode, A., II, T. L., Karl, W., e Wism¨uller, R., editores,
6th International Euro-Par Conference, volume 1900 de Lecture Notes in Computer Science, p´aginas 311–319, Munique. Springer-Verlag.
Foster, I. e Kesselman, C. (2004). The Grid: Blueprint for a New Computing