Download - [ Services ] Grid Computing

Transcript
Page 1: [ Services ] Grid Computing

- 1 –

Grid Computing

Módulo 1 - Introdução

Grid Computing, ou computação em grade, é um dos mais novos conceitos presentes para os executivos de Tecnologia da Informação. A idéia, de fato, é extremamente sedutora: utilizar os recursos ociosos de computadores independentes, sem a preocupação de localização física e sem investimentos em novos hardwares. A criação de um supercomputador virtual, com a utilização dos recursos pré-existentes, permite o desenvolvimento de aplicações antes restritas a caríssimos supercomputadores. Abre-se uma nova perspectiva e certamente estamos diante de mudanças nos paradigmas computacionais.

O módulo “Grid Computing” sugere o debate sobre os principais aspectos de uso desse modelo computacional, bem como suas potencialidades e restrições.

Trata-se de um modelo capaz de lidar com uma alta taxa de processamento, dividida em diversas máquinas que formam uma única máquina virtual, podendo ser em rede local ou rede de longa distância. Tais processos são executados quando as máquinas não estão em uso, evitando dessa forma o desperdício de processamento.

Essa nova infra-estrutura de computação distribuída foi proposta nos anos 90, com o objetivo de auxiliar atividades de pesquisa e desenvolvimento científico. Vários modelos dessa infra-estrutura foram especificados. A tecnologia em grade faz analogia às redes elétricas (“power grids”) e apresenta-se ao usuário como um computador virtual, mascarando toda a infra-estrutura distribuída, assim como a rede elétrica para uma pessoa que utiliza uma tomada, sem saber exatamente como a energia chega a ela. Seu objetivo inicial era casar tecnologias heterogêneas (e muitas vezes geograficamente dispersas), formando um sistema robusto, dinâmico e escalável, para compartilhar processamento, espaço de armazenamento, dados, aplicações e dispositivos.

Pesquisadores da área acreditam que a tecnologia de grades computacionais seja a evolução dos sistemas computacionais atuais, não sendo apenas um fenômeno tecnológico mas também social pois, num futuro próximo, reuniria recursos e pessoas de várias localidades, com diversas atividades diferentes, em uma mesma infra-estrutura. Isso possibilitaria sua interação, de forma antes inimaginável.

A computação em grade vem ganhando destaque nos últimos tempos. Algumas empresas estão apostando alto nessa tecnologia. No meio científico, pode-se encontrar várias grades em funcionamento, espalhadas por inúmeros países. Muitos projetos são multi-institucionais.

Page 2: [ Services ] Grid Computing

- 2 –

Como exemplo, há o Datagrid, do CERN (Organização Européia de Pesquisa Nuclear), projeto financiado pela Comunidade Européia, com o objetivo de atuar em áreas de pesquisa como Astronomia, Física e Biologia.

Outro exemplo é o BIRN, projeto multi-institucional, que conta com quinze universidades norte-americanas, voltado para a pesquisa neurológica. Há ainda o Mammogrid, iniciativa da comunidade européia para formar uma base de mamografias que abranja toda a Europa, com intuito de fornecer material de estudo e campo para o desenvolvimento de tecnologias em grade. No Brasil, um bom exemplo é o Sprace, projeto de um grade do Instituto de Física da USP (Universidade de São Paulo), que participa do processamento dos dados provenientes do projeto D0, que reúne pesquisadores do mundo todo, para analisar os dados gerados pelo acelerador de alta energia Tevatron Collider, localizado em Illinois, Estados Unidos.

O aperfeiçoamento da tecnologia em grade é resultado, em grande parte, do esforço do Global Grid Forum (GGF), comunidade formada por entidades do meio científico e corporativo que criam e padronizam tecnologias para ambientes em grade. Um dos trabalhos mais importantes do GGF atualmente é o desenvolvimento do OGSA (Open Grid Service Architecture), padrão cujo objetivo é permitir interoperabilidade, portabilidade e reutilização de serviços em grade, por intermédio da padronização de interfaces, comportamentos e serviços básicos obrigatórios, viabilizando dessa forma a utilização conjunta de serviços desenvolvidos em diferentes ambientes, por desenvolvedores distintos.

Permanentes ou temporários

A idéia por trás dos grids é combinar o poder de processamento de vários computadores ligados em rede para conseguir executar tarefas que não poderiam ser realizadas, ou pelo menos não com um desempenho satisfatório, em um único computador e, ao mesmo tempo, executá-las a um custo mais baixo do que o de um supercomputador de potência semelhante.

Os grids podem ser permanentes ou temporários. Podem ser formados para executar uma tarefa específica e, em seguida, serem desfeitos. Presumindo que todos os computadores estejam previamente ligados em rede, a criação e dissolução é apenas questão de ativar e depois desativar o software responsável em cada computador.

A principal diferença entre um cluster e um grid é que um cluster possui um controlador central, um único ponto de onde é possível utilizar todo o poder de processamento do cluster. Os demais nós são apenas escravos que servem a esse nó central. Os clusters são mais usados em atividades de pesquisa, resolvendo problemas complicados e na renderização de gráficos 3D.

Page 3: [ Services ] Grid Computing

- 3 –

Os grids, por sua vez, contam com uma arquitetura mais “democrática”, em que, embora possa existir algum tipo de controle central, existe um ambiente fundamentalmente cooperativo, onde empresas, universidades ou mesmo grupos de usuários compartilham os ciclos ociosos de processamento em seus sistemas em troca de poder utilizar parte do tempo de processamento do grid.

Por exemplo, duas empresas sediadas em países com fusos horários diferentes poderiam formar um grid, combinando seus servidores web, de modo que uma utilizasse os ciclos ociosos de processamento da outra, em seus horários de pico, já que, com horários diferentes, os picos de acessos aos servidores de cada empresa ocorreriam em momentos distintos.

Programa Above

Larry Ellison, CEO da Oracle, mostrou recentemente, em evento mundial da empresa nos Estados Unidos, sua visão sobre o futuro tecnológico da empresa. O grid computing, nova palavra mágica incorporada ao dicionário da companhia, é um dos conceitos presentes no horizonte futuro da companhia. O CEO foi enfático ao afirmar que qualquer iniciativa de produto passa pelo grid, capaz de levar aos ambientes de computação a liberdade que as empresas sempre sonharam. Ellison acredita que dentro dessa visão, os clientes só precisam se preocupar com as soluções, uma vez que o próprio sistema se encarrega de processá-las da melhor maneira possível. Nesse sentido, o Oracle Database 11, versão beta do novo sistema de banco de dados da empresa, promete trazer o novo conceito no seu DNA.

A Mega Sistemas foi o primeiro desenvolvedor independente de software do programa Oracle PartnerNetwork (OPN) no Brasil a participar do projeto Above (acrônimo de Accelerated Business Offerings with Value-added Enhancements). A iniciativa, patrocinada pela Oracle e Intel, testa a funcionalidade das soluções de software-houses latino-americanas em uma arquitetura de grid computing com recursos de RAC (Real Application Cluster) em servidores Intel, que garantem alta disponibilidade em uma plataforma aberta. Os testes acontecem nos laboratórios da Intel em São Paulo, Buenos Aires e na Cidade do México.

O objetivo do programa Above é demonstrar os benefícios da adoção de cluster com servidores baseados na arquitetura Intel e Oracle, aos clientes e a desenvolvedores do Brasil, da Argentina e do México. A parceria entre as duas empresas garante mais segurança, disponibilidade, escalabilidade, além da liberdade de escolha de fornecedores de hardware e acesso a serviços de suporte a diversas plataformas como Linux, Windows e HP-UX.

O programa teve início em outubro de 2005 e até o final daquele ano, pelo menos 20 soluções passaram pelos laboratórios da Intel, em São Paulo e no México. A Oracle e a Intel apóiam as software-houses aprovadas, dando a elas um certificado de participação no programa para as soluções testadas.

Page 4: [ Services ] Grid Computing

- 4 –

O programa prevê ainda a realização de eventos para clientes, assim como a permissão do uso do logo Above nas comunicações para o mercado e marketing cooperado.

