• Nenhum resultado encontrado

4. Análise de Grid Computing

4.1.1 Trabalho colaborativo

A tecnologia de Grid Computing apresenta uma arquitetura descentralizada e distribuída, conforme abordado no capítulo dois deste trabalho, característica que fortalece um cenário favorável aos trabalhos colaborativos.

A necessidade por um ambiente com alta capacidade de processamento, sem que fosse necessária a aquisição de supercomputadores, foi um dos motivos para que pesquisadores de diversas áreas buscassem o desenvolvimento de um novo sistema distribuído que fosse capaz de integrar a capacidade ociosa de recursos computacionais espalhados geograficamente. Os principais sistemas de Grid Computing existentes no momento são frutos de projetos coletivos de desenvolvimento de software, seja entre instituições de pesquisas, ou entre indivíduos voluntários espalhados ao redor do mundo

Entre os principais sistemas de Grid Computing, pode-se destacar o Globus Toolkit, um software open source desenvolvido por uma comunidade de voluntários trabalhando por um mesmo objetivo - construir um sistema distribuído capaz de integrar recursos para gerar um ambiente computacional de larga escala.

A participação coletiva é um dos pontos de sucesso de muitos bens tecnológicos, incluindo os sistemas de Computação em Grade. No caso do Globus, a aceitação do sistema foi tão relevante que incentivou novos voluntários a participar da comunidade para melhorar a aplicação existente e desenvolver novas funcionalidades.

Globus foi primeiramente constituído como um projeto de software open- source em 1996. Desde aquele tempo, o time de desenvolvimento do Globus expandiu-se de poucos indivíduos para uma comunidade distribuída e internacional. Em resposta a esse crescimento, a comunidade Globus (Globus Alliance) estabeleceu em Outubro de 2005 uma nova infra- estrutura de desenvolvimento de software e um modelo de governança baseado em meritocracia, os quais juntos tornam mais fácil e transparente o processo de inscrição a comunidade Globus (GLOBUS, 2009).

O aumento da quantidade de voluntários trabalhando no projeto Globus tornou-o uma das atuais referências na área de Grid Computing. É importante destacar que o conceito de Computação em Grade surgiu, em um primeiro momento, no meio científico de pesquisas, situação em que comunidades estavam preocupadas em solucionar seus problemas de processamento de dados em larga escala, para posteriormente ser adotado como tecnologia promissora pelas grandes empresas desenvolvedoras de sistemas.

Com base no levantamento do histórico de Grid Computing, pode-se apontar que esse conceito emergiu da sociedade informacional na busca por um novo paradigma tecnológico, capaz de romper os limites dos supercomputadores da época, sem a necessidade de envolver as grandes indústrias especializadas. Uma revolução tecnológica que teve a sua origem e sua fundamentação no coletivo, com indivíduos motivados a inovar e criar um sistema importante para a sociedade, permitindo que seus cidadãos pudessem realizar trabalhos nunca antes possibilitados por qualquer infra-estrutura computacional.

Como diversas outras tecnologias, Grid Computing é um exemplo claro de que um bem é capaz de influenciar e orientar as grandes indústrias, mesmo tendo surgido através da produção não-trivial, sem a orientação de mercados e baseado apenas no coletivo de indivíduos trabalhando por um objetivo comum.

Adicionalmente ao modelo de desenvolvimento do seu middleware, baseado no trabalho colaborativo, a tecnologia de Grid Computing também possibilita o que pode ser denominada 2-Ways Collaboration. Esse termo refere-se à capacidade de usufruir da colaboração através do compartilhamento de recursos computacionais para constituir um ambiente com alta capacidade de processamento. Entretanto, é importante destacar que esse mesmo ambiente fornece funcionalidades que impulsionam o trabalho colaborativo devido à sua arquitetura descentralizada, agilizando o modelo de compartilhamento de informações, acesso a dados e a execução de atividades em conjunto.

Conforme mencionado, a maioria dos sistemas de Grid Computing é fruto de um trabalho colaborativo e estão prontos para serem implementados com a finalidade de constituir um ambiente computacional com alta capacidade de processamento, principalmente através da integração de recursos computacionais distribuídos geograficamente.

