578                                                                                 IEEE LATIN AMERICA TRANSACTIONS, VOL. ...
CHAVES et al.: SCHEDULING GRID APPLICATIONS                                                                               ...
580                                                                                   IEEE LATIN AMERICA TRANSACTIONS, VOL...
CHAVES et al.: SCHEDULING GRID APPLICATIONS                                                                               ...
582                                                                            IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO...
CHAVES et al.: SCHEDULING GRID APPLICATIONS                                                                               ...
584                                                                     IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 4, JU...
CHAVES et al.: SCHEDULING GRID APPLICATIONS                                                                               ...
Upcoming SlideShare
Loading in …5
×

Grid

601 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
601
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Grid

  1. 1. 578 IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 4, JULY 2011 Scheduling Grid Applications with Software Requirements C. G. Chaves, Student IEEE, D. M. Batista, N. L. S. da Fonseca, Senior Member IEEE Abstract—The aim of task scheduling is to minimize the de computação que vão além das limitações do software makespan of applications, exploiting the best possible way to use impostas pelos recursos reais disponíveis. Apesar da shared resources. Applications have requirements which call for existência de outras abordagens para gerenciamento de customized environments for their execution. One way to provide such environments is to use virtualization on demand. This paper recursos em grades com suporte à MVs [4] [5] [6] [7] [8], presents two schedulers based on integer linear programming nenhum deles escalona tarefas e máquinas virtuais which schedule virtual machines (VMs) in grid resources and tasks conjuntamente como os escalonadores TVM. A maioria destas on these VMs. The schedulers differ from previous work by the abordagens ignora também o impacto que a disponibilidade de joint scheduling of tasks and VMs and by considering the impact of banda passante causa no escalonamento, um aspecto the available bandwidth on the quality of the schedule. considerado pelos escalonadores TVM. Experiments show the efficacy of the schedulers in scenarios with different network configurations. Os escalonadores TVM são baseados numa formulação de programação linear inteira. Dois escalonadores são propostos: Keywords— Grid Computing; Scheduling; Virtualization o escalonador TVM-INT, que implementa o problema de programação inteira exata; e o escalonador TVM-RR, que I. INTRODUÇÃO implementa uma versão relaxada do problema de programação O AUMENTO na capacidade dos enlaces de rede, associado ao crescimento no número computadores ociosos conectados à Internet, motivou o de inteira. O primeiro tende a gerar soluções com melhor qualidade, enquanto o segundo tende a reduzir o tempo de execução para se obter um escalonamento. Essas duas desenvolvimento de soluções distribuídas para tirar proveito características devem ser levadas em consideração, dada a da disponibilidade de todo esse poder computacional, o que heterogeneidade de requisitos das aplicações e de usuários na levou à criação da “Computação em Grade” [1], um grade. Os usuários que podem esperar para ter um melhor paradigma de computação que permitiu uma nova classe de escalonamento irão usar o escalonador TVM-INT, enquanto aplicações e serviços, tais como aquelas da e-Science [2]. os usuários que precisam de um retorno rápido irão usar o Com a evolução da computação em grade, foram facilitados escalonador TVM-RR. É importante observar que, embora a outros requisitos além de poder de processamento e qualidade dos escalonamentos obtidos com o escalonador conectividade de rede, tais como sistemas operacionais, TVM-RR seja pior do que aquela obtida com o TVM-INT, o bibliotecas de software e até mesmo versões específicas de ganho em tempo de execução compensa essa desvantagem. software, ou seja, as aplicações passaram a exigir ambientes Os escalonadores propostos destinam-se a um cenário no personalizados para sua execução. Uma forma de qual o usuário acessa um middleware para submeter a disponibilizar esses ambientes é através de virtualização de aplicação que deseja executar. Um dos escalonadores TVM, hardware e software. Nesse cenário, os escalonadores de grade então, mapeia as tarefas da aplicação nos recursos instanciam máquinas virtuais (MVs) que correspondem aos computacionais disponíveis, escalonando, também, a requisitos das aplicações no momento em que elas são instanciação de MVs, a partir do repositório de MVs (VMR), submetidas [3]. 1 de tal modo que a aplicação possa ser executada no ambiente O escalonador de tarefas é responsável por definir os necessário e os resultados sejam enviados de volta para o recursos a serem utilizados por uma aplicação e o momento usuário. Este cenário é apresentado na Fig. 1. em que esses recursos serão utilizados. Com a adição de A eficácia dos escalonadores é avaliada por simulação, requisitos de software, o escalonador tem que satisfazer os considerando-se diversos cenários de rede. Os resultados requisitos, por exemplo, instanciando MVs que contenham o mostraram que os dois escalonadores são capazes de produzir software requisitado. Se um escalonador que não considere escalonamentos que usam eficientemente a infra-estrutura esses requisitos for utilizado, escalonamentos subótimos são disponível e que estes escalonamentos são produzidos dentro obtidos. de um prazo de execução curto. Como esperado, os makespans Este artigo apresenta escalonadores de Tarefas e Máquinas produzidos pelo escalonador TVM-INT são menores que os Virtuais (TVM), que escalonam MVs nos recursos da grade e produzidos pelo escalonador TVM-RR, enquanto o tempo de tarefas nestas MVs. Assim, é possível definir sistemas virtuais execução do primeiro é maior do que o do último. O restante do artigo está organizado da seguinte forma. A C. G. Chaves, Universidade Estadual de Campinas (Unicamp), Seção II resume trabalhos relacionados, a Seção III apresenta cesarchaves1@gmail.com os dois escalonadores TVM, a Seção IV explica a D. M. Batista, Universidade de São Paulo (IME-USP), batista@ime.usp.br N. L. S. da Fonseca, Universidade Estadual de Campinas (Unicamp), configuração dos experimentos realizados para avaliar o nfonseca@ic.unicamp.br desempenho dos escalonadores, a Seção V apresenta os
  2. 2. CHAVES et al.: SCHEDULING GRID APPLICATIONS 579 resultados obtidos, e a Seção VI conclui o artigo. ele não escalona tarefas, nem considera a largura de banda disponível nos enlaces da rede ao transferir imagens de MVs para os computadores da grade, como fazem os escalonadores TVM. Em [7], apresenta-se uma arquitetura para projetar sandboxes de MVs. Mostra-se que o uso de MVs facilita o desenvolvimento, a implementação e o gerenciamento de sistemas distribuídos. Embora a arquitetura em [7] reforce o uso de MVs para executar tarefas com requisitos de software, ela não especifica como as MVs ou as tarefas são escalonadas. Em nossa abordagem, os escalonadores têm a responsabilidade de escalonar as tarefas, e instanciar as MVs nos computadores apropriados conforme os requisitos das tarefas e a disponibilidade de recursos, mantendo a transparência para os usuários. Figura 1. Infraestrutura do escalonador TVM Em [8], apresenta-se um serviço de computação em batch chamado JAWS (Job-Aware Workspace Service), que separa o controle sobre o compartilhamento de recursos da execução de tarefas e gestão, enquanto delega o controle sobre o ambiente II. TRABALHOS RELACIONADOS de trabalho para o usuário. Apesar de JAWS gerenciar a Recentemente, o escalonamento de máquinas virtuais e o execução de tarefas, ele não as escalona. Em nossa escalonamento de tarefas com requisitos de software tem sido abordagem, o escalonador se encarrega de decidir como será foco de interesse, principalmente devido ao surgimento da criado o ambiente de trabalho. Desta forma, o usuário computação em nuvem [4] [5] [6] [7] [8]. apresenta a descrição da sua aplicação e aguarda o resultado Na arquitetura de grade Nova [4], as máquinas virtuais são especificado no escalonamento. criadas com antecedência para evitar um impacto negativo sobre o tempo de execução das aplicações. Embora o uso de III. ESCALONADORES PROPOSTOS MVs pré-instanciadas reduza tanto o tempo necessário para ter O objetivo dos dois escalonadores TVM é minimizar o uma MV pronta para executar uma tarefa quanto a quantidade makespan de uma aplicação de grade. As aplicações de grade de dados transferidos através da rede, tal prática consome para as quais os escalonadores TVM foram projetados são recursos. Se uma grade com uma grande disponibilidade de aquelas compostas por tarefas dependentes, e com as MVs for implementada, cada MV deverá ser instanciada em dependências descritas por Grafos Acíclicos Orientados cada computador da rede, ou a utilização de cada MV seria (DAGs). restrita a um determinado conjunto de computadores. Outras Qualquer dos dois escalonadores instancia no máximo uma arquiteturas, que usam repositórios de MVs, como os máquina virtual por tarefa, garantindo que, em um escalonadores apresentados neste trabalho, não têm estes determinado momento, cada núcleo de processamento executa requisitos, permitindo a instanciação de qualquer MV no máximo uma instância da máquina virtual e cada máquina requisitada, em qualquer computador da grade. Isso possibilita virtual executa só uma tarefa. O compartilhamento de um a execução de aplicações sem a existência obrigatória de MVs núcleo de processamento por várias MVs não é considerado ociosas. porque se mais de uma MV for executada simultaneamente no O Serviço de Escalonamento Bicriteria [5] propõe um mesmo núcleo de processamento, o poder de processamento escalonador de grade para workflows de aplicações será dividido por elas [9], fazendo com que o tempo de distribuídas, sugerindo a instanciação dinâmica de serviços execução individual seja maior. para atender as necessidades da aplicação. Ele considera o Os dois escalonadores TVM são projetados para receber compromisso entre o makespan do escalonamento e a informações sobre a disponibilidade de computadores e de quantidade de serviços dinamicamente instanciados. Embora o enlaces da grade. Esta informação é obtida por ferramentas de Serviço de Escalonamento Bicriteria seja eficaz em muitas monitoramento de recursos tais como as apresentadas em [10] situações, ele não é útil quando as tarefas de um workflow têm e [11]. Recursos incluem computadores, enlaces de rede, e demandas de software de baixo nível, tais como um sistema disponibilidade de MVs no repositório. A descrição das operacional específico ou uma versão do kernel. Os dois aplicações que serão escalonadas é fornecida pelo usuário, escalonadores apresentados, neste trabalho, evitam esse como descrito em [12]. problema usando MVs que oferecem ambientes de trabalho As informações que descrevem as aplicações são compostas isolados e personalizáveis. pelas demandas específicas de processamento, comunicação e A VMGrid (Virtual Machine Grid) [6] é um middleware de software das tarefas. grade que permite que os usuários criem ambientes de Os escalonadores TVM foram implementados como execução personalizados, especificando a necessidade de programas lineares inteiros. Os dois escalonadores diferem recursos e a configuração de software. Tais ambientes podem pela técnica de relaxação utilizada pelo escalonador TVM-RR. ser implantados em uma grade e ser controlados, iniciando, As técnicas de relaxação são usadas comumente porque parando ou reiniciando as MVs. Embora VMGrid permita aos transformam um problema linear inteiro NP-difícil em um usuários a criação de ambientes de execução personalizados, problema linear equivalente que pode ser resolvido em tempo
  3. 3. 580 IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 4, JULY 2011 polinomial. A decisão de utilizar programação linear inteira levaria um computador da rede para executar sequencialmente foi tomada devido aos bons resultados obtidos por essa técnica todas as tarefas da aplicação. Considerando-se, também, o tempo quando usada para escalonar aplicações de grade sem necessário para descarregar do repositório o arquivo da imagem demandas de software [13]. O escalonamento gerado das máquinas virtuais necessárias e inicializar estas MVs para estabelece o mapeamento de tarefas e máquinas virtuais em executar as tarefas, i.e.: computadores e enlaces de rede, de forma que as MVs satisfaçam os requisitos de software das aplicações. As tarefas = são mapeadas, a fim de se ter a melhor virtualização possível, tanto dos recursos computacionais quanto dos recursos de ′= comunicação, minimizando o makespan da aplicação. ∈ A. Formulação do programa linear inteiro = ∀ ∈ℋ + + ∈ ∈ ∈ A seguinte notação é utilizada na formulação matemática dos problemas. Em primeiro lugar são definidas as informações Para facilitar a formulação matemática do problema, são referentes à aplicação submetida sob a representação de um definidos os seguintes conjuntos: = {1, … , } é o conjunto de DAG: tarefas da aplicação; ℋ = {1, … , } é o conjunto de • n: número de tarefas ( ∈ ℕ); computadores da nuvem e = {1, … , } é o conjunto de • : demanda de processamento da tarefa i, expressa como o máquinas virtuais no repositório. número de instruções a serem processadas ( ∈ ℝ ); A formulação dos escalonadores TVM considera intervalos • : identificador da MV que contém o software requerido discretos de tempo e trata o escalonamento como um problema de pela tarefa i ( ∈ ℕ); programação linear inteira. Por isso, a linha temporal discreta da • , : quantidade de dados transmitidos entre a tarefa i e a execução da aplicação é definida por = {1, … , }. Embora tarefa j ( , ∈ ℝ ); a discretização de tempo implique em aproximação e, • : conjunto de arcos {ij : i < j e existe um arco do vértice i consequente perda de precisão, em algumas circunstâncias, isto ao vértice j no DAG}; pode não ser significativo e a diminuição no tempo de execução Os recursos da grade composta por máquinas e enlaces de rede pode compensar essa perda, quando comparado com um têm as seguintes características: escalonador correspondente que assuma uma linha de tempo • m: número de computadores ( ∈ ℕ); contínua. O problema de programação inteira fornece o • : número de núcleos de processamento do computador k escalonamento através das seguintes variáveis: ( ∈ ℕ); • , , : Variável binária que assume o valor 1 se a tarefa i • : tempo que o computador k leva para executar 1 termina sua execução no instante de tempo t no instrução, expresso em segundos ( ∈ ℝ ); computador k; caso contrário, assume o valor 0; • : tempo necessário para transmitir uma unidade de • , , : Variável binária que assume o valor de 1 se a dados sobre o enlace que conecta o repositório de MVs e o máquina virtual v está pronta para ser utilizada no tempo t computador k, expresso em segundos ( ∈ ℝ ); no computador k; caso contrário esta variável assume o • , : tempo necessário para transmitir uma unidade de valor 0; dados pelo enlace que conecta o computador k e o O problema de programação linear inteira foi formulado da computador l, expresso em segundos ( , ∈ ℝ ); seguinte maneira: • Ɲ: conjunto {kl: o computador k está conectado ao computador l}. Em particular, kk ∈ Ɲ para todo : , , , : computador k e se kl ∈ Ɲ então lk ∈ Ɲ; ∈ ∈ℋ • δ(k): conjunto de computadores conectados ao computador k na grade, incluindo o próprio computador k. ( 1) , , =1 Os dados relacionados ao ambiente virtual são armazenados ∈ ∈ℋ nas seguintes variáveis: ∀ ∈ ; • o: número de máquinas virtuais existentes no repositório ( ∈ ℕ); • : software disponível na máquina virtual v ( ∈ ℕ); ( 2) = 0; , , • : tamanho da maquina virtual v em Megabytes ∈ ∈ℋ ( ∈ ℝ ); • : tempo de inicialização da maquina virtual v, expresso , , em segundos ( ∈ ℝ ); ( 3) , , ≥ , , É importante considerar que a execução paralela de uma ∈ ( ) aplicação de grade deve demorar menos tempo do que a execução serial em um único computador. Caso contrário, não há benefício ∀ , ∈ , ∈ , ∈ ℋ, ∈ ; na execução da aplicação na grade. Para evitar isso, o tempo máximo de execução de uma aplicação ( ) deve ser establecido. Por isso, é definido como o menor tempo que
  4. 4. CHAVES et al.: SCHEDULING GRID APPLICATIONS 581 as variáveis do problema de programação inteira, x e y, assumem ( 4) ≥ unicamente valores binários. , , ∈ : ∀ ∈ ℋ, ∈ ; B. O escalonador TVM-INT O escalonador TVM-INT é apresentado no Algoritmo 1. O ( 5) ≥ programa linear inteiro é executado e retorna um escalonamento , , exato em que cada tarefa está mapeada em um único computador. ∈ ∀ ∈ ℋ, ∈ ; A precisão dos resultados obtidos utilizando uma formulação de programação linear inteira depende da largura do intervalo utilizado na discretização nesse da linha do tempo. Quanto maior o intervalo, mais rápida a execução, porém, menor é a precisão do ( 6) , , = 0; resultado. A fim de recalcular os valores de tempo para que a ∈ ∈ℋ precisão do escalonamento seja melhorada, o Algoritmo 2 é executado, ajustando os valores de tempo do escalonamento ( 7) ( , , × ) ≥ , , inicial. ∈ ∈ : ∈ ∀ ∈ ℋ, ∈ ; C. O escalonador TVM-RR O escalonador TVM-RR é apresentado no Algoritmo 3. Em ( 8) , , ≥ , , ×( + 1) primeiro lugar, executa-se o programa linear inteiro com um [ ] relaxamento das variáveis de decisão. A relaxação de uma ∀ ∈ , ∈ , = , ∈ ℋ, formulação de tempo discreto consiste em alterar o conjunto {0,1} das restrições em (C9) e (C10) para o intervalo [0, 1]. ∈ { + 1, … , }; Por conseguinte, ao invés de retornar o escalonamento da ( 9) , , ∈ {0,1} aplicação, o programa linear inteiro relaxado retorna a probabilidade de que cada tarefa seja mapeada em cada ∀ ∈ , ∈ ℋ, ∈ ; computador da grade. Conseqüentemente, os valores das probabilidades são utilizados para guiar os sorteios que ( 10) , , ∈ {0,1} definem se um computador deve ou não instanciar uma MV e ∀ ∈ , ∈ ℋ, ∈ ; executar a tarefa que a requer. Assim como no escalonador TVM-INT, o escalonador TVM-RR executa o Algoritmo 2, para recalcular os valores de tempo de modo que a precisão do Os grupos de restrições de (C1) até (C4) estão relacionados escalonamento seja melhorada. Os sorteios e o Algoritmo 2 com o escalonamento de tarefas em computadores. As restrições são executados P vezes e o escalonamento com o menor em (C1) especificam que toda tarefa deve ser executada em makespan é escolhido. P deve ser definido de forma a algum momento e em um único computador. A restrição em (C2) aumentar as chances de obter um bom escalonamento. O determina que a tarefa j não pode terminar até que todas suas tempo de execução do escalonador TVM-RR aumenta instruções tenham sido executadas no computador k. As restrições proporcionalmente ao valor de P. em (C3) estabelecem que uma tarefa j não pode iniciar a sua execução até que todas as tarefas que a precedem tenham Algoritmo 1 Escalonador TVM-INT terminado e os dados resultantes tenham chegado ao computador Entrada: IP: formulação do programa linear inteiro. onde será executada a tarefa j. As restrições em (C4) estipulam Saída: O escalonamento de em e o escalonamento das MVs que o número de tarefas em execução em um computador k em um tempo t não pode exceder o número de núcleos de necessarias de em . 1: Execute a IP processamento de k. Os grupos de restrições (C5) e (C6) são relacionadas ao escalonamento de máquinas virtuais em 2: Seja o escalonamento resultante de em para a IP, onde = computadores. As restrições em (C5) especificam que o número , e , =∑ ∈ , , ,∀ ∈ , ∈ 3: Execute o Algoritmo 2. de máquinas virtuais rodando em um computador k em um tempo 4: Retorne o escalonamento t não pode exceder o número de núcleos de processamento de k. A restrição em (C6) determina que uma máquina virtual v não pode ser utilizada até que tenha sido instanciada no computador k, Algoritmo 2 Aprimorador de escalonamentos Entrada: : Computador que executará a tarefa . e tenha sido iniciada. : Tempo discreto da conclusão ta execução da tarefa de acordo Os grupos de restrições de (C7) até (C8) referem-se à relação com o mapamento atual. entre tarefas e máquinas virtuais. As restrições em (C7) : MV que executará a tarefa . estabelecem que uma máquina virtual só pode ser instanciada em : Tempo requerido para transferir o arquivo de imagem da MV um computador se, e somente se, o computador irá executar uma para o computador . tarefa que requer essa máquina virtual. As restrições em (C8) : Tempo requerido para iniciar no computador . estipulam que uma máquina virtual deve permanecer ativa por Saída: Escalonamento continuo de em alem do escalonamento um período não inferior ao tempo de execução das tarefas que das MVs necessarias de em . ′ vão usá-la. Os grupos de restrições (C9) e (C10) especificam que : Tempo de conclução de cada tarefa no escalonamento continuo.
  5. 5. 582 IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 4, JULY 2011 : Tempo no qual torna-se disponível. IV. AVALIAÇÃO DE DESEMPENHO : Tempo no qual torna-se indisponível. Para avaliar o desempenho dos escalonadores, os mesmos 1: ← + cenários de [13] foram utilizados, adicionando um repositório 2: ′ ← + de máquinas virtuais (RMV) e dependência de software para 3: ← ′ as tarefas. As grades simuladas foram representadas por grafos 4: enquanto exista uma tarefa em que ainda não tenha sido escalonada faça que descrevem a topologia da rede composta pelos recursos 5: Seja um tempo de inicio viável para a tarefa , onde ← + compartilhados. Os vértices dos grafos representam os computadores e as arestas representam os enlaces de rede. A 6: para cada tarefa ∈ , faça topologia de rede das grades foi gerada utilizando o método de 7: se = and ( ) ( ) então Doar-Leslie [14], um método para gerar topologias de rede 8: se a tarefa já tem sido escalonada então similares àquelas formadas por recursos na Internet. O método 9: se = então Doar-Leslie recebe três parâmetros de entrada: m, a 10: ← ′ quantidade de computadores na rede, β, a conectividade de 11: senão rede (o grau da rede) dos computadores, e α, a relação entre a 12: ← ( , ′, ) quantidade de enlaces com a maior largura de banda e a 13: fim se quantidade de enlaces com a menor largura de banda. Na 14: senão medida em que o valor de α se aproxima de 1, aumenta a 15: Deixe o escalonamento da tarefa para depois probabilidade de que os valores da média e a mediana da 16: fim se largura de banda sejam iguais. 17: senão se a tarefa depende da tarefa então Para avaliar o desempenho dos escalonadores propostos foi 18: se a tarefa já foi escalonada então utilizada uma aplicação de processamento de imagens 19: ← ( , ′+ , , ) normalmente executada em grades, conforme ilustrado na Fig. 20: senão 2 [12] [15]. Cada nó do grafo representa uma tarefa, 21: Deixe o escalonamento da tarefa para depois identificada por um número fora dos colchetes. Os dois 22: fim se números entre colchetes representam, respectivamente, a 23: fim se quantidade de instruções que serão executadas quando a tarefa 24: fim para 25: se foi encontrado um tempo de inicio para a tarefa então for executada e a identificação da máquina virtual que satisfaz 26: ′ ← + os requisitos de software da tarefa. O peso dos arcos 27: ← representa a quantidade de dados a serem trocados pelas 28: ← ′ tarefas. 29: senão 30: Deixe o escalonamento da tarefa para depois 31: fim se 32: fim enquanto 33: Retorne o escalonamento Algoritmo 3 Escalonador TVM-RR Entrada: IP: formulação do programa linear inteiro. Figura 2. Aplicação para processamento de imagens de 8 : quantidade de sorteios. tarefas. Saída: O escalonamento de em e o escalonamento das MVs necessárias de em . 1: Execute a IP relaxada como um programa linear Os pesos das arestas do DAG na Fig. 2 foram sorteados no 2: Seja o escalonamento resultante de em para a IP, onde intervalo [4,5], enquanto o peso dos vértices no intervalo = , [45,53]. Os requisitos de software foram gerados 3: para vezes faça 4: para cada tarefa ∈ ∈ faça aleatoriamente, seguindo uma distribuição uniforme para 5: Seja , a probabilidade de mapear a tarefa no coincidir com uma das 10 imagens de MV no repositório. É do computador , considere somente os computadores vizinhos conhecimento dos autores que uma informação estatística que dos que estão executando as tarefas das quais a tarefa tem descreva a distribuição de requisitos de software de uma dependência. aplicação não está disponível na literatura. Informações 6: Aleatoriamente selecione um computador para executar a relativas ao tamanho das imagens das MVs foram obtidas a tarefa , se basando na probabilidade de mapeamento. partir de [16], variando de 50MB a 305MB, ou seja, uma 7: fim para média de tamanho de 108.5MB com um desvio padrão de 8: Execute o Algoritmo 2. 79,46. Ao avaliar o TVM-RR, diferentes valores de P foram 9: Salve o escalonamento se ele tem um menor que testados e o valor 10 foi escolhido devido aos resultados os anteriores. 10: fim para preliminares obtidos e ao tempo necessário para adquirí-los. 11: Retorne o escalonamento encontrado. Os escalonadores foram implementados na linguagem C utilizando o software Fico Xpress Otimization Suite 7 [17] para resolver o problema de programação linear inteira. Todos
  6. 6. CHAVES et al.: SCHEDULING GRID APPLICATIONS 583 os programas foram executados em um computador equipado com um processador Dual Xeon de 2GHz com 4MB de cache L2, 4GB de RAM e o sistema operacional Debian GNU/Linux 5.0. Foram realizados três conjuntos de experimentos, variando: i) o número de computadores na grade (m), ii) a conectividade da rede (probabilidade β), e iii) a distribuição da largura de banda da rede (probabilidade α). Se não estiver indicado de outra forma, os parâmetros utilizados para gerar o grafos da grade são: m=50, α=0.9 e β=0.5. A taxa de processamento dos computadores segue uma função de distribuição de probabilidade uniforme no intervalo (0.4,2]. A capacidade dos enlaces da rede foi variada no intervalo (0,5], de acordo com o método Doar-Leslie. Duas métricas foram avaliadas, o makespan da aplicação quando escalonada com um dos escalonadores propostos e o Figura 3. Makespan vs quantidade de computadores. tempo de execução requerido pelo escalonador para gerar o escalonamento. É esperado que o escalonador TVM-INT A Fig. 4 mostra o tempo necessário para escalonar a consiga makespans melhores, porém, tempos de execução aplicação em função da quantidade de computadores. Ambos maiores, quando comparado com o escalonador TVM-RR. os escalonadores precisam de um tempo maior para gerar um escalonamento proporcional ao aumento da quantidade de V. RESULTADOS NUMÉRICOS computadores na grade. Para uma quantidade de máquinas Nesta seção, são comparados os makespans dos inferior a 120, o escalonador TVM-RR leva menos tempo, isto escalonamentos produzidos pelos dois escalonadores é devido ao relaxamento das restrições. utilizando os experimentos explicados na secção IV, bem como o tempo de execução requerido pelos escalonadores para produzí-los. O makespan dos escalonamentos gerados também foi comparado com a de uma execução serial ( ). Os pontos no gráfico correspondem a um valor médio de execuções e um intervalo de confiança de 95% (o intervalo de confiança é necessário porque o escalonador TVM-RR foi executado 10 vezes para cada um dos cenários). Os resultados são resumidos nos gráficos das Fig. 3 à Fig. 8, correspondendo dois para cada um dos três conjuntos de experimentos, um dos gráficos com três curvas ilustrando os makespans e outro com duas representando os tempos de execução. A curva representa ao tempo de execução serial da aplicação. As curvas "Makespan (TVM-INT)" e "Makespan (TVM-RR)" mostram, respectivamente, o makespan dos escalonamentos produzidos pelos escalonadores TVM-INT e TVM-RR. As curvas "Tempo de execução (TVM-INT)" e "Tempo de execução (TVM-RR)" mostram, Figura 4. Tempo de execução vs quantidade de computadores. respectivamente, o tempo de execução dos escalonadores TVM-INT e TVM-RR. A Fig. 3 mostra o makespan da aplicação em função do A Fig. 5 mostra o makespan da aplicação em função da número de computadores. Conforme aumenta a quantidade de probabilidade β. Na medida em que a rede tem mais conexões computadores, as chances de se ter computadores mais entre os computadores, a chance de ter melhores adequados para execução das tarefas aumenta, portanto, uma computadores adjacentes também aumenta. Desta forma, o ligeira redução do makespan pode ser observada para ambos makespan dos dois escalonadores diminui. Os makespans os escalonadores (as duas curvas inferiores do gráfico). Os gerados pelos escalonadores TVM diferem pouco, porém, uma resultados obtidos nos cenários com 180 e 200 hosts mostram diferença maior pode ser observada quando são comparados uma makespan alto. Isso é explicado pelo fato de que como a com uma execução serial (A curva na parte superior do quantidade de computadores é incrementada, mais memória é gráfico). necessária para resolver o programa linear inteiro. Quando a A Fig. 6 mostra o tempo necessário para escalonar a grade tem mais que 170 hosts, a memória do computador aplicação em função da probabilidade β. Para a maioria das utilizado para os experimentos é insuficiente. É importante situações, é preferível usar o escalonador TVM-RR, ao invés observar que a falta de memória para executar o escalonador do TVM-INT devido ao menor tempo de execução. TVM-INT apresenta falta de memória ocorre para um número maior de cenários do que o escalonador TVM-RR, devido ao relaxamento das restrições.
  7. 7. 584 IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 4, JULY 2011 Figura 8. Tempo de execução vs α. Figura 5. Makespan vs β. É possível concluir que ambos, o escalonador TVM-INT e o TVM-RR, geram escalonamentos com um makespan menor que o da execução serial. Mesmo que os makespans obtidos com o escalonador TVM-INT sejam menores que os obtidos pelo TMV-RR. Em alguns casos, é mais conveniente usar o escalonador TVM-RR, devido ao menor tempo de execução requerido. VI. CONCLUSÕES Máquinas virtuais podem ser usadas para construir ambientes de trabalho personalizados para satisfazer os requisitos de software de aplicações. Um dos maiores desafios é escalonar tarefas em computadores e alocar as MVs necessárias neste computador, de forma que a aplicação possa ser executada com um makespan pequeno. Este trabalho apresenta dois escalonadores, o TVM-INT e o TVM-RR, que Figura 6. Tempo de execução vs β. são capazes de lidar com este desafio. O escalonador TVM- INT procura um escalonamento com o menor makespan, A Fig. 7 mostra o makespan em função da probabilidade α. enquanto o TVM-RR procura um escalonamento ideal em um Os dois escalonadores obtêm escalonamentos com makespans menor tempo de execução. inferiores ao da execução serial. O TVM-INT obtém Trabalhos futuros envolvem a implementação de uma makespans ainda menores do que o TVM-RR, o que é interface que recebe um DAG de aplicação e a disponibilidade compensado pelo tempo necessário para escalonar a aplicação, de recursos da grade e modifica o DAG da aplicação, como é mostrado na Fig. 8. adicionando tarefas que representam a instanciação de MVs, criando, assim, um DAG que pode ser escalonado por escalonadores de tarefas tradicionais. REFERÊNCIAS BIBLIOGRÁFICAS [1] Foster, “What is the Grid? A Three Point Checklist,” GRIDToday, vol. 1, no. 6, July 2002. [2] D. P. Anderson, D. Werthimer, E. Korpela, J. Cobb, M. Lebofsky, R. Bankay, and K. Douglas, “Seti@home,” University of California, Berkley, http://setiathome.berkeley.edu/ Accessed at 30 Jul 2010. [3] R. J. O. Figueiredo, P. A. Dinda, and J. A. B. Fortes, “A Case For Grid Computing On Virtual Machines,” in ICDCS, 2003, pp. 550– 559. [4] S. Sundarrajan, H. Nellitheertha, S. Bhattacharya, and N. Arurkar, “Nova: An Approach to On-Demand Virtual Execution Environments for Grids,” in 6th IEEE CCGRID, May 2006, pp. 544–547. [5] L. F. Bittencourt, C. R. Senna, and E. R. M. Madeira, “Bicriteria Service Scheduling with Dynamic Instantiation for Workflow Figura 7. Makespan vs α. Execution on Grids,” in 4th GPC, May 2009, pp. 177–188. [6] S. Wu, W. Zhu, W. Jiang, and H. Jin, “VMGrid: A Virtual Machine Supported Grid Middleware,” in IEEE GrC, Aug. 2008, pp. 676– 679.
  8. 8. CHAVES et al.: SCHEDULING GRID APPLICATIONS 585 [7] D. Wolinsky, A. Agrawal, P. Boykin, J. Davis, A. Ganguly, V. Universidade Estadual de Campinas, onde, é, atualmente, chefe do Paramygin, Y. Sheng, and R. Figueiredo, “On the Design of Virtual departamento de Sistemas de Computação. Exerce o cargo de Editor-in-Chief Machine Sandboxes for Distributed Computing in Wide-area do periódico IEEE Communications Surveys and Tutorials. Foi EiC do IEEE Overlays of Virtual Workstations,” in VTDC, Nov. 2006, pp. 8–8. Communications Society Newsletter e do Global Communications Newsletter. [8] L. Grit, D. Irwin, V. Marupadi, P. Shivam, A. Yumerefendi, J. Exerceu o cargo de Director for Latin America Region da IEEE Chase, and J. Albrecht, “Harnessing Virtual Machine Resource Communications Society e é membro eleito do Board of Governors desta Control for Job Management,” in VTDC, 2007. Sociedade. Foi também Director for On-Line Service da ComSoc e Chair de [9] B. Lin and P. A. Dinda, “Towards Scheduling Virtual Machines dois comitês técnicos. Criou a conferência IEEE Latin America Conference Based On Direct User Input,” in VTDC. IEEE Computer Society, on Communications e iniciou a série de simpósios em Multimedia Services and Apllications nas conferências IEEE Globecom e IEEE ICC. Atua em 2006, p. 6. diversas sub-áreas em redes de computadores, tais como: controle e [10] M. L. Massie, B. N. Chun, and D. E. Culler, “The Ganglia modelagem de tráfego, redes ópticas, redes sem fio e video streaming. Distributed Monitoring System: Design, Implementation, and Experience,” Parallel Computing, vol. 30, no. 7, pp. 817–840, 2004. [11] X.-H. Sun and M. Wu, “Grid Harvest Service: A System for Long- Term, Application-Level Task Scheduling,” IEEE IPDPS, p. 25a, 2003. [12] L. Renambot, T. van der Schaaf, H. E. Bal, D. Germans, and H. J. W. Spoelder, “Griz: Experience with Remote Visualization over an Optical Grid,” FGCS, vol. 19, no. 6, pp. 871–882, Aug 2003. [13] D. M. Batista, N. L. S. da Fonseca, F. K. Miyazawa, and F. Granelli, “Self-Adjustment of Resource Allocation for Grid Applications,” Com. Net., vol. 52, pp. 1762–, 2008. [14] M. Doar and I. M. Leslie, “How Bad is Na¨ıve Multicast Routing?” in IEEE INFOCOM’93, Mar 1993, pp. 82–89. [15] C. R. Senna, L. F. Bittencourt, and E. Madeira, “Execution of Service Workflows in Grid Environments,” in TridentCom, Apr 2009, pp. 1–10. [16] S. Bellwood, “Some VMWare Images,” http://www.thoughtpolice.co.uk/vmware/ Accessed at 30 Jul 2010. [17] “Fico Xpress Optimization Suite 7,” FICO, 2010, http://www.fico.com/en/Products/DMTools/Pages/FICO-Xpress Optimization-Suite.aspx Accessed at 30 Jul 2010. Cesar Giovanni Chaves Arroyave (GSM’10) nasceu em Popayán, Colômbia, em 30 de novembro de 1982. Possui graduação em engenharia de sistemas pela Universidad Cooperativa de Colombia (UCC) da mesma cidade em 2004. Ele é atualmente estudante de mestrado em ciência da computação no Instituto de Computação da Universidade Estadual de Campinas (UNICAMP), Brasil e tem afiliação com o Laboratório de Redes de Computadores (LRC) na mesma universidade. Seus interesses de pesquisa são computação em nuvem, computação em grade, virtualização e escalonamento de tarefas e máquinas virtuais. Daniel Macêdo Batista possui graduação em Ciência da Computação pela Universidade Federal da Bahia (2004), mestrado em Ciência da Computação pela Universidade Estadual de Campinas (2006) e doutorado em Ciência da Computação também pela Universidade Estadual de Campinas (2010). Em 2007 teve a sua dissertação de mestrado premiada com a segunda colocação no XIV Concurso Latinoamericano de Teses de Mestrado, organizado pelo Centro Latinoamericano de Estudios En Informatica. Desde fevereiro de 2011 é professor doutor do Departamento de Ciência da Computação da Universidade de São Paulo (USP). Sua área de pesquisa é Redes de Computadores e os principais temas de pesquisa são análise de desempenho, engenharia de tráfego, grades, nuvens e virtualização. Nelson Luis Saldanha da Fonseca possui graduação em Engenharia Elétrica com ênfase em sistemas pela Pontifícia Universidade Católica do Rio de Janeiro (1984), mestrado em Ciência da Computação pela PUC-Rio (1987), Master In Computer Engineering - University of Southern California (1993) e PhD in Computer Engineering - University of Southern California (1994). Obteve o título de Livre Docente em Redes de Computadores pela Universidade Estadual de Campinas (Unicamp) em 1999. É professor titular da

×