As soluções que já passaram pelo programa são das seguintes empresas: Arango, Bohm Soluções Corporativas, CM Soluções, DB1 Informática, Delta, DTC, Expert, Gemco, Gobtec, Grande, Innersoft, Integry, Jatafi, Matera Sênior Sistemas, Mega Sistemas, Microsiga, MSM, MSV Soluções, Opencard, Opensystems, Sistemas Compartidos, Socase, Softcomex, Solur e Trust.

Disponibilidade e custo acessível

A Oracle e a Intel há mais de dez anos desenvolvem trabalhos em conjunto e produzem soluções para o mercado corporativo. Com esse programa, ambas as empresas sinalizam que as software-houses latino-americanas também têm muito a oferecer com seus produtos, com os recursos de ponta, como o grid computing, e rodando com segurança, em plataforma Intel, com um custo mais acessível.

O objetivo desse programa é agregar padrões de segurança, disponibilidade e escalabilidade às soluções existentes no mercado latino-americano. Além disso, a possibilidade de escolha de fornecedores de hardware e sistemas operacionais reduz custos, diminui riscos e permite crescimento planejado.

Page 5: [ Services ] Grid Computing

- 5 –

Módulo 2 - Organização Virtual

Esse módulo irá explicar o que constitui uma organização virtual e porque esse conceito é importante para grid computing. Alguns exemplos são ASP (aplication service providers), SSP (storage service providers) e cycle providers. Saindo do âmbito da tecnologia, também podem ser consideradas organizações virtuais os membros de um consórcio para aquisição de um veículo, membros de uma cooperativa para aquisição de uma casa ou apartamento, entre outros.

O conceito de grid computing permite que diversas entidades disponibilizem seus recursos no âmbito de uma organização virtual, de forma a otimizar a sua utilização. Essa possibilidade permitiu a rentabilidade de projetos que, de outro modo, seriam inviáveis em termos financeiros ou de complexidade técnica. A computação em grid é uma forma de computação distribuída que permite a partilha e coordenação de recursos para a resolução de problemas complexos.

No entanto, a possibilidade de introduzir novos usuários e recursos na grid de forma dinâmica, em paralelo com a necessidade de cada administrador manter o controle sobre os seus recursos, incrementa substancialmente a complexidade na gestão dos mesmos recursos. É necessário levar em conta que, apesar de todas as organizações acordarem no estabelecimento de políticas de utilização dos recursos (usualmente designadas como contratos, no seu conjunto), situações excepcionais poderão conduzir uma organização a quebrar os acordos realizados, sendo necessário implementar mecanismos de controle e monitoração, que garantam uma partilha justa dos recursos.

Uma Organização Virtual (OV) é uma agregação de organizações autônomas e independentes ligadas entre si por intermédio de uma rede de comunicação (possivelmente a Internet). A existência da Organização Virtual é limitada a um período temporal, correspondente ao tempo necessário à satisfação do seu propósito. O ciclo de vida de uma Organização Virtual pode ser decomposto em quatro fases a seguir definidas:

Identificação da necessidade: A Organização Virtual é construída com o propósito de satisfazer uma necessidade que pode ser explicitamente expressa por um cliente, ou derivada da resposta a uma oportunidade de negócio.

Seleção de parceiros: A formação da OV é baseada em uma seleção racional de parceiros de acordo com as suas capacidades, disponibilidades, recursos e custos.

Operação: Essa fase inclui o controle e a monitoração das atividades realizadas pelas organizações individuais, incluindo resolução de conflitos, e possível necessidade de reconfiguração da OV devido a falhas parciais.

Page 6: [ Services ] Grid Computing

- 6 –

Dissolução: Distribuição de lucros obtidos, e armazenamento de informação relevante. Esse projeto incide na fase de seleção de parceiros da OV, e encontra-se presentemente em desenvolvimento.

A seleção de parceiros em uma Organização Virtual é resultado de um complexo processo de negociação entre as diversas organizações presentes no mercado. Essa negociação é realizada em múltiplas rodadas (propostas e contrapropostas), e deve responder a duas importantes características:

Multicritério: A seleção de parceiros é realizada com base não apenas em um único critério, mas sim em múltiplos critérios: preço, tempo realização, qualidade, outras características específicas de determinado produto/serviço. Os diferentes critérios possuem importância distinta e são codificados em uma função de utilidade que determina o valor das propostas recebidas.

Satisfação de restrições distribuídas: Múltiplas negociações ocorrem em simultâneo, podendo existir restrições entre critérios a negociar. Essas restrições são resolvidas por um processo de satisfação de restrições distribuídas. Por exemplo, suponha que é constituída uma OV para a construção de um automóvel. Entre outras negociações, inclui-se a negociação para produção de pneus e parafusos. A seleção do critério dimensão de um pneu condiciona a seleção do critério material dos parafusos a utilizar na fixação dos pneus.

Dificuldades

Dada a complexidade, número e heterogeneidade de mecanismos e regras para controle dos recursos, a necessidade de utilização de políticas de alto nível surge naturalmente. Essas políticas devem facilitar a tarefa dos administradores de políticas, tanto a nível de cada organização individual, quanto ao nível central da organização virtual.

No entanto, as plataformas de grid existentes atualmente, como o Globus e o Condor, disponibilizam apenas mecanismos simples de controle de acesso (baseados por exemplos em ACLs ou modelos Role-based). Diversos motores de políticas foram integrados com essas plataformas, mas também esses não suportam políticas de segurança avançadas. Como exemplos, podemos citar as políticas baseadas em histórico (como quando cada usuário só pode ocupar 10 horas de CPU por semana) ou em obrigação (quando, após pagar um determinado nível de serviço, a organização é obrigada a cumpri-lo), que possibilitam a definição de contratos entre as organizações. Tais limitações obrigam a definição e implementação ad-hoc desse tipo de restrições de utilização e acesso, introduzindo vulnerabilidades na arquitetura de segurança.

Page 7: [ Services ] Grid Computing

- 7 –

O Grupo de Sistemas Distribuídos do INESC-ID tem participado ativamente na definição e implementação do grid@INESC, na qual pretende testar modelos inovadores de políticas de controle de acesso e utilização de recursos. Para isso encontra-se em desenvolvimento a plataforma Heimdall, que suporta a definição, implementação e auditoria de políticas avançadas.

Engenharia da linguagem

Quando se compara com áreas como a Biologia ou a Física, o uso de grids computacionais em aplicações de engenharia da linguagem (NLE) ainda está numa fase muito preliminar. Essa situação se deve à falta de normalização, o que dificulta a interoperabilidade das ferramentas computacionais utilizadas no processamento de língua natural. O número de ferramentas e módulos de processamento é elevado e por vezes surge o problema de reutilização de recursos, sejam eles locais ou produzidos por terceiros. Muitas das dificuldades de interoperabilidade e reutilização são devidas a diferentes descrições para dados relativos a um mesmo domínio.

Para combater essas dificuldades, estão sendo dados os primeiros passos, no sentido de utilizar os grids no processamento de língua natural. Assim, está em curso um projeto destinado a estudar o impacto de utilização de grids no que respeita a arquiteturas de aplicações, descoberta automatizada de recursos e formas flexíveis de incorporar e coordenar os diferentes componentes de uma aplicação geograficamente dispersa, tanto na sua execução, quanto no armazenamento dos resultados produzidos. O objetivo é permitir que investigadores possam usar as grids computacionais sem terem de dominar todos os conceitos envolvidos na infra-estrutura.

Mais do que tirar partido da tecnologia das grids computacionais, esperamos que o projeto contribua para que surjam novas formas de interação entre os vários grupos e potencialize a reutilização de recursos pela comunidade de NLE: com a abordagem proposta, os dados, ferramentas e componentes reutilizáveis podem ser facilmente partilhados e comparados. Esses aspectos são muito importantes, dada a dependência da área relativamente à língua: aplicações multilíngües podem ser construídas, utilizando componentes de várias procedências, tanto dependentes, quanto independentes da língua.

Simulação e extração de modelos de circuitos