Entretanto, um dos grandes desafios dos projetos que utilizam Grid Computing é a alocação de recursos computacionais para constituir uma infra-estrutura com capacidade para processar dados de problemas de larga escala. Dependendo da necessidade do projeto, o

ambiente de Grid Computing não apresenta uma efetiva funcionalidade se a quantidade de recursos que o compõem for muito baixa.

Por exemplo, uma instituição de inclusão digital pode ter em sua infra-estrutura uma coleção de vinte ou trinta recursos computacionais, entre servidores e computadores pessoais, sendo que sua aplicação requer um ambiente computacional referente, no mínimo, a mil servidores para o processamento de suas informações.

De acordo com esse cenário, uma possível solução seria a utilização de recursos de entidades parceiras e voluntários simpatizantes com o tema do projeto. Isso é possível devido a Grid Computing apresentar uma característica flexível e abrangente, graças a sua arquitetura e o seu modelo de Organizações Virtuais, o que permite que a integração de recursos não fique atrelada somente ao limite de uma única organização. Essa tecnologia visa à integração de recursos computacionais pertencentes a diversas entidades em diferentes domínios espalhados geograficamente.

Os projetos de Grid Computing que obtiveram maiores sucessos foram justamente aqueles que confiaram na colaboração de indivíduos e entidades compartilhando a capacidade ociosa de seus recursos para a constituição de uma infra-estrutura computacional.

Conforme já abordado no capítulo três deste trabalho, o projeto SETI@HOME é considerado por muitos pesquisadores como um dos programas pioneiros a integrar recursos computacionais pertencentes a diversos domínios, atualmente sendo composto por mais de 4.500.000 participantes no mundo todo. Se não houvesse a colaboração por parte dos voluntários, o projeto SETI@HOME possivelmente não teria capacidade de processamento suficiente em sua infra-estrutura computacional para tratar a quantidade de informações necessárias, o que poderia levá-lo ao fracasso.

É notório destacar o quanto a colaboração é benéfica e agrega valor para as plataformas de Grid Computing, principalmente se considerada a capacidade computacional alcançada através da integração de dispositivos compartilhados por voluntários conectados na Internet. Entretanto, o alto nível de processamento obtido com a Computação em Grade não é a única vantagem da tecnologia, ela também oferece funcionalidades para a execução de aplicações em conjunto e compartilhamento de informações.

Conforme citado anteriormente, essa tecnologia possibilita a colaboração em dois caminhos - inicialmente creditando confiança na colaboração coletiva para agregar recursos e

formar um ambiente computacional com alta capacidade de processamento, o qual passa a fornecer funcionalidades que favorecem o trabalho colaborativo.

A possibilidade da Computação em Grade fornecer um ambiente favorável ao trabalho colaborativo está fortemente ligada à característica de sua arquitetura descentralizada, o que permite que seu controle não esteja nas mãos de uma única entidade, mas distribuído por todos os indivíduos que compõem uma determinada Organização Virtual.

Não existe apenas uma única definição para Grid Computing. Essa é uma tecnologia que provê uma visão aberta sobre sua arquitetura, que pode ser modelada para constituir um ambiente de acordo com as necessidades de um projeto.

O conceito de Organizações Virtuais, conforme citado no capítulo dois, foca a concep- ção de um grupo de trabalho formado por entidades e usuários interessados no mesmo assun- to, permitindo que eles compartilhem seus recursos e aplicações para constituir um ambiente computacional necessário para a execução de suas tarefas.

Os problemas que antes eram difíceis de serem resolvidos sozinhos, com a tecnologia de Computação em Grade tornam-se mais fáceis de serem tratados em conjunto com os mem- bros de uma Organização Virtual. Essa situação não está ligada somente a alta capacidade de processamento de informação obtida com essa tecnologia, mas também se relaciona com a possibilidade de pessoas de diferentes países e interessadas no mesmo projeto ingressarem em uma OV para compartilhar a execução de suas aplicações e seus dados.

