• Nenhum resultado encontrado

Este capítulo descreve o funcionamento do grid considerado neste trabalho e apresenta os componentes adicionados pela solução de escalonamento proposta. Para entender melhor o funcionamento do escalonador é necessário primeiro entender como funciona o grid. A seção 5.1 explica em detalhes o funcionamento do tipo de grid explorado neste trabalho enquanto a seção 5.2 apresenta uma visão geral da arquitetura e seus componentes.

5.1 Infraestrutura e Funcionamento do Grid

Conforme discutido no capítulo 2, existem diversos tipos distintos de grids. O modelo de grid considerado neste trabalho possui como referência o WLCG – grid do projeto LHC. Desta forma, considera-se que um grid é composto de diversos sítios geograficamente distribuídos que fornecem recursos para a execução das tarefas do grid. Normalmente, essas tarefas compõem workflows ou lotes de produção.

O número de tarefas em execução no grid depende em muito do funcionamento do experimento ou detector. Ou seja, durante períodos de produção, os detectores estão em funcionamento pleno, realizando a coleta de dados. Os dados coletados vão para a análise in-silico (nos computadores), sendo submetidos ao grid computacional como um conjunto ou lote de tarefas.

À medida que as tarefas são submetidas para a execução, cada uma delas precisa ser destinada ao sítio em que será executada, dando início ao processo de escalonamento. Pode-se afirmar que o escalonamento de um lote de tarefas neste modelo de grid ocorre em dois níveis: global (no âmbito do grid) e local (no âmbito do sítio).

Essa visão hierárquica do escalonamento explica-se através da própria infraestrutura do grid. Cada sítio do grid executa um sistema de gerência de filas (por exemplo: Torque PBS) associado a um escalonador de jobs (por exemplo: maui), normalmente, este último baseia suas escolhas em filas de prioridades. O conjunto instalado (PBS com escalonador) em um sítio é responsável pela execução das tarefas do grid (geradas pelos experimentos) que chegam nesse sítio, bem como das tarefas geradas no próprio sítio. Entretanto, antes da tarefa ser submetida ao escalonador do sítio (local), ela precisa passar pelo escalonador do grid (global). Este último irá decidir

34

para qual sítio a tarefa será designada. Ou seja, em um primeiro momento, o escalonador global escolhe para qual recurso do sítio a tarefa será destinada. Como já foi dito, essa escolha considera aspectos do grid tais como balanceamento de carga e throughput; e também considera aspectos do sítio. Chegando ao recurso escolhido, a tarefa do grid é colocada em uma ordem de execução definida pelo escalonador local, considerando também possíveis tarefas geradas no próprio sítio.

A infraestrutura e o comportamento do escalonador demonstram a característica autônoma dos sítios que operam no grid, ratificando assim, a dificuldade de uma possível aplicação da técnica de DVS, conforme discutido na seção 2.4.

Dentre os níveis de escalonamento citados anteriormente, o que ocorre no âmbito global é objeto de interesse deste trabalho. Sendo assim, as estratégias de alocação apresentadas no capítulo 6 concentram-se em determinar em que recursos e sítios as tarefas submetidas ao grid irão executar. O escalonamento em nível global do grid também é conhecido na literatura como meta-escalonamento.

A partir da compreensão do funcionamento do grid, algumas conclusões podem ser tiradas:

(i) Os recursos usados pelo grid são “dedicados”, não no sentido de exclusividade ao grid, mas pelo fato das máquinas estarem sempre disponíveis (ligadas);

(ii) Os períodos de produção indicam que o grid, em sua visão global, passa por momentos de baixa e alta carga de trabalho, consumindo assim, menores e maiores quantidades de energia, respectivamente.

Considerando a conclusão apontada pelo item (i), sabe-se que o grid WLCG realiza medições sobre a disponibilidade dos recursos de seus sítios (DECEMBER/2011, [S.d.]). Além disso, os administradores dos sítios são constantemente cobrados no caso em que a disponibilidade atinge um patamar abaixo do esperado. A afirmação (ii) é corroborada pelos dados sobre o número de jobs executados nos últimos 3 meses em um experimento do WLCG, conforme mostra o gráfico exibido na Figura 2 (DIRAC, [S.d.]).

As conclusões (i) e (ii) são resultantes de características do modelo de grid considerado neste trabalho. Tais afirmações servem de base para as estratégias de alocação que visam à redução do consumo de energia do grid.

35

Figura 2: Número de jobs executados entre 01-12-2011 e 01-03-2012

5.2 Visão Geral da Arquitetura

Esta seção descreve os componentes que fazem parte da solução de escalonamento desenvolvida neste trabalho. A Figura 3 representa uma visão geral da arquitetura do grid incluindo os componentes envolvidos com as políticas de computação verde.