As ferramentas atuais de simulação lidam com modelos de circuitos de grande dimensão. Esses modelos exigem uma computação intensiva e requisitos de memória que chegam a atingir vários gigabytes. Uma das soluções possíveis para o acréscimo da eficiência das ferramentas de simulação é a sua “paralelização”. Por intermédio de técnicas criteriosas de divisão do problema, é possível paralelizar a resolução dos modelos, obtendo-se não só uma redução na memória necessária por unidade de computação, como também no tempo de execução total.

Page 8: [ Services ] Grid Computing

- 8 –

Os principais obstáculos à execução distribuída das ferramentas de simulação são: a correta divisão dos problemas pelas várias máquinas disponíveis no grid e o balanço entre a computação local e a comunicação entre máquinas.

Algoritmos de transcodificação de vídeo

Os sinais de vídeo apresentam-se, em geral, sob um formato codificado, segundo as normas atuais (MPEG-x/H.26x), sendo necessário freqüentemente aplicar técnicas de transcodificação, de forma a adaptar as tramas de bits ao canal de transmissão e às características dos terminais de recepção. Nos últimos anos, foram propostos vários algoritmos que visam implementar esses ajustes diretamente no sinal codificado, oferecendo, por isso, vantagens significativas do ponto de vista da complexidade computacional e da distorção do sinal de vídeo.

Sendo o sinal de vídeo tridimensional, verifica-se quase sempre a necessidade de utilizar recursos computacionais elevados para implementar os algoritmos de processamento das tramas de vídeo. Em particular, o ambiente de processamento em grid proporciona as condições e recursos necessários para implementar, em paralelo, as diferentes técnicas e algoritmos considerados, explorando também as diferentes seções temporais da trama de vídeo sob processamento.

Os recursos computacionais oferecidos pelo grid podem ser utilizados para o desenvolvimento de algoritmos e arquiteturas de transcodificação de vídeo no domínio do sinal codificado, utilizando diretamente os coeficientes DCT recebidos da trama de vídeo.

A Comissão Européia tem financiado vários projetos que se baseiam nos avanços recentes na área dos grids computacionais. O objetivo é o desenvolvimento de uma infra-estrutura na Europa que esteja disponível 24 horas por dia. Esse esforço explora as ligações multigigabit da rede pan-européia GEANT, que está sendo ampliada também na América do Sul, Norte de África e Ásia.

Page 9: [ Services ] Grid Computing

- 9 –

Módulo 3 - Benefícios

A tecnologia grid computing foi uma das respostas a um problema muito comum no meio acadêmico: a escassez de verba para pesquisa. Nos anos 90, após perder seu financiamento governamental, um projeto norte-americano que buscava por sinais de vida inteligente em outros planetas – o SETI (Search for Extra-Terrestrial Intelligence) – teria apostado na abordagem da computação distribuída para não abandonar suas pesquisas. No lugar de supercomputadores protegidos pelos muros dos institutos de pesquisa, os cientistas passariam a contar com milhares de computadores comuns de voluntários, espalhados pelos locais mais variados do mundo, para processar pequenos pacotes de dados vindos do espaço, nos períodos de ociosidade do sistema, e devolver os resultados aos pesquisadores.

Caso um extraterrestre resolvesse telefonar para casa, como na célebre cena do filme ET, os computadores interligados em todo o planeta poderiam identificar essa chamada inusitada. O SETI foi o primeiro grande projeto de grid. Os sinais recebidos por radiotelescópios são canalizados para PCs individuais por intermédio da Internet. Todos os computadores ligados à Internet e ao projeto SETI procuram padrões em listas de números em busca de algo que poderá ser um sinal de vida extraterrestre. O projeto é muito interessante e intelectualmente estimulante porque utiliza a Internet com dados acessíveis a todos e com a possibilidade de qualquer tipo de informação ser partilhada.

A união faz a força

No grid, a capacidade de processamento permanece segmentada nas diferentes máquinas, fragmentam-se assim os pacotes de dados a serem processados durante os períodos de ociosidade do sistema. Por isso, o processo de adoção está mais maduro nas organizações que têm aplicações que podem operar de forma paralela, como no caso de empresas que fazem análises sísmicas, simulações meteorológicas e financeiras, por exemplo.

O processo é gerenciado por uma infra-estrutura de software que distribui os “pacotes” de dados – o chamado middleware. Mas especialisttas afirmam que ainda faltam aplicações na ponta, que permitam adaptar esse poder de distribuição do processamento à necessidade das empresas.

Um dos benefícios do grid computing é permitir que as organizações agreguem recursos com toda a infra-estrutura de TI, não importando sua localização global. Isso elimina situações em que um site esteja sendo executado com sua capacidade máxima, enquanto outros tenham ciclos disponíveis.

Page 10: [ Services ] Grid Computing

- 10 –

Imagine o que significa, para uma empresa de telecomunicações, a possibilidade de reduzir de uma semana para um dia o processo de fechamento das faturas dos seus clientes. Quando se adota o grid, um dos benefícios é uma economia de tempo dessa escala. O grid é mais uma das respostas tecnológicas à demanda crescente no mercado pela distribuição de cargas de trabalho de forma mais eficiente pelo hardware, simplificando o gerenciamento e diminuindo os custos.

Embora ofereça tais benefícios, o grid só agora começa a ser percebido como uma solução para aplicações comerciais mais tradicionais – e não apenas uma aplicação do mundo acadêmico -, segundo um estudo da Insight Research. Os benefícios ficam mais claros para empresas cujo negócio principal é a própria tecnologia. A tecnologia será tão mais útil quanto maior for o volume de dados e a necessidade de agilidade da empresa que a adotar. Cabe fazer as contas para saber se o benefício compensa os custos.

Flexibilidade na infra-estrutura

Após registrar um faturamento de 975 milhões de reais em 2005, valor 14% superior ao do ano anterior, a GRSA, empresa do grupo Accor e do Compass Group, especializada em serviços de alimentação, viu-se diante de um desafio: como preparar a TI para o crescimento? Formada por sete marcas que servem escolas, aeroportos, terminais rodoviários e hospitais, a GRSA atende 700 mil refeições por dia em todo o País. Depois de analisar quais seriam os investimentos necessários para melhorar a capacidade dos sistemas cruciais para o negócio, a GRSA decidiu adotar a arquitetura de grid computing. Um dos objetivos era obter o balanceamento automático da infra-estrutura, em função da ociosidade e da capacidade de recursos existentes, evitando assim a subutilização de servidores e equipamentos de storage.

Hoje, a empresa possui uma infra-estrutura tecnológica flexível que permitirá ao grupo se preparar para o crescimento que se planeja para os próximos anos. A área de tecnologia está pronta para atender 2 mil usuários, o que corresponde a mais que o dobro da base atual. Quinta geração da computação após a arquitetura cliente/servidor e multicamadas, o grid computing está evoluindo aos poucos. Cerca de 40% das empresas com operações globais estão implementando ou já utilizam algum tipo de solução baseada na tecnologia, segundo estudo do instituto Forrester Research. O levantamento mostra que entre os principais benefícios citados estão a escalabilidade e a disponibilidade.

No Brasil, há poucos casos de computação em grade nas empresas. A GRSA é uma das pioneiras. A empresa decidiu investir em grid, a partir da necessidade de elevar o poder computacional e também de adotar uma solução que trouxesse alguma redundância, pensando no incremento dos níveis de serviços, conforme o avanço dos negócios. Orçado em cerca de 1 milhão de reais, o projeto de grid computing entrou no ar em dezembro de 2005.

Page 11: [ Services ] Grid Computing

- 11 –

Rápido de instalar

O tempo de implementação do grid na GRSA foi de apenas duas semanas. Mas a equipe de TI se preparou com dois meses de planejamento. Esse período envolveu o desenho de uma infra-estrutura robusta para rodar o sistema de missão crítica, o ERP TecFood Web, fornecido pela empresa Teknisa. O sistema de gestão conta com 1.044 usuários dos restaurantes do grupo, distribuídos pelo Brasil, além de outras 411 pessoas na sede da empresa, em São Paulo. Um dos principais benefícios da nova arquitetura foi o salto de 104% na capacidade de processamento do banco de dados do ERP. Isso praticamente eliminou gargalos de performance.