O fator de descentralização é muito importante também para garantir a segurança do ambiente e a transparência das informações, podendo permitir a auto-sobrevivência de uma determinada aplicação.

Em Computação em Grade, ao contrário dos sistemas centralizados, é improvável que uma única entidade prejudique toda a infra-estrutura computacional, pois a mesma interfere somente na porção do ambiente correspondente aos seus recursos, o que poderia, dependendo do nível de colaboração da entidade, degradar o desempenho, mas nunca fazer com que ele fosse afetado completamente.

Essa característica é evidente em um ambiente de Grid Computing, pois não existe um único ponto de controle centralizado. Se o ambiente é composto por 50 mil servidores e uma entidade X decide se desligar do sistema, o resultado é que somente os recursos pertencentes a X (por exemplo, 10 mil servidores) serão eliminados da infra-estrutura. Entretanto, a tecnolo- gia apresenta funcionalidades para auto-regular o seu ambiente, permitindo que o mesmo con-

tinue ativo e executando suas tarefas nos dispositivos que ainda fazem parte de sua infra-es- trutura (40 mil servidores).

Em um sistema centralizado, se o proprietário do ambiente resolvesse desativá-lo, isso impactaria todos os usuários que fazem uso de seus serviços. Entretanto, isso não acontece em

Grid Computing, pois o ambiente estará ativo, mesmo com baixíssimo desempenho, até o últi-

mo participante ativo. Essa situação depende da configuração escolhida para a constituição da infra-estrutura de Computação em Grade.

Para exemplificar a situação de um trabalho colaborativo, pode-se destacar um projeto de Grid Computing com foco em renderização de filmes, onde exista um ambiente de processamento de dados constituído através da integração de recursos computacionais distribuídos geograficamente e pertencentes a diversos membros de uma Organização Virtual.

Nesse cenário, não há um controle central, mas existe um ambiente onde o processamento ocorre de forma distribuída entre os recursos computacionais de uma OV. Todos os membros de uma OV podem integrar seus recursos ao ambiente para gerar mais capacidade e também podem executar suas aplicações, as quais podem ser compartilhadas com todos os outros membros.

De acordo com as características citadas acima, percebe-se que a concepção do conceito de Organização Virtual em um ambiente descentralizado favorece o coletivo, principalmente por disponibilizar todos os recursos distribuídos de forma transparente. Os usuários podem usufruir do ambiente que eles mesmos ajudaram a construir. Um ambiente composto por milhares de dispositivos computacionais pertencentes a diferentes entidades, onde cada qual pode administrar os seus recursos dentro do seu domínio, sem interferir diretamente a funcionalidade final do ambiente como um todo.

A colaboração está ligada diretamente a tecnologia de Grid Computing em três maneiras:

• Os trabalhos colaborativos dos desenvolvedores de software conceberam os principais sistemas de Grid Computing, antes mesmo das indústrias especializadas.

• A Colaboração está presente para a constituição de uma infra-estrutura de Computação em Grade com capacidade de processamento de larga escala através da integração de recursos computacionais compartilhados.

• A infra-estrutura ativa de Computação em Grade facilita que o coletivo de pessoas, agrupadas em Organizações Virtuais, possam trabalhar compartilhando suas aplicações e dados de maneira transparente e segura.

As três afirmações acima reforçam a importância da colaboração para a constituição de um ambiente de Computação em Grade, desde o desenvolvimento do sistema até a integração de recursos para atingir alta capacidade de processamento. Consequentemente, essas características tornam a tecnologia de Grid Computing extremamente importante para ser aplicada em diversos cenários, com destaque para a inclusão científica.

A seguir, discorre-se sobre a influência de Grid Computing para proporcionar ambientes computacionais necessários para inúmeros projetos científicos, os quais seriam ineficientes na ausência da tecnologia. Posteriormente, aborda-se o projeto de Grid

Computing utilizado pelo experimento do superacelerador de partículas (LHC), um exemplo

de sucesso da tecnologia aplicada ao trabalho colaborativo e inclusão científica.