Na Figura 3 são exibidos três sítios (A, B e C), os quais representam instituições geograficamente distribuídas que colaboram entre si por meio de um grid. Tal cenário ajuda a descrever a infraestrutura do grid, onde cada sítio compartilha recursos de armazenamento (RAs) e recursos de execução (REs).

Os sítios devem ainda publicar informações sobre seus recursos, incluindo dados referentes à eficiência energética dos mesmos, conforme definido na seção 4.3. Essas informações são publicadas através do SI (Sistema de Informação) e estão disponíveis aos serviços do grid.

LT (Lote de Tarefas) representa um conjunto de tarefas submetidas ao grid através de ferramentas que compõem a parte cliente do mediador utilizado pelo grid (gLite para o WLCG). Essas tarefas são geradas a partir de usuários do grid ou advêm

36

de seus experimentos (os detectores ATLAS, CMS, ALICE e LHCB) conforme é mostrado na parte superior direta da Figura 3.

Figura 3: Visão geral da arquitetura proposta

O passo seguinte à geração das tarefas é a submissão de LT ao grid por meio de um Resource Broker (RB). Conforme discutido na seção 3.2, RB é o serviço responsável por fazer a análise dos recursos disponíveis do grid e selecionar aquele que executará a próxima tarefa do lote. Em se tratando da arquitetura proposta neste trabalho, tem sido proposto o RB Verde cujo objetivo é fazer a alocação dos recursos disponíveis às tarefas do lote de modo a reduzir o consumo de energia do grid como um todo. RB Verde apresenta-se na parte inferior direita da Figura 3, sendo composto de dois elementos principais: o Analisador Verde e o Escalonador Verde. Esses elementos são mais bem detalhados nas seções apresentadas a seguir.

Cabe salientar ainda que para facilitar o entendimento, a arquitetura representada pela Figura 3 possui apenas três sítios e um único RB – o RB Verde. Entretanto, considerando um grid de escala global em produção, sabe-se que a dimensão seria muito maior. No caso do grid WLCG, por exemplo, existem mais de 200 sítios em operação. Em casos desse tipo, por questões de redundância e para evitar sobrecargas, normalmente, existe mais de um RB em operação, atendendo a regiões geográficas distintas.

37 5.2.1 Analisador Verde

O Analisador Verde é o componente responsável por reunir informações referentes à eficiência energética dos recursos e perfis das tarefas. Conforme discutido no capítulo 4, tais informações baseiam-se em métricas obtidas a partir de benchmarks de domínio público.

A conduta para a obtenção das métricas estabelecidas no modelo consiste na execução, em cada sítio, dos benchmarks utilizados pelo escalonador. Os resultados obtidos, por sua vez, devem ser publicados pelos respectivos sítios através do SI. Dessa maneira, os RB Verdes, responsáveis pela implementação de políticas de computação verde, poderão definir a estratégia de escalonamento a ser adotada a partir da analise dos resultados dos benchmarks.

Conforme pode ser visto na Figura 3, o Analisador Verde não apenas coleta informações sobre recursos e tarefas, mas também é responsável por produzir ranques dos mesmos. Tais ranques correspondem a listas ordenadas de recursos e tarefas baseadas nas métricas definidas para o procedimento de execução de acordo com a estratégia escolhida pelo Escalonador Verde.

Sendo assim, o Analisador Verde disponibiliza informações que servem de entrada para o Escalonador Verde. E por outro lado, o Escalonador Verde determina o tipo de ranque de acordo com a política de computação verde adotada. Esta interação mútua entre os componentes do RB Verde é explicitada pela seta de sentido duplo presente na Figura 3.

5.2.2 Escalonador Verde

Este componente é responsável pelo processo de alocação de recursos em si. Ou seja, sua função principal é implementar os algoritmos das estratégias de escalonamento propostas neste trabalho. Para cumprir tal objetivo, o Escalonador Verde acessa os dados disponibilizados pelo Analisador Verde, conforme mencionado na seção anterior.

A Figura 3 apresenta, a titulo de ilustração, o algoritmo HGreen como política de computação verde utilizada pelo escalonador. Entretanto, outras estratégias de escalonamento também podem ser adotadas. A arquitetura provê um esquema genérico através do qual o escalonador poderá selecionar dentre várias estratégias de escalonamento. Além disso, é possível acrescentar novas estratégias de escalonamento a qualquer momento, bastando para isso apenas estender uma classe que implementa o algoritmo. Essas estratégias são discutidas em mais detalhe no Capítulo 6.

38

Capítulo 6 – Estratégias de Alocação de Recursos: aplicação

Documentos relacionados