Considerando todos os ativos envolvidos, como servidores, licenças de uso e storage, uma das maiores vantagens do projeto é o custo/benefício da nova arquitetura. Assim, o crescimento em hardware poderá ser mais racional daqui para frente, uma vez que poderão ser adquiridos servidores de menor porte. A infra-estrutura da GRSA hoje é composta de 85 servidores Intel e IBM/AIX, com 1.500 pontos de rede que garantem a conexão de 17 escritórios regionais.

Antes, a GRSA tinha apenas um servidor para banco de dados, com ociosidade média de 2%. A nova infra-estrutura de hardware inclui dois servidores IBM, um storage, quatro switches Giga e o banco de dados Oracle, migrado da versão 9i para a 10g, com serviços de segurança e gerenciamento de identidade. Agora, a GRSA segue para a segunda fase do projeto de grid computing, na qual pretende colocar o back-office e os demais ambientes de desenvolvimento e homologação em grade.

Outra empresa que aposta no grid computing é a Lehman Brothers, que adota soluções de grid desde 1990. Nos últimos anos, a empresa de serviços financeiros aborda de forma ainda mais estratégica essa opção. A empresa acredita que um dos benefícios óbvios de uma solução em grid é a possibilidade de distribuir várias tarefas para serem processadas em milhares de CPUs. Como resultado direto disso, o que se vê no mercado é que as soluções corporativas de grid computing e de arquitetura orientada a serviços (SOA) estão ganhando maturidade juntas. Essa é a estratégia da Lehman Brothers, que migrará seus grids isolados, que funcionam em tecnologia desenvolvida internamente pela empresa, para uma arquitetura estruturada. Hoje, a Lehman conta com três grids – com cerca de 1.500 servidores blade – rodando software e aplicações de análise de derivativos, hipotecas e crédito corporativo. A idéia é criar uma plataforma para suportar SOA e oferecer um uso mais flexível dos recursos de TI a todos os usuários da empresa baseados em Nova York, Londres ou Tóquio.

Page 12: [ Services ] Grid Computing

- 12 –

Módulo 4 - Formação de um grid e pré-requisitos

Uma grade computacional agrega recursos de alto desempenho computacional e também permite a formação de Organizações Virtuais para a realização de projetos temáticos baseados em ambientes de computação distribuída. Organizações Virtuais são grupos de atuação em um determinado tema podendo estar geográfica e institucionalmente dispersos. Para a operacionalidade de tais organizações precisamos de ambientes colaborativos, seja na elaboração e desenvolvimentos de aplicações associados, seja na utilização das aplicações desenvolvidas ou de aplicações de terceiros. Implica também em uma grade de computadores e redes, e respectivas configurações.

No exterior se verifica a organização de grades computacionais a partir da integração de centros de supercomputação e suas aplicações. Como exemplo, podemos citar o projeto TeraGrid da NSF (National Science Foundation), que cria o primeiro ambiente de computação distribuída em escala de Teraflops unindo centros numa estrutura de escala nacional (NCSA, SDSC, Argonne e Caltech). Esse projeto resulta de iniciativas desses centros em projetos da NSF desde 1997 em infra-estrutura de informação, como, por exemplo, software de grade, ambientes escaláveis em clusters, ferramentas de softwares, gerenciamento de dados e visualização e códigos de aplicação). O centro de operações do TeraGrid (TOC) estabelece um conjunto de políticas que guiam o TeraGrid em termos de operação, uso e transferência de tecnologia. Operacionalmente o TOC oferece suporte online 24 horas, sete dias por semana, disponibilizando ferramentas de monitoração para verificação de desempenho e coordenação de atualizações de hardware e software distribuídos.

Como plataforma de software de grade computacional, encontramos diversos projetos e podemos definir três principais tendências: a clássica, a orientada a objetos e a orientada a serviços (de web). A primeira trata principalmente os aspectos de alocação de recursos e monitoração de filas de processos a serem submetidos. A segunda considera um ambiente onde as unidades de processamento são objetos distribuídos que se intercomunicam e dependem de suporte a localização (transparente ou não), a migração, a transação, entre outros. A terceira, e mais atual, soma as características das duas primeiras com as características encontradas em sistemas de informação baseados em infra-estrutura de web, e segue na linha de componentes e serviços ativos. Em todas as três, a segurança é parte fundamental e imprescindível, pois atualmente não é mais viável tratar computação distribuída sem mecanismos e políticas mínimas de segurança.

Page 13: [ Services ] Grid Computing

- 13 –

Grid nacionals

O objetivo do projeto GRADE é servir de base para a construção de uma base computacional de malha a nível nacional. Seu objetivo geral é a implementação, em nível nacional, de uma GRADE integrada por uma infra-estrutura computacional escalável de clusters geograficamente distribuídos (homogêneos e heterogêneos), em diversos centros do país, capaz de permitir o acesso às facilidades computacionais (hardware, software e serviços) de forma confiável, consistente, ubíqua e de custo acessível.

Deve-se contemplar ainda o desenvolvimento do ambiente computacional da GRADE e de diferentes aplicações em áreas tais como: bioinformática, ambiental, banco de dados, datamining, petróleo, oceânica, Meteorologia, Química, Física, Engenharia, entre outras.

Uma vez implementada a GRADE, espera-se estimular o desenvolvimento de middleware e de aplicações específicas para o mesmo, implantando-se diferentes camadas e versões de plataforma de grade, que atendam às distintas vocações do projeto. As duas camadas principais do projeto GRADE serão: camada de produção, para o desenvolvimento das aplicações interessadas; e uma camada de desenvolvimento do middleware e serviços associados.

A estrutura proposta para uma GRADE Nacional inclui a RNP, os centros de computação de alto desempenho, e alguns centros institucionais. Sendo assim teríamos um cluster nacional (nível-1), clusters regionais (nível-2) nos CENAPADs e ainda clusters institucionais (nível-3). O uso de clusters maiores e menores permite a convivência de aplicações que requerem computação fortemente acoplada, como por exemplo, Meteorologia, Ambiental, Engenharia, Petróleo, entre outras, com aplicações que toleram computação fracamente acoplada, por exemplo, Bioinformática, Genômica, Física de altas energias, datamining, entre outras.

Além disso, a estrutura proposta na etapa inicial da GRADE é capaz de permitir sua ampliação, seja com a incorporação de novos clusters, seja com a incorporação do legado já existente nos centros participantes. O uso de clusters de PCs foi baseado na sua difusão devido ao baixo custo, escalabilidade e alternativas de comunicação baratas intra-clusters, além de cada cluster só contar com o seu sistema operacional próprio para interligação com o software de Grade.

O uso de clusters de baixo custo representa uma inovação tecnológica atraente para o setor empresarial, que demonstra interesse em participar.

Page 14: [ Services ] Grid Computing

- 14 –

Além da infra-estrutura de clusters mencionada, é necessário que haja pesquisa e desenvolvimento de serviços básicos a serem incorporados na rede de interconexão (RNP), baseados na proposta da Internet2, que apresenta um middleware básico com os seguintes serviços:

• Identificadores: Um conjunto de código que especifica de forma única um determinado item. Um item pode ser um serviço, um objeto, um agente, ou um processo.

• Autenticação: O processo de comprovação eletrônica de que um determinado item é de fato o item associado ao identificador em particular.

• Diretórios: Repositório central que contém a informação e dados associados com identidades. Esses repositórios são acessados por pessoas e por aplicações para, por exemplo, obter informação, particularizar ambientes genéricos a preferências individuais, e rotear mensagens e documentos.

• Autorização: São aquelas permissões e máquinas de workflow envolvidas no tratamento de transações, aplicações administrativas e automação de processos comerciais.

• Certificados e infra-estruturas de chaves públicas (PKI): certificados e PKI estão relacionados aos serviços anteriores de formas importantes e diferentes.

