• Nenhum resultado encontrado

Escalonamento de Tarefas Divisíveis em Redes Estrela

N/A
N/A
Protected

Academic year: 2021

Share "Escalonamento de Tarefas Divisíveis em Redes Estrela"

Copied!
6
0
0

Texto

(1)

Escalonamento de Tarefas Divis´ıveis em Redes Estrela

Elbio Renato Torres Abib1∗, Celso Carneiro Ribeiro2

1Departamento 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.

(2)

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.

(3)

´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

(4)

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.

(5)

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.

(6)

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

Referências

Documentos relacionados

Desde logo, a nossa compreensão e interpretação da importância funcional e ritual das lamentações públicas das carpideiras e dos carpideiros egípcios é sublinhada pelo

Pelos dados obtidos, podemos concluir que, a partir do 14º dia, houve mudança no hábito alimentar dos girinos de rã-touro e, dentro das condições experimentais, a

Como pode ser observado nas figuras 4 e 5, o escalonador proposto supera todos os outros escalonadores quando a relação SNR está abaixo de 0 dB e para qualquer número

De acordo com ARBIX (2007), o processo de inovação resulta de interações entre indivíduos, firmas e outras instituições produtoras de conhecimento, nos níveis

[r]

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

As oficinas pedagógicas realizadas sob o âmbito ambiental foram elaboradas e executadas como intervenção científica durante a Semana Nacional do Meio Ambiente, no período

Para Albumina não houve diferença significativa para cada tratamento em relação ao período de coletas, porém houve diferença entre os tratamentos apenas no período de 14 dias