A submissão de trabalhos em infra-estruturas locais é normalmente efectuada com re- curso ao escalonador global da infra-estrutura de Grid Computing (o super-escalonador). O utilizador submete inicialmente o trabalho ao escalonador global que posteriormente distribui o trabalho em causa para um recurso local. Assim, os trabalhos passam por filas em dois diferentes níveis, a primeira quando são submetidos, e o segundo quando são atribuídos a um determinado recurso local (este recurso local pode ser uma máquina específica num Cluster por exemplo.
Na Figura2.8está representado um exemplo de um escalonador global (global sche-
duler) e N recursos (Resource A a Resource N).
Nas subsecções seguintes é apresentado uma descrição de tecnologias de Grid Compu- tingexistentes nas infra-estruturas da Faculdade de Engenharia da Universidade do Porto, nomeadamente gLite e Globus.
Estado da Arte
Figura 2.8: Exemplo de uma infra-estrutura de Grid com um escalonador global e recursos [3]
2.4.7 gLite
O gLite [23] consiste de um conjunto de componentes desenhados com o objectivo de
construir uma infra-estrutura de Grid Computingpara partilha de recursos desenvolvido pelo projecto Enabling Grids for E-sciencE16.
A implementação de Grid Computing do gLite é baseada em 4 conceitos centrais [24]:
Computing Element (CE) - o CE representa um conjunto de recursos computacionais
locais, nomeadamente um Cluster.
Storage Element (SE) - elemento que fornece acesso a recursos de armazenamento de
dados.
Information Service(IS) - através do IS é efectuada a pesquisa de recursos, sendo este responsável por fornecer informação acerca dos recursos e do seu estado.
Workload Management System (WMS) - o propósito do WMS é receber os trabalhos
dos utilizadores, efectuar a atribuição do CE mais apropriado, gravar o estado dos trabalhos e obter os resultados finais.
No que respeita ao Computing Element (elemento com maior relevância para este trabalho) este consiste de 3 componentes:
Grid Gate - interface genérica para o Cluster que efectua a recepção dos trabalhos e faz a respectiva submissão para o LRMS.
16Projecto Europeu de Grid Computing que fornece infra-estruturas computacionais para investigadores de todo o
mundo em diversos campos das ciências e engenharias. O gLite é gratuito e de código fonte aberto. Mais informações disponíveis no sitehttp://www.eu-egee.org
Local Resource Management System - componente responsável por efectuar o envio dos trabalhos para execução nos Worker Nodes.
Worker Nodes - nós do Cluster onde são executadas os trabalhos dos utilizadores. Actualmente existem duas implementações diferentes para a interface genérica, o LHC
Computing GridCE e o gLite CE. Quanto aos LRMS são suportados os seguintes gestores
de recursos: OpenPBS, PBSPro, Load Sharing Facility, Torque, BQS, Condor e Sun Grid Engine.
Toda a documentação e software do gLite está disponível gratuitamente no site do
projecto emhttp://glite.web.cern.ch/.
A versão actual do gLite (3.2) é somente suportada em Linux nas seguintes distribui- ções:
• Scientific Linux 4 • Scientific Linux 5 • Debian 4
2.4.8 Globus Toolkit
O Globus Toolkit [15, 14] é um conjunto de serviços e bibliotecas de software para infra-estruturas Grid e aplicações de Grid com código fonte e arquitectura aberta supor- tado por uma comunidade livre. O Globus lida com as questões de segurança, pesquisa de informação, gestão de recursos, gestão de dados, comunicação, detecção de falhas e por- tabilidade. Os seus mecanismos são utilizados em centenas de sites por muitos projectos de Grid Computing em todo o mundo.
O Globus Toolkit [4] inclui software para segurança, infra-estruturas de informação, gestão de recursos, gestão de dados, comunicação, detecção de falhas, e portabilidade. É combinado com um conjunto de componentes que podem ser usados isoladamente ou em conjunto para desenvolver aplicações. Os principais serviços, interfaces e protocolos do
Globus permitem aos utilizadores aceder a recursos remotos como se estivessem local-
mente e, ao mesmo tempo, manter o controlo local sobre quem pode e quando utilizar os recursos.
A modularidade do Globus Toolkit é uma das suas grandes vantagens. Cada com- ponente do Globus pode ser instalado e usado independentemente dos restantes. Cada componente fornece um conjunto de serviços que estão agrupados em 4 áreas:
Componentes de Gestão de Dados - componentes que lidam com a localização, trans- ferência e gestão de dados distribuídos (p.ex. GridFTP e RFT).
Estado da Arte
Figura 2.9: Componentes do Globus Toolkit 5 [4]
Componentes de Gestão de Execução (trabalhos) - ferramentas responsáveis pela ini- ciação, monitorização, gestão, escalonamento e/ou coordenação de computação re- mota. A interface responsável por estas operações é o Grid Resource Allocation
and Management (GRAM) que invoca um LRMS para agendar e executar traba-
lhos. O GRAM suporta vários LRMS, entre os quais: Fork, OpenPBS, PBSPro, Load Sharing Facility, LoadLeveler, Sun Grid Engine e Condor. Pode também ser configurado para usar o programa Fork Starter para iniciar e monitorizar trabalhos no lugar de um LRMS.
Componentes de Segurança - componentes que confirmam a identidade dos utilizado- res ou serviços (autenticação), protegem as comunicações e determinam quem pode executar determinadas acções (autorização), assim como fazem a gestão das cre- denciais dos utilizadores. Alguns dos componentes desta área são: MyProxy e Sim- pleCA.
Componentes de Tempo-de-execução Comum - componentes que incluem um conjunto de bibliotecas de C comuns para construir a infra-estrutura de Grid, a XIO17, e o núcleo de Web Services em C e Java (C WS Core e Java WS Core).
Componentes de Serviços de Informação - mecanismos de monitorização e descoberta de recursos. Têm como objectivo obter, distribuir, registar e armazenar informação sobre a configuração e estado dos recursos. O Web Services Monitoring and Dis-
covery System(uma implementação da Web Services Resource Framework18), é a
ferramenta responsável por estas funções.
17Biblioteca extensível do Globus Toolkit para comunicação de entrada/saída. Esta biblioteca é destinada às necessi-
dades dinâmicas das aplicações de Grid.
Na Figura2.9são apresentados os diversos componentes do Globus Toolkit 5.
Toda a documentação e software do Globus está disponível gratuitamente no site do
projecto emhttp://www.globus.org/toolkit/.
A versão actual do Globus (5.0.0) é suportada nas seguintes plataformas: • Linux
• Microsoft Windows 2k/XP/Vista (somente componentes de WS) • Mac OS X • FreeBSD • Solaris • Tru64-Unix • IBM-AIX 2.4.9 O super-escalonador GridWay
O GridWay [17] é uma ferramenta aberta e gratuita para gestão de recursos compu-
tacionais partilhados geridos por diferentes DRMS. Actualmente é desenvolvida na Uni- versidad Complutense de Madrid pela equipa Distributed Systems Architecture Research Group. Uma das principais vantagens desta tecnologia é permitir que utilizadores e pro- gramadores possam aceder a recursos partilhados de um ambiente de Grid sem necessi- dade de compreender a complexidade e dinâmica das infra-estruturas de Grid Computing. O GridWay adapta-se às condições da infra-estrutura de Grid Computing e às exigências dinâmicas das aplicações (assumindo que podem variar durante a sua execução).
Tecnicamente o GridWay é uma estrutura construída com base no Globus, que permite uma execução mais simplificada e eficiente de trabalhos num ambiente dinâmico de Grid Computing.
A arquitectura do GridWay [5] consiste da interface do utilizador e do Núcleo Cen- tral (GridWayCore). A interface do utilizador fornece comandos para submeter, terminar, migrar, monitorizar e sincronizar trabalhos assim como a API DRMAA do OGF para de- senvolvimento de aplicações adicionais. O Núcleo Central é responsável pela gestão da execução de tarefas e atribuição de recursos, fornecendo ainda escalonamento e capaci- dades de falha e recuperação de trabalhos. O Núcelo Central é ainda constituído pelos seguintes componentes:
Dispatch Manager - efectua todas as etapas de submissão de trabalhos e verifica se a sua execução é eficiente.
Estado da Arte
Figura 2.10: Componentes do super-escalonador GridWay [5]
Scheduler - componente que toma as decisões de escalonamento para os trabalhos tendo em conta os recursos disponíveis.
Information Manager - responsável pela pesquisa e monitorização de nós (recursos). Este componente faz a ponte com os serviços de pesquisa e monitorização da infra- estrutura de Grid Computing.
Execution Manager - responsável pela submissão, monitorização, controlo e migração de trabalhos. Este componente faz a ponte com os serviços de gestão de trabalhos disponíveis nos recursos da infra-estrutura de Grid Computing.
Transfer Manager - responsável pela preparação correcta, migração e terminação dos trabalhos. Este componente comunica com os serviços de gestão de dados disponí- veis nos recursos da infra-estrutura de Grid Computing.
Na Figura2.10é apresentado os diferentes componentes arquitecturais da ferramenta
GridWay.
Toda a comunicação entre os componentes do Núcleo Central e os restantes serviços
da infra-estrutura de Grid Computing é efectuada por Midleware Access Drivers19. Os
componentes, Information Manager, Execution Manager e Transfer Manager utilizam os MAD para pesquisar recursos, submeter trabalhos e transferir ficheiros, respectivamente,
19Componente do GridWay que consiste de um conjunto de Drivers que comunicam com diversas infra-estruturas de
Figura 2.11: GridWay, Globus Toolkit e Local Resource Management Systems [5]
nas infra-estruturas de Grid Computing suportadas pelo GridWay. Por exemplo, é atra- vés dos MAD que o GridWay comunica com o módulo GRAM do Globus Toolkit para submeter trabalhos nesta infra-estrutura de Grid Computing. De facto o GridWay utiliza as potencialidades de Grid Computing fornecidas pelo Globus, tendo acesso assim, de
uma forma indirecta, aos mesmos gestores de recursos (ver Figura 2.11), ou seja Fork,
OpenPBS, PBSPro, Load Sharing Facility, LoadLeveler, Sun Grid Enginee Condor.
Na Figura 2.12 é apresentado um exemplo de uma Grid Empresarial dividida em 3
camadas que implementa a ferramenta GridWay. A camada superior corresponde à inter- face do utilizador com o GridWay: portal, DRMAA ou a linha de comandos. A camada intermédia inclui duas ferramentas de Middleware: o GridWay e o Globus Toolkit; e é apresentado a ponte entre estas duas. Na camada inferior são apresentados 3 exemplos de LRMS que fornecem os recursos à infra-estrutura de Grid Computing: SGE, PBS e Load Sharing Facility. Estes recursos são controlados pelos respectivos escalonadores locais que, por sua vez, são geridos pelo Globus Toolkit.
O GridWay é também completamente funcional com a infra-estrutura EGEE. Não pretende substituir os gestores de recursos já disponíveis (gLite e LCG) mas sim fornecer uma alternativa de super-escalonamento com maiores funcionalidades e desempenho para determinadas aplicações. Mais uma vez, e à semelhança do processo de comunicação com o Globus Toolkit, o GridWay utiliza os MAD para efectuar a pesquisa de recursos,
Estado da Arte
Figura 2.12: Representação de uma infra-estrutura de Grid Empresarial com GridWay e Globus [5]
submissão de trabalhos ou transferência de dados com a infra-estrutura do gLite.
Toda a documentação e software do GridWay está disponível gratuitamente no site em
http://www.gridway.org/doku.php?id=documentation.
A versão actual do GridWay (5.6.1) é suportada nas seguintes plataformas: • Solaris
• Linux
Contudo para integração do GridWay com a infra-estrutura EGEE(nomeadamente o gLitena linha de raciocínio deste documento) está limitado à distribuição Scientific Linux
Cern Release 3e Release 4.
2.4.9.1 GridWay: referências de implementação
Nesta subsecção apresenta-se algumas referências de organizações com estruturas do tipo Grid Empresarial e Grid de Parceiros onde está implementado o GridWay:
• European Space Astronomy Center. • UABGrid, Universtity of Alabama. • Astronomy Community Grid. • EGEE-II.
2.4.9.2 GridWay: Escalonamento e Execução Adaptativa
Na secção 2.4.2vimos que as tecnologias para Grid Computing têm de lidar com a
Execução Adaptativa. O núcleo central do GridWay aborda esta semântica com um re- escalonamento dinâmico se as condições forem alteradas: um trabalho que é atribuído inicialmente a um recurso pode ser re-escalonado se for detectado uma circunstância de migração quer por parte dos recursos (Escalonamento Adaptativo) ou por indicação da própria aplicação (Execução Adaptativa). Assim, podemos identificar dois tipos de mi- gração consoante a origem da migração:
Iniciada pela infra-estrutura de Grid Computing - pode ter sido encontrado um recurso com melhores condições, ou falhou a ligação de rede com o recurso remoto, ou o trabalho submetido foi suspenso ou cancelado.
Iniciada pela aplicação - se existir uma degradação da performance detectada pelas mé- tricas da aplicação ou se as exigências de recursos da aplicação alteraram.
Para conseguir esta dinâmica, a execução dos trabalhos é realizada em três etapas pelos seguintes módulos:
• O módulo prolog que prepara o sistema remoto e transfere os ficheiros de entrada de dados.
• O módulo wrapper que executa o trabalho e devolve o seu código de conclusão. • O módulo epilog que transfere os ficheiros de saída e limpa o sistema remoto. A migração dos trabalhos é conseguida com a combinação das três etapas. Primeiro o wrapper é cancelado, depois o prolog é submetido para o novo recurso candidato com o intuito de preparar e transferir todos os ficheiros necessários. Em seguida o epilog é submetido ao recurso antigo, não para obter os ficheiros de saída, mas para limpar o sistema remoto. Por fim o wrapper é submetido ao novo recurso candidato que processa a sua execução.
2.5
Conclusões
Do estudo de Grid Computing foi possível identificar vários componentes e caracterís- ticas que permitiram uma melhor compreensão dos papeis desempenhados por cada uma das tecnologias estudada, nomeadamente a distinção entre ferramentas de Middleware e Local Resource Management System: As tecnologias LRMS abordam a problemática das infra-estruturas de computação de elevado desempenho através de gestores de recursos locais que efectuam as operações de submissão, controlo e monitorização de trabalhos - neste âmbito englobam-se as tecnologias BOINC, Condor, Moab Cluster Suite e Sun Grid Engine. As restantes tecnologias pretendem abordar o conceito de ferramentas de
Estado da Arte
mecanismos que permitem gerir múltiplos LRMS. Neste grupo encaixam-se as ferramen- tas Globus Toolkit, gLite e Moab Grid Suite (que embora não tenha sido proposta para inclusão neste estudo, foi referenciada na abordagem do LRMS Moab Cluster Suite). Por fim, conclui-se ainda que o super-escalonador GridWay é uma ferramenta construída sobre a tecnologia Globus destinada a gerir e supervisionar ferramentas de Middleware. É responsável por optimizar o uso de recursos Grid através da atribuição de recursos mediante políticas de gestão especificadas, determinação das métricas de utilização das infra-estruturas e monitorização do comportamento de trabalhos submetidos pelos utili- zadores. Fornece ainda uma interface única para o utilizador final submeter, controlar e monitorizar trabalhos.
Interoperabilidade de sistemas
As infra-estruturas de computação de elevado desempenho fornecem às organizações um importante contributo para a execução de tarefas, tipicamente de projectos de inves- tigação, que requerem elevado poder computacional. Contudo, a elevada heterogenei- dade de sistemas de computação de elevado desempenho cria obstáculos à sua utiliza- ção e gestão. Este Capítulo aborda o problema da heterogeneidade de infra-estruturas, enquadrando-o com a ferramenta GridWay. Assim sendo, é apresentada uma análise do problema da utilização de diferentes tecnologias de computação de elevado desempenho, identificadas no Capítulo2, focada na sua interligação e gestão centralizada. A solução encontrada teve como base a análise das tecnologias e o impacto da implementação da ferramenta GridWay nos sistemas.
3.1
A interligação de sistemas
O levantamento e estudo das tecnologias e conceitos associados a Grid Computing foi o ponto de partida deste trabalho. Revelou-se um passo moroso mas fulcral para o de- senvolvimento da Dissertação, pois permitiu determinar as principais características das diferentes ferramentas usadas para infra-estruturas de computação de elevado desempe- nho.
O principal problema é a falta de interligação dos sistemas de computação de elevado desempenho. A heterogeneidade de sistemas apresenta um entrave aos utilizadores que se vêm forçados a uma das seguintes soluções:
• a) conhecer a sintaxe de cada sistema;
Interoperabilidade de sistemas
Existe ainda o problema da administração dos sistemas que requer uma gestão de credenciais de acesso individual para cada sistema, e a dificuldade em gerir políticas de utilização de recursos.
3.2
Solução proposta
O GridWay é conhecido como uma ferramenta ideal para gestão de recursos com- putacionais partilhados, geridos por diferentes DRMS. Com o objectivo de alcançar uma solução baseada em GridWay que auxilie a interligação dos diferentes sistemas, foi desen- volvido o presente trabalho, que tem como principal problema o seguinte: “Como integrar as diferentes plataformas de computação de elevado desempenho usando GridWay”, ou seja, a “Interligação de infra-estruturas de computação de elevado desempenho heterogé- neas recorrendo a um super-escalonador”.
3.2.1 Requisitos de implementação
Foram considerados os seguintes requisitos para a implementação de uma solução: 1. A solução final deve implementar a ferramenta GridWay como interligador e gestor
das infra-estruturas de computação de elevado desempenho identificadas no Capí- tulo2, fornecendo ao utilizador final uma vista sobre todo o sistema como se tratasse de uma só infra-estrutura virtual - eliminando assim a necessidade de conhecer os detalhes por detrás da sua implementação.
2. A solução deve permitir a possibilidade de interligar com outras infra-estruturas para partilha e obtenção de recursos partilhados (nos quais a organização detentora da solução pode não ter controlo), e aumentar assim a visibilidade e recursos dispo- níveis.
3. A infra-estrutura gLite deve ser claramente identificada como uma infra-estrutura de Middleware para interligação com outros LRMS genéricos.
4. As tecnologias a considerar são: gLite, Condor, Globus Toolkit, Sun Grid Engine,
Berkeley Open Infrastructure for Network Computinge Moab Cluster Suite.
5. A solução final deve interligar o maior número possível de infra-estruturas.
3.2.2 Proposta de implementação
De acordo com os requisitos anteriormente enumerados, e face à análise das tecnolo- gias LRMS e Middleware decidiu-se o seguinte:
Figura 3.1: Solução proposta para interligação das infra-estruturas
• Excluir a ferramenta Berkeley Open Infrastructure for Network Computing por mo- tivo de não ser suportada pelo GridWay ou pelas ferramentas Middleware analisa- das. A natureza do BOINC está associada à computação voluntária e requer que para cada trabalho a executar seja criado uma aplicação de instalação a ser colo- cada no cliente final. Este conceito retira também alguma da transparência que se pretende conseguir com a solução final.
• Admitir o LRMS Condor- suportado pelas ferramentas de Grid ComputingGlobus Toolkite gLite.
• Admitir o gLite como ferramenta de Middleware a integrar pelo super-escalonador GridWay.
• Admitir a ferramenta Moab Cluster Suite. Foi encontrado suporte para integração desta ferramenta proprietária com o Middleware Globus. Existe contudo algumas especificações necessárias à implementação: Moab tem de ser compilado com su- porte de Globus e este tem de ter activo o serviço PRE-WS.
• Admitir o LRMS Sun Grid Engine - suportado pelas ferramentas de Grid Compu- tingGlobus Toolkite gLite.
Interoperabilidade de sistemas
• Admitir o Globus Toolkit como ferramenta de Middleware. De facto o super-escalonador GridWayé construído sobre esta ferramenta pelo que a sua integração é total.
• Interligar as infra-estruturas Condor, Sun Grid Engine e Moab com o Globus Tool- kit.
• Implementar uma solução do tipo Grid Empresarial com perspectivas de desenvol- vimento futuras para uma Grid de Parceiros.
Na Figura 3.1 apresenta-se um esboço da solução proposta. Nesta solução propõe-
se que as ferramentas de Middleware Globus e gLite sejam interligadas com o super- escalonador GridWay, que por sua vez recebe os pedidos de execução de trabalhos sub- metidos pelos utilizadores.
Como não é possível ligar os LRMS Condor, SGE e Moab directamente com o GridWay, de facto a natureza do GridWay tem como propósito interligar infra-estruturas de Grid como o Globus e não com Local Resource Management System, sugere-se a li- gação destes com o Middleware Globus. O gLite é apresentado como uma ferramenta de Middleware que, à semelhança do Globus pode gerir diversas ferramentas Local Re-
source Management Systemde acordo com o suporte aplicacional, mas não directamente
especificadas na solução apresentada.
3.3
Conclusões
O principal problema apresentado consiste na análise de um conjunto de infra-estruturas independentes de computação de elevado desempenho com características heterogéneas e que pretende-se que sejam interligadas e geridas por um único portal, fornecendo uma vista única sobre todo o sistema como uma única infra-estrutura virtual.
Assim, a solução passou pela implementação da ferramenta GridWay como super- escalonador com a responsabilidade de interligar as infra-estruturas de Grid baseadas nas ferramentas de Middleware Globus Toolkit e gLite. Por sua vez, as infra-estruturas de
Grid Computingefectuam a comunicação com os LRMS respectivos, sendo que no caso
do Globus atribuiu-se as tecnologias Condor, SGE e Moab, e no caso do gLite será da responsabilidade de LRMS não especificados neste relatório.
Esta solução apresenta ainda algumas características específicas, nomeadamente na selecção do Globus Toolkit como ferramenta para interligação com as infra-estruturas Condor, SGE e Moab, e ainda na necessidade de disponibilizar o serviço PRE-WS do