Outro aspecto a ser pesquisado na implementação da infra-estrutura são as interconexões internas de aplicações (e serviços) que demandem exclusivamente redes de alta velocidade ou ainda estão restritas a segmentos de baixa velocidade.

MegaGrid: projeto conjunto

Em 2004, Dell, EMC, Intel e Oracle lançaram o projeto Megagrid, para desenvolver empreendimento grid computing. Empresas-líderes da indústria combinam recursos técnicos e experiência para recorrer às necessidades do mercado em acesso testado e validado para empreendimentos de grid computing. A idéia é criar um padrão de desenvolvimento e implantação de um empreendimento de infra-estrutura grid computing . As quatro empresas estão combinando algumas das principais tecnologias e recursos técnicos para diminuir a responsabilidade de integração de seus clientes, e desenvolver um completo empreendimento de soluções grid computing que executam ofertas SMP tradicionais a um custo menor.

A fase inicial do MegaGrid ficou e teste e a documentação do padrão de prática da indústria para construção de um empreendimento de infra-estrutura grid computing eficiente, levando-se em conta as exigências de custo e performance.

Page 15: [ Services ] Grid Computing

- 15 –

Essas práticas também incluem a condução de uma série de testes para possibilidades de ajustes, desempenho e gerenciamento de uma base de dados compreensível, configurações de armazenamento do servidor e das redes.

A infra-estrutura do trabalho é arquitetada, configurada e validada no centro de dados de TI da Oracle Global.

As responsabilidades de cada uma das empresas nesse projeto são:

Dell – Fornece uma completa classe de infra-estrutura de servidores em rede, que consiste em dois Intel® Xeon e servidores 4-way Intel® Itanium® processor-based PowerEdge, e suas tecnologias I/O relacionadas

EMC – Entrega uma infra-estrutura de armazenamento em rede que consiste nos sistemas de armazenamento em rede EMC ® CLARiiON® CX e EMC Symmetrix® DMX , sistema NAS (armazenamento com rede interligada) EMC Celerra – NS Series/Gateway , EMC ControlCenter – e o software de gerenciamento de informações EMC Navisphere

Intel – Contribui com a experiência de gerenciamento de processador e servidor para o Intel® Xeon – e arquitetura de processadores Intel® Itanium® , ferramentas de otimização, e outros recursos que permitem uma integração de design imperceptível

Oracle: Fornece a tecnologia Oracle® 10g (Servidor Oracle 10 g , Base de Dados Oracle 10 g , Unidade para armazenamento de dados no disco Oracle 10 g , Gerente de Empreendimento Oracle 10 g ) e sedia o Centro de Desenvolvimento para o Projeto MegaGrid em seu Centro Global de Informações de TI.

Além da tecnologia oferecida pelas quatro empresas, Cramer e F5 Networks, Inc. (NASDAQ: FFIV) estão contribuindo para o projeto MegaGrid. Cramer, uma empresa de telecomunicações desenvolvedora de aplicações de software, fornece aplicações comerciais altamente escaláveis para o MegaGrid apresentando dados completos e processamento de transações de negócios praticamente reais. F5 Networks fornece switches BIG-IP para o projeto, a fim de garantir disponibilidade da aplicação e acelerar a performance da aplicação.

Page 16: [ Services ] Grid Computing

- 16 –

Alto Nível de Serviço

O objetivo do projeto MegaGrid é permitir que organizações empreendedoras e comerciais em todos os segmentos da indústria vertical tirem vantagem do empreendimento grid computing. Ao unir diferentes recursos de TI que podem fornecer serviços em demanda automaticamente, as organizações podem se beneficiar do empreendimento grid para melhorar o nível do serviço de aplicação, para melhor gerenciar seus sistemas, e ajudar a reduzir os custos dos seus sistemas de TI. Organizações empreendedoras e comerciais podem começar a adotar tecnologias grid com investimentos mínimos e a padronização de servidores de custo efetivo e infra-estrutura de armazenamento, usando a plataforma dos processadores Intel, Linux e um acesso a uma rede de armazenamento de alto nível, consolidar base de dados, aplicações, servidores e armazenamento a uma plataforma comum e automatizar tarefas diárias de armazenamento para que um único administrador possa controlar simultaneamente centenas de servidores e terabytes.

O projeto MegaGrid foi demonstrado pela primeira vez na Oracle OpenWorld São Francisco, no Centro de Convenções Moscone, em São Francisco. Demonstrações técnicas foram destacadas em cada um dos stands do Projeto MegaGrid existentes no espaço de exibição:

Page 17: [ Services ] Grid Computing

- 17 –

Módulo 5 - Diferença entre Cluster e Grid Computing

Um dos caminhos mais efetivos para se entender as diferenças entre as tecnologias de Grid Computing e Cluster é analisando suas origens. Com definições diferentes, cada um desses conceitos foi criado para atender determinadas necessidades. Esse é o primeiro ponto para diferenciar esses dois conceitos de maneira eficiente.

O Grid Computing surge em meados de 1990 com a intenção de passar a simplicidade, eficiência e flexibilidade das redes de energia elétrica e de água encanada para o mundo da computação. Com o tempo, o conceito foi sendo desenvolvido e aprimorado, ganhando novos significados e incumbências, tornando-se hoje uma grande aposta de diversos fornecedores de tecnologia. De maneira geral, o Grid é um modelo de computação que tem a capacidade de fornecer maior rendimento ao combinar os esforços de diversas máquinas espalhadas pela rede em uma arquitetura virtual que é capaz de distribuir a execução de processos através de toda a infra-estrutura. Assim, resumidamente, uma estrutura em Grid pode resolver problemas computacionais em larga escala sem necessitar de um grande servidor com seu processador, mas aproveitando os recursos disponíveis nos diversos computadores espalhados pela rede.

Uma das definições mais aceitas está no artigo “O que é o Grid?”, do especialista Ian Foster define Grid Computing. Para ele, a tecnologia pode ser resumida em três grandes tópicos: Os recursos computacionais não são administrados de maneira central, são utilizados padrões abertos e a qualidade de serviço chamada “non-trivial” é garantida. Mesmo despertando debates, essa definição é bem aceita no mercado. Além desse, outros especialistas se debruçaram sobre o problema em busca de criar alguma conceituação que abarque de maneira satisfatória o escopo total do significado do conceito de Grid Computing. Para Plaszczak e Wellner, a tecnologia Grid pode ser definida como o modelo que fornece virtualização de recursos, provisionamento sob demanda e compartilhamento de serviços entre as organizações.

Grid Histórico

Historicamente, uma primeira noção documentada sobre o uso da computação como uma utilidade pública aconteceu em 1965 no Massachusetts Institute of Technology (MIT), por intermédio do especialista Fernando Corbató. Em declaração, o estudioso definiu que o sistema operacional chamado Multics deveria ser a ponta de lança de uma infra-estrutura de computação que iria operar como se fosse uma companhia de energia elétrica ou de fornecimento de água.

Nessa linha, a atual divisão do Grid também fornece características fundamentais para entender a separação entre as duas tecnologias. O Grid Computing pode ser definido em ordem de tamanho: Grids departamentais; Grids empresariais; Grids Globais.

Page 18: [ Services ] Grid Computing

- 18 –

No primeiro, apenas uma área ou um grupo conecta via rede seus desktops, clusters e equipamentos para desempenhar uma função que demanda mais capacidade operacional; o segundo é uma evolução para toda a empresa, que pode utilizar os recursos computacionais em Grid para armazenamento e cycle-stealing; já o Grid global é uma conexão entre os outros Grids que podem ser usados de maneira colaborativa ou para resultados comerciais.

Origem do Cluster

A história do cluster começa, em meados de 1967, com o desenvolvimento do conceito de processamento paralelo. Nesse ano, Gene Amdahl, da IBM, divulgou um estudo matemático em que prova o aumento de velocidade ao se “paralelizar” qualquer tarefa computacional que seria realizada de maneira serial. Chamado da “Lei de Amdahl”, o artigo forneceu a base de engenharia tanto para a computação com múltiplos processadores quanto para o cluster. Nessa linha de raciocínio, o primeiro se diferencia do segundo por encontrar-se na mesma máquina.

As redes de computador têm um papel fundamental na divulgação dos clusters. A capacidade de ligar vários computadores em rede para desempenhar uma mesma tarefa foi um impulso primordial que – somada ao desenvolvimento do software Parallel Virtual Machine (PVM) em 1989 – abriu espaço para que o cluster pudesse atingir seu estágio atual, configurando-se como uma opção interessante para os departamentos de tecnologia das corporações.

A evolução foi tamanha que o cluster mudou a idéia sobre supercomputadores. Se, antes, um supercomputador era uma máquina com processamento extraordinário atingido à custas de muito poder de processamento e, por conseqüência, investimento equivalente, o conceito de cluster muda drasticamente essa realidade. Esse conceito já foi somado à construção dos novos supercomputadores, o que reduziu o custo de produção, além de aumentar o aproveitamento do poder de processamento das máquinas que estão em uso.

Tipos de Cluster

Na prática, os clusters podem ser divididos em três grandes tipos. O primeiro, High-availability clusters (HA – clusters de alta disponibilidade), são implementados para aumentar a disponibilidade dos serviços através da criação de nós redundantes, que são utilizados para manter o serviço mesmo em caso de falha de componentes do sistema. Normalmente, os HA possuem o mínimo para prover a redundância: dois nós.

O segundo é o Cluster de Load-balancing (balanceamento de carga). Implementados para melhorar a performance, esses clusters cuidam de equilibrar a carga de trabalho entre os diversos elos da cadeia. É comum encontrar esse tipo de cluster com funcionalidades de alta disponibilidade também.

Page 19: [ Services ] Grid Computing

- 19 –

Já o terceiro tipo, High-performance clusters (HPC – cluster de alta performance), são implementados para prover mais performance ao dividir a tarefa computacional em diversos nós no cluster. Usados comumente para computação cientifica, o HPC tem um de suas implementações mais conhecidas no Beowulf Cluster.

Funções Diferentes

Nesse momento, aparece outra diferença fundamental entre os dois conceitos. Enquanto o cluster demanda que toda a cadeia de processamento seja repleta de máquinas semelhantes – tanto em software quanto em hardware –, o Grid Computing admite ambientes heterogêneos que podem ter máquinas rodando diversos tipos de sistemas operacionais e possuir diferentes hardwares. Na prática, as máquinas reunidas para trabalhar como um Cluster formam uma unidade única e nada mais do que isso; enquanto o Grid pode fazer uso de um poder excedente de processamento em vários desktops distantes um dos outros.

Resumidamente, o Cluster opera como um grande computador formado por processamento de vários menores; o Grid Computing está mais próximo de um serviço computacional que é mais flexível pois garante a melhora na disponibilidade e no processamento ao utilizar recursos de diversos locais heterogêneos.

As diferenciações se repetem na forma com que as duas tecnologias tratam os recursos que vão utilizar. No caso do Cluster, o gerenciamento é centralizado, todos os nós oferecem a visão de um sistema único, se comportando como partes de uma mesma grande máquina. O Grid é diametralmente oposto, já que cada único nó funciona como um autônomo, como se ele fosse responsável pelo gerenciamento e se comportasse como uma entidade independente.

O controle também é realizado de maneira diferente. No cluster, o fato de ser um ambiente homogêneo, faz com que a tecnologia tenha uma administração centralizada, via um nó central, o que coloca todas as outras partes dessa cadeia como nós escravos do processamento central. O Grid, por sua vez, não tem múltiplos processadores unidos por um “system bus” ou por uma alternativa como o iSCSI ou Fibre Channel. Os computadores em Grid podem funcionar separados por quilômetros de distância e ser conectado por rede convencional de internet.

Nesse sentido, o Grid Computing é muito mais flexível ao permitir conexão entre computadores que não confiam plenamente entre si, ou melhor, que não compartilham a mesma rede interna. Assim, o Grid pode ser indicado para cargas de trabalho que tenham diversas tarefas independentes acontecendo simultaneamente; é recomendável que elas, contudo, não demandem compartilhamento de dados entre os trabalhos durante o processo de computação.

Page 20: [ Services ] Grid Computing

- 20 –

Isso garante que cada computador em Grid realize seu trabalho independente do resto da cadeia.

Apesar das diferenças, não é possível negar, contudo, que as duas tecnologias têm origens muito próximas. A aplicabilidade de cada uma das tecnologias depende substancialmente das necessidades do usuário e, para a decisão, elas precisam ser levadas em conta.

Conhecendo as origens, as capacidades e limitações de cada uma dessas tecnologias, o gestor de Tecnologia da Informação pode tomar uma decisão mais madura sobre qual é a melhor resposta para suas necessidades.

Page 21: [ Services ] Grid Computing

- 21 –

Módulo 6 - As pequenas e médias empresas no contexto do GRID

O Grid Computing, tecnologia que amplia o compartilhamento de recursos de computadores interligados por redes, é uma opção não somente para grandes empresas, centros de pesquisas e universidades. Com a utilização crescente, a demanda começa surgir por parte das pequenas e médias empresas, mas que por hora, ainda não tem capital para adquirir a infra-estrutura da tendência. Por outro lado, governos e a iniciativa privada começam a se movimentar de modo a possibilitar a inserção dessa classe corporativa no contexto de avanço tecnológico.

Neste ponto, a Dell, EMC, Intel e Oracle anunciaram um projeto conjunto para criar um padrão de desenvolvimento de infra-estrutura de Grid Computing. O Projeto, denominado de MegaGrid teve início em 2004 tinha o objetivo de fazer uma combinação de tecnologias e recursos das quatro gigantes de TI para facilitar a implementação e a utilização de sistemas Grid, principalmente pelas pequenas e médias empresas. Mais tarde, a Cisco, comporia a equipe do Megagrid junto às já citadas companhias.

Primeira fase

O projeto teve uma primeira fase em que o foco foi concentrar forças no desenvolvimento, com testes e documentação de melhores práticas. Com isso, seria possível, segundo as companhias, construir uma consolidada infra-estrutura que fosse efetiva e trouxesse valor agregado ao Grid. Entre as ações de performance, foram feitos testes de desempenho, aumento de capacidade de processamento dos sistemas e gerenciamento das redes corporativas.

O objetivo principal desse projeto, segundo as empresas envolvidas, é reduzir os custos ao mesmo tempo em que a qualidade da infra-estrutura de grid computing é expandida. Isso garante uma maior possibilidade de uso para as pequenas e médias empresas, que não possuem, evidentemente, o mesmo poder de compra das grandes companhias e pelo atraso tecnológico acabam por perder competitividade.

Neste contexto, vale destacar que a união das quatro empresas para o mesmo fim, é um sinal de que de alguma forma elas estão alinhadas nesse conceito de Grid e se preocupam com a adoção em larga escala e com a consolidação da tendência de forma igualitária.

Page 22: [ Services ] Grid Computing

- 22 –

Em Ação

Para colocar em prática esse projeto, as empresas participantes forneceram equipamentos para os testes. Com isso, foi possível criar um guia de melhores práticas. A Dell colaborou, por exemplo, com a o fornecimento de infra-estrutura de servidores para que os testes pudessem sem efetivados. Do outro lado, a EMC ofereceu a estrutura de armazenamento, enquanto a Intel colaborou com os servidores e a Oracle com tecnologia 10g (aplicativos e servidores).

Vale destacar o discurso dos envolvidos de que a intenção não é usar o projeto para promover lançamentos de produtos conjuntos das quatro companhias envolvidas, e sim fazer a divulgação de guias de conduta para que as empresas saibam como gerenciar melhor a tecnologia.

Grid em pauta

O Grid está em alta e as empresas estão se empenhando para oferecer tecnologias que atendam essa demanda e consolidem a infra-estrutura. A Oracle, por exemplo, oferece um banco de dados relacional desenhado especialmente para Grid Computing, de forma que a informação ganha o escopo de estar sempre disponível e segura. Além disso, a versão do Oracle Database Standard Edition One é indicado para pequenas e médias empresas com sistemas e aplicações rodando em servidores com até dois processadores dual core. Com isso, essas empresas, que apesar de serem se menor porte, também precisam de alta performance, ganham aumento no desempenho, confiabilidade, segurança e escalabilidade juntamente com a ação da computação em grade.

Grid fora do Brasil

Os projetos de Grid estão se expandindo para as fronteiras governamentais, porém no Brasil a iniciativa ainda está em fase experimental pois ainda não há uma consolidação sobre como e para que fim investir na tecnologia quando o assunto é governo federal. As empresas de menor porte ficam à mercê de alguma iniciativa governamental que possa favorecê-las.

A situação é diferente quando nos deslocamos para o topo do continente. Os Estado Unidos já contam com a apresentação de estratégias claras com relação à implementação da tecnologia. Um exemplo bem sucedido acontece na cidade de Nova Iorque. O governo da localidade está investindo aproximadamente 500 mil dólares na criação de um sistema grid com 3 terabytes para realizar backups destinados às pequenas e médias empresas. A expectativa é que o sistema recupere informações perdidas em casos de tragédias.

Page 23: [ Services ] Grid Computing

- 23 –

Segundo o Departamento de Ciência e tecnologia, a necessidade de se fazer valer da tecnologia começou a fazer sentido, principalmente após os atentados de 11 de setembro, afinal a computação colaborativa tornou-se essencial para controlar crises, garantir a continuidade dos negócios e assegurar as informações críticas.

Na região da Virgínia, além de ter o impacto da prevenção garantida, o projeto de Grid tem a intenção de permitir que as empresas locais tenham poder computacional e possam competir igualmente no mercado tecnológico. Já em Cleveland, as autoridades estão estudando a possibilidade de desenvolver grid de múltiplos dados para criar uma ponte de serviços de saúde , escolas e agências municipais. Assim como já acontece no Brasil, no país também é de extrema importância as parcerias estabelecidas com universidades e instituições de pesquisa para expandir o desenvolvimento deste tipo de tecnologia.

Page 24: [ Services ] Grid Computing

- 24 –

Módulo 7 - Perspectivas

A definição de padrões está entre os desafios para o futuro que a Grid Computing terá de enfrentar. Conceitos como a OGSA e o Globus Toolkit permitirão a interoperabilidade em sistemas heterogêneos de forma efetiva e a possível criação da “Global Grid” em um futuro próximo.

Já se sabe que Grid Computing é um modelo computacional capaz de oferecer uma alta taxa de processamento dividida em diversas máquinas, podendo ser em rede local ou rede de longa distância, que formam uma máquina virtual. Esses processos serão executados no momento em que as máquinas não estão sendo utilizadas pelo usuário, assim evitando o desperdício de processamento da máquina usada. Porém, nesse contexto é importante que haja a definição de padrões para o futuro que o conceito de Grid Computing terá de enfrentar.

A partir dos anos 90, portanto, uma nova infra-estrutura foi proposta para auxiliar atividades de pesquisa e desenvolvimento científico. Vários modelos dessa infra-estrutura foram especificados, dentre eles, a Tecnologia em Grade. O objetivo era reunir tecnologias heterogêneas (e muitas vezes geograficamente dispersas) formando um sistema robusto, dinâmico e escalável para compartilhamento de processamento, espaço de armazenamento, dados, aplicações, dispositivos, entre outros.

A opinião de grande parte dos pesquisadores é que esse tipo de tecnologia seja a evolução dos sistemas computacionais atualmente em execução, o que significa não apenas um fenômeno tecnológico, mas também social, pois reúne recursos e pessoas de várias localidades, com várias atividades diferentes.

Nos últimos anos, algumas empresas estão investindo nessa tecnologia e tendência computacional. A IBM, por exemplo desenvolve um trabalho de pesquisa e desenvolvimento de ferramentas em Grid focado em ambientes corporativos. Além disso, a empresa trabalha em cima do conceito de Globus Toolkit, extremamente importante para a evolução do Grid Computing.

Padrão Globus Toolkit

Trata-se de um conjunto de serviços que facilita os processos do Grid. Com o uso do Globus Toolkit, os serviços permitem a submissão e controle de aplicações, descobertas de recursos, movimentação de dados e segurança no ambiente Grid. O Globus e os protocolos por ele definidos na arquitetura transformaram-se em padrão de infra-estrutura para a computação em Grid, o que pode ser considerado uma solução de grande impacto nesse contexto.

Page 25: [ Services ] Grid Computing

- 25 –

O uso dos serviços do Globus requer a instalação e a configuração de uma infra-estrutura de suporte. Nesse cenário, cada recurso é gerenciado por uma instância do Globus Resource Allocation Manager, que é responsável por direcionar, monitorar e reportar o estado das tarefas alocadas para o recurso.

O processo funciona da seguinte forma: as requisições do cliente são recebidas pelo Gatekeeper que consulta o Globus Security Infrasctructure (GSI). Este serviço permite uma autenticação única do usuário no Grid. A partir dessa autenticação, o GRAM verifica se o usuário pode executar no recurso em questão. Caso o usuário tenha o acesso permitido, é criado um Job Manager, que é responsável por iniciar e monitorar a tarefa submetida. As informações sobre o estado da tarefa e do recurso são constantemente reportadas ao serviço de informação e diretório do Globus, o Metacomputing Directory Service (MDS).

Apesar do funcionamento e do fato de resolver muitas questões do aspecto operacional, o Globus não ataca o problema do Grid no que se refere ao gerenciamento. Para obter acesso a alguns recursos, é necessário que haja negociação com os donos dos recursos, além de fazer o mapeamento dos clientes para usuários locais, o que involuntariamente limita a escalabilidade desse mecanismo.

Global Grid Fórum e o OGSA

O aperfeiçoamento do conceito de Grid já é uma necessidade e está sendo levado em consideração, principalmente pelo Global Grid Fórum (GGF), comunidade formada por entidades do meio científico e corporativo que criam e padronizam tecnologias para ambientes em grade.

Recentemente, uma importante ação do GGF está no desenvolvimento do OGSA (Open drive Service Architecture), um padrão com o objetivo de permitir interoperabilidade, portabilidade e reutilização de serviços em grade apor meio da padronização de interfaces, comportamentos e serviços básicos obrigatórios, APIs etc. Isso viabiliza a utilização conjunta de serviços desenvolvidos em diversos ambientes, por diferentes desenvolvedores.

Para simplificar, trata-se de uma definição de arquitetura de serviços básicos para a construção de uma infra-estrutura de Grades de serviços. Isso permite definir mecanismos padrão para criação, nomeação e descoberta de serviços de grade. O conceito é baseado na idéia de interconexão de sistemas e na criação de organizações virtuais. Uma organização virtual é um conjunto de instituições definidas por regras de compartilhamento. Sendo assim, a expectativa é permitir que membros de grupos distintos compartilhem recursos de uma forma controlada e atinjam um objetivo comum.

Page 26: [ Services ] Grid Computing

- 26 –

A OGSA tem por objetivo padronizar os diferentes serviços que são freqüentemente encontrados em uma aplicação de Grid por meio de uma especificação de um conjunto de interfaces. Em OGSA, esses serviços são chamados de serviços de Grade e correspondem a uma extensão da tecnologia de serviços Web. O conceito define o que pode ser chamado em uma grade de serviços.

Um OGSA poderia, em teoria, ser baseado em qualquer middleware distribuído (CORBA, RMI etc). A opção por serviços Web foi, principalmente, porque essa tecnologia é a mais adequada para implementar sistemas fracamente acoplados entre si.

Grid no mundo afora

Com essa necessidade de padrões, já se pode ver pelo mundo diversas grades em funcionamento, projetos que se tornam, inclusive, multi-institucionais. O Datagrid é um deles. A estratégia é da CERN (Organização Européia de Pesquisa Nuclear) e é financiado pela Comunidade Européia. O objetivo é utilizar o grid de forma eficiente como apoio em áreas de pesquisa como astronomia, física e biologia.

Além dessa iniciativa, há também o BIRN, projeto multiinstitucional que conta com o apoio de quinze universidades norte-americanas e que é voltado para pesquisa neurológica e Mammogrid, uma iniciativa da comunidade européia para formar uma base de mamografias que abrange toda a Europa com intuito de fornecer material de estudo e campo para o desenvolvimento de tecnologias em grade.

No Brasil, o exemplo mais relevante é o Sprace, projeto de Grid do Instituto de Física da USP que está inserido no processamento dos dados provenientes do projeto D0 (projeto que reúne pesquisadores do mundo todo para analisar os dados gerados pelo acelerador de alta energia Tevatron Collider, localizado em Illinois, Estados Unidos).

Page 27: [ Services ] Grid Computing

- 27 –

Módulo 8 - Tendências

Quando o tema é Grid Computing, há uma preocupação em descobrir novos recursos, monitorar e acompanhar os serviços executados, medir a utilização e balancear o uso dos recursos alocados na grade. Estima-se que, a partir de 2008, as fornecedoras de serviços de Utility Computing adotarão a tecnologia de grades computacionais.

Grid Computing, conceito surgido há mais de três décadas, em 1969, volta à tona e desponta como futuro da Tecnologia da Informação nas corporações bem planejadas. Passou a chamar a atenção de CEOs e Chairmans de empresas de TI e grandes corporações. Uma série de artigos publicados pelo pesquisador e professor de ciências da Computação da Universidade de Chicago Ian Foster ao longo dos últimos dez anos deram ao tema uma nova dimensão – mais palpável e aplicável no ambiente da informática corporativa.

Afinal, o Grid permite a transformação de custos fixos em variáveis. Esta tendência é inevitável e bem-vinda, graças aos ganhos de produtividade que ela proporciona na concepção dos usuários. Nascido no berço da pesquisa científica, o Grid Computing, ou como preferem alguns, a computação distribuída, começa a ganhar importância no mundo corporativo. A tecnologia foi uma resposta a um dos problemas mais comuns no meio acadêmico: a escassez de verba para pesquisa.

Nos anos 90, após perder seu financiamento governamental, um projeto norte-americano que buscava por sinais de vida inteligente em outros planetas – o SETI (Search for Extra-Terrestrial Intelligence) – teria apostado na abordagem da computação distribuída para não abandonar suas pesquisas.

No lugar de supercomputadores protegidos pelos muros dos institutos de pesquisa, os cientistas passariam a contar com milhares de computadores comuns de voluntários, espalhados pelos locais mais variados do mundo, para processar pequenos pacotes de dados vindos do espaço, nos períodos de ociosidade do sistema, e devolver os resultados aos pesquisadores.

União que faz a força

A idéia é que em vez de uma pessoa fazendo dez contas, você tenha dez pessoas, cada uma fazendo uma conta. Quem resolve mais rápido? Na prática, são várias estações em rede rodando porções diferentes de uma mesma aplicação. A capacidade de combinar o poder de processamento distribuído em diversas máquinas para realizar tarefas que exigem mais do hardware é comumente confundida com o conceito de cluster de servidores, que também envolve equipamentos interligados – de novo, a idéia da “união que faz a força”.

Page 28: [ Services ] Grid Computing

- 28 –

Porém, enquanto no cluster todos os recursos do hardware passam a ser enxergados como um único supercomputador, somando-se recursos de memória, armazenamento e processamento, no grid a capacidade permanece segmentada, o que se fragmentam são os pacotes de dados a serem processados durante os períodos de ociosidade do sistema. Por isso, o processo de adoção está mais maduro nas organizações que têm aplicações que podem operar paralelamente. Empresas que fazem análises sísmicas, simulações meteorológicas e financeiras, por exemplo.

O processo é gerenciado por meio de uma infra-estrutura de software que distribui os “pacotes” de dados – o chamado middleware. Nesse segmento, já há soluções disponíveis, o que faltam são aplicações na ponta, que permitam adaptar esse poder de distribuição do processamento à necessidade das empresas.

Imagine o que significa para uma empresa de telecomunicações poder reduzir de uma semana para um dia o processo de fechamento das faturas dos seus clientes? É de uma economia de tempo dessa escala que estamos falando quando se adota grid. Ele é mais uma das repostas tecnológicas à demanda crescente no mercado por distribuir as cargas de trabalho de forma mais eficiente pelo hardware, simplificando o gerenciamento e diminuindo os custos.

Ganhando espaço

Embora ofereça tais benefícios, o Grid só agora começa a ser percebido como uma solução para aplicações comerciais mais tradicionais, e não apenas uma aplicação do mundo acadêmico, segundo estudo da Insight Research. A consultoria aponta alguns marcos atingidos no último ano que atestam essa tendência.

Entre eles estão a escolha por grandes empresas de telecom, incluindo a British Telecom e a Telefônica, de parceiros de software de middleware para grid para a criação de serviços baseados na tecnologia; um número de empresas iniciantes de grid que receberam investimentos de grupos de capital de risco; e a implementação de projetos de grid parciais ou experimentais em uma série de grandes companhias.

Por outro lado, a consultoria lista também alguns empecilhos para a adoção do grid nas empresas. Segundo a pesquisa, ainda faltam modelo estáveis de aplicações não-acadêmicas de grid para serem usadas como referências. Além disso, na ciência, os grids já cruzam as fronteiras das organizações, enquanto no mundo corporativo o grid fica amarrado atrás dos firewalls de um endereço físico da empresa. Há apenas alguns exemplos de grids espalhados por mais de um ponto de presença física da mesma empresa.

Ainda assim, o relatório aponta para uma forte curva de crescimento do mercado de Grid nos próximos cinco anos. A estimativa é que o setor, que em 2006 deve movimentar 1,8 bilhão de dólares, cresça, em 2011, para cerca de 24,5 bilhões de dólares.

Page 29: [ Services ] Grid Computing

- 29 –

De acordo com o Insight, alguns mercados devem fazer a transição da fase experimental para os projetos de fato com maior antecedência – entre eles, o de engenharia técnica, o de farmacêutica e, em menor escala, o financeiro.

A tendência é que os provedores de infra-estrutura terceirizada sejam os primeiros a empregar a tecnologia no Brasil, mesmo que de forma transparente ao usuário.Os benefícios ficam mais claros para empresas em que o negócio principal é a própria tecnologia.

Contudo, alguns analistas afirmam que o Grid não é para todos. A tecnologia será tão mais útil quanto maior for o volume de dados e a necessidade de agilidade da empresa que a adotar. Cabe fazer as contas para saber se o benefício compensa os custos.

Segunda do ranking

Na abertura da XI Conferência Anual do Gartner, em 2006, o vice-presidente de pesquisa da IDC, Carl Claunch, destacou os sistemas que estarão em 2007, como o EMI (Enterprise Information Management) e o aumento do esclarecimento em relação ao grid computing (portais, sistemas de mensagens instantâneas), assim como virtualização. O analista acredita que a inovação da TI se manterá no atual ambiente econômico e que haverá ainda uma redução de produtividade em relação ao open-source, apesar de a tecnologia aparecer na lista de destaques para o próximo ano. Em evidência , portanto, estão virtualização, grid computing, service-oriented architecture (SOA) e open source, somados a outras tendências de longo prazo, como o AJAX. Ele afirma que hoje as empresas estão mais familiarizadas com grandes servidores divididos em vários outros. O que perceberemos é a integração e a virtualização dessas estruturas físicas, o que facilitará o trabalho dos operadores e usuários. Entre as tecnologias que estarão em destaque em 2007, o Grid Computing ocupa a segunda colocação.

As 10 tecnologias destaques em 2007 para o Gartner

1. Virtualização, 2. Grid Computing, 3. Arquitetura orientada a serviços (SOA), 4. Enterprise Information Management (EIM), 5. Código aberto, 6. Acesso à informação, 7. Ajax, 8. Mashup Composite Model, 9. Computação Distribuída no Ambiente (do inglês, Pervasive Computing), 10. Coleta inteligente de dados.