PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO – PUC-SP
DIOGO CORTIZ DA SILVA
Grid Computing e Cloud Computing - Análise dos impactos sociais,
ambientais e econômicos da colaboração por meio do compartilhamento
de recursos computacionais
MESTRADO EM TECNOLOGIAS DA INTELIGÊNCIA
E DESIGN DIGITAL
São Paulo
2009
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO – PUC-SP
DIOGO CORTIZ DA SILVA
Grid Computing e Cloud Computing - Análise dos impactos sociais,
ambientais e econômicos da colaboração por meio do compartilhamento
de recursos computacionais
MESTRADO EM TECNOLOGIAS DA INTELIGÊNCIA
E DESIGN DIGITAL
Dissertação apresentada à Banca Examinadora
da Pontifícia Universidade Católica de São
Paulo, como exigência parcial para obtenção
do título de MESTRE em Tecnologias da
Inteligência e Design Digital - Inteligência
Coletiva e Ambientes Interativos sob a
orientação do Prof. Doutor Fernando Antônio
de Castro Giorno
São Paulo
2009
-
ERRATA
,
Página 96
Onde se lê: pode-se (PODEM-SE)
Leia-se podem-se
Página 101
Onde se lê: (NECESSÁRIAS)
Leia-se: necessárias
"I
Página 11O
Substituir o Gráfico 11 pelo Gráfico abaixo:
Watts
300
I
I
--
250
200
1.50
1.00
50
o
0%
.
1.0%
Cor;>sumo
20%
Míni
30%
mo
40%
(Componentes)
Página 112
Onde se lê: que um recursos computacional
50%
60%
70%
80%
90%
1.00%
. Vari ação CPU
Leia-se: que os recursos computacionais
Banca Examinadora
________________________________
________________________________
________________________________
AGRADECIMENTOS
A Deus, por guiar meus passos e me dar a certeza de que os desafios estão presentes
em nossas vidas para serem superados.
À minha mãe, que me proporcionou com carinho e humildade todas as coisas
necessárias para que eu pudesse alcançar os objetivos da minha vida.
Ao meu pai, que sempre acreditou no meu potencial e me ensinou que a honestidade
é a chave para uma vida em paz.
Ao meu irmão Denis, que de forma peculiar me incentivou a concluir esse mestrado.
Aos meus avós, que sempre me apoiaram em todas as decisões da minha vida com
carinho incondicional.
Ao meu padrinho Ilson, pelos ensinamentos fundamentais ao longo da minha
juventude.
À minha namorada Fernanda, pelo amor, carinho, compreensão e conselhos na minha
vida.
À Maria Helena, pela dedicação todas as vezes que foram necessárias revisões dessa
dissertação.
Ao José, pela sua disposição em ajudar sempre que necessário.
À Daniela, pelas idéias compartilhadas.
Ao Marcus Vinicius, pela ajuda na etapa inicial dessa conquista.
Ao Luiz, Jefferson, Mark e demais companheiros de trabalho que tornaram essa
tarefa possível.
Ao orientador Prof. Fernando Giorno, pela dedicação, ajuda e ensinamentos durante a
realização desse trabalho.
“Conheça todas as teorias, domine
todas as técnicas, mas ao tocar uma
alma humana, seja apenas outra alma
humana.”
Carl Gustav Jung
RESUMO
SILVA, Diogo Cortiz. Grid Computing e Cloud Computing - Análise dos impactos sociais,
econômicos e ambientais da colaboração por meio do compartilhamento de recursos.
2009. 145 f. Dissertação (Mestrado em Tecnologias da Inteligência e Design Digital) –
Pontifícia Universidade Católica de São Paulo, São Paulo, 2009.
Esta dissertação discute o excesso de recursos computacionais disponíveis mundialmente com
capacidade de processamento excedente e também debate como o emprego dos conceitos de
compartilhamento e colaboração influenciam a integração desses dispositivos para constituir
um ambiente econômico e com alta capacidade de processamento. Atualmente, é possível
encontrar uma grande quantidade de computadores pessoais, servidores, entre outros
dispositivos, que apresentam elevados níveis de ociosidade. Estes poderiam ser utilizados para
outra finalidade, haja vista pesquisas científicas, projetos colaborativos e programas de
inclusão digital carentes de recursos para atingirem seus objetivos. A tecnologia de Grid
Computing, também chamada de Computação em Grade, foi concebida como uma alternativa
para integrar recursos distribuídos geograficamente e pertencentes a diferentes domínios,
habilitando um ambiente computacional abrangente e descentralizado. O objetivo desta
dissertação é analisar como essa tecnologia, baseada no conceito de colaboração, pode gerar
benefícios no contexto social, ambiental e econômico. No âmbito social, Grid Computing
estimula o trabalho colaborativo e o compartilhamento de recursos computacionais e
aplicacões, além de prover funcionalidades que auxiliam na transparência de dados entre
diversos domínios. Essas características também são importantes para a inclusão científica. O
primeiro Estudo de Caso aborda a importância de Grid Computing para o projeto científico do
Superacelerador de Partículas (LHC). No contexto ambiental, essa tecnologia também
apresenta características para tornar os recursos computacionais mais eficientes em relação ao
consumo de energia através do aumento do uso de sua capacidade computacional. O segundo
Estudo de Caso aborda dados em relação à quantidade de máquinas conectadas à Internet e
como uma aplicação de Grid Computing, no modelo de Computação Voluntária, pode tornálas mais produtivas e, consequentemente, mais eficientes no consumo de recursos energéticos.
Já no contexto econômico, é de importância destacar a sinergia existente entre Grid
Computing e Cloud Computing, as suas vantagens financeiras e a geração de novos modelos
de negócios através da comercialização de plataformas e softwares como serviços na Internet,
e não mais como produtos. O terceiro Estudo de Caso aborda um modelo de Cloud
Computing que disponibiliza recursos computacionais em forma de serviços, permitindo que
empresas e pessoas físicas possam contratar um ambiente computacional de rápido
provisionamento, sem a necessidade de adquirir equipamentos e investir em projetos de
implementação. Por fim, ambas as tecnologias são apontadas como grandes tendências para
os próximos anos, as quais influenciarão a geração de novos modelos de softwares,
plataformas e serviços voltados à Internet.
Palavras-chave: grid computing, cloud computing, colaboração, compartilhamento, Internet
ABSTRACT
SILVA, Diogo Cortiz. Grid Computing and Cloud Computing – Analysis of the social,
environmental and economic impacts of the collaboration through the resources sharing.
2009. 145 f. Dissertação (Mestrado em Tecnologias da Inteligência e Design Digital) –
Pontifícia Universidade Católica de São Paulo, São Paulo, 2009.
This research debates the excess of worldwide available computational resources with
exceeded processing capacity and also how the utilization of the sharing and collaboration
concepts influence the integration of those devices to constitute an economic environment
with high processing capacity. Currently, it is possible to find a great amount of personal
computers, servers and others devices that show high level of idleness, while they could be
being used for another purpose, once there are many scientific researches, collaborative
projects and digital inclusion programs that are short of resources to reach theirs objectives.
The Grid Computing technology was conceived as an alternative to integrate geographically
distributed resources pertaining to different domains, enabling a decentralized computational
environment. The main objective of this research is to analyze how this technology can
generate benefits to the social, environment and economic contexts. In the social approach,
Grid Computing stimulates the collaboration and the sharing of computational resources and
applications, as well as providing features that are very useful for data transparency between
many domains. Those characteristics are also important for the scientific inclusion. The first
Case Study approaches the importance of Grid Computing for the collaborative tasks found in
the scientific project of the Large Hadron Collider (LHC), which allowed many research
institutions and universities around the world to build a shared computational environment of
large scale for processing the data generated by LHC. In the environment context, this
technology also presents some characteristics to make the computational resources more
energy efficient increasing the use of its computational capacities. The second Case Study
analyzes the data related to the amount of personal computers connected in the Internet and
how to implement Grid Computing based on the Volunteer Computing model to make those
computers more productive with no relevant impact in the energy consumption. This research
also highlights the synergy between Grid Computing and Cloud Computing, its financial
advantages and the generation of new business models based on the commercialization of
platform and software as a service in the Internet. The third Case Study analyzes a Cloud
Computing model that delivers computational resources (such as a whole server) as a service,
enabling a scenario where companies and people could contract a computational environment
with a quick provisioning with no need to purchase equipments and to invest in
implementation projects. Finally, it is possible to appoint both technologies as relevant trends
for the coming years, which can be an influence to generate new software models, platforms
and services focused in the Internet.
Keywords: Grid Computing, Cloud Computing, collaboration, Internet
LISTA DE ACRÔNIMOS
TI – Tecnologia da Informação
EELA – E-science grid facility for Europe and Latin America
EGEE – Enabling Grids for E-sciencE
SDK – Software Development Kit
API – Application Programming Interface
TCP – Transmission Control Protocol
IP – Internet Protocol
OV – Organização Virtual
OGSA – Open Grid Services Architecture
SOAP – Simple Object Access Protocol
XML – Extensible Markup Langauge
OGF – Open Grid Forum
CPU – Central Processing Unit
RAM – Random Access Memory
GNU – GNU’s Not Unix
TCO – Total Cost Ownership
GPL – General Public License
SOA – Service-Oriented Architecture
SaaS – Software as a Service
UDDI – Universal Description, Discovery and Integration
QoS – Quality of Service
LISTA DE FIGURAS
Figura 1 – Arquitetura dos Sistemas Distribuídos (TANENBAUM; STEEN, 2002)........40
Figura 2 - Ambiente de Organizações Virtuais (FOSTER; KESSELMAN; TUECKE,
2001).........................................................................................................................................47
Figura 3 – Arquitetura em Camadas (FOSTER; KESSELMAN; TUECKE, 2001)........49
Figura 4 - Interações entre os Componentes (JACOB et al., 2008)....................................54
Figura 5 – O Projeto do Superacelerador de Partículas (LHC, 2009)...............................85
Figura 6 – Cloud Computing: sinergia entre conceitos e tecnologias...............................116
Figura 7 - Matriz taxonômica de Cloud Computing.........................................................123
LISTA DE TABELAS
Tabela 1 – Sítios de computação da segunda camada Tier-1 (WLCG, 2009) ...................88
Tabela 2 – Projeção da quantidade total de recursos...........................................................89
Tabela 3 – Organizações Virtuais filiadas ao LHC (WLCG, 2009)....................................93
Tabela 4 – Penetração de acesso a Internet por regiões (IWS, 2009)...............................103
Tabela 5 – Total de computadores pessoais no mundo (ALMANAC, 2009)....................105
Tabela 6 – Cenário consumo de energia com Grid Computing........................................111
Tabela 7 – Sistemas Operacionais disponíveis no Amazon EC2 (AMAZON, 2009).......130
Tabela 8 – Softwares disponíveis no Amazon EC2 (AMAZON, 2009).............................130
Tabela 9 – Preços de instâncias On-demand do Amazon EC2 (AMAZON, 2009)..........131
Tabela 10 – Preço de transferência de dados na Internet através do Amazon EC2
(AMAZON, 2009)..................................................................................................................131
LISTA DE GRÁFICOS
Gráfico 1 – Investimento no WLCG até o ano de 2008.......................................................87
Gráfico 2 – Projeção da quantidade de Jobs .......................................................................89
Gráfico 3 – Projeção de recursos de CPU por camada........................................................90
Gráfico 4 – Pojeção de recursos de armazenamento em disco por camada .....................91
Gráfico 5 – Projeção de recursos de armazenamento em fita por camada.......................92
Gráfico 6 – Total de Usuário conectado à Internet por região (IWS,2009).....................104
Gráfico 7 – Local de acesso à Internet no Brasil (CETIC, 2009)......................................104
Gráfico 8 – Consumo de energia por recursos computacionais (SCHMID, 2005)..........106
Gráfico 9 – Utilização de CPU em notebook com sistema operacional Linux................108
Gráfico 10 – Utilização de CPU em desktop com sistema operacional Windows...........109
Gráfico 11 – Consumo de energia em relação a utilização de CPU..................................110
SUMÁRIO
1. Introdução............................................................................................................................13
1.1 Motivação......................................................................................................................13
1.2 Objetivos........................................................................................................................14
1.3 Contribuições................................................................................................................15
1.4 Método de Pesquisa.......................................................................................................15
1.5 Organização do trabalho..............................................................................................17
2. Fundamentação teórica......................................................................................................19
2.1 As tecnologias da inteligência ......................................................................................19
2.2 Redes sociais..................................................................................................................21
2.2.1 Comunidades virtuais nas redes sociais..................................................................23
2.3 Riquezas das redes........................................................................................................26
2.3.1 Compartilhamento e produção entre pares ............................................................29
2.4 Inteligência nas redes...................................................................................................32
2.5 Sistemas distribuídos.....................................................................................................38
2.5.1 Histórico ................................................................................................................38
2.5.2 Arquitetura .............................................................................................................39
2.5.3 Características.........................................................................................................40
2.6 Grid Computing ............................................................................................................42
2.6.1 Histórico ................................................................................................................42
2.6.2 Definição ...............................................................................................................44
2.6.3 Organizações Virtuais.............................................................................................46
2.6.4 Arquitetura .............................................................................................................48
2.6.5 Componentes .........................................................................................................52
2.6.6 Tipos ......................................................................................................................54
2.6.6.1 Computação Voluntária.............................................................................................56
2.6.7 A Importância dos padrões ....................................................................................56
2.6.8 Principais sistemas .................................................................................................59
2.6.9 Principais projetos..................................................................................................62
3. Estado da arte em compartilhamento e trabalhos colaborativos nos ambientes das
redes de comunicação.............................................................................................................66
3.1 A Colaboração e a interação na Web 2.0......................................................................66
3.1.1 Análise do artigo.....................................................................................................67
3.2 A confiança em repositórios colaborativos de informação.........................................68
3.2.1 Análise do artigo ....................................................................................................70
3.3 A emergência do compartilhamento como modalidade de produção econômica.......71
3.3.1 Análise do artigo.....................................................................................................72
4. Análise de Grid Computing................................................................................................74
4.1 Contexto social..............................................................................................................74
4.1.1 Trabalho colaborativo.............................................................................................75
4.1.2 Inclusão científica...................................................................................................80
4.1.3 Estudo de Caso – Worldwide LHC Computing Grid.............................................84
4.1.3.1 Visão geral do LHC ..................................................................................................85
4.1.3.2 Coleta de Dados........................................................................................................86
4.1.3.3 Análise.......................................................................................................................93
4.1.3.4 Resultados e contribuições .......................................................................................97
4.2 Contexto Ambiental.......................................................................................................98
4.2.1 Estudo de Caso – Computação Voluntária como uma alternativa de tornar o
consumo de energia mais eficiente................................................................................103
4.2.1.1 Coleta de Dados......................................................................................................103
4.2.1.2 Análise ....................................................................................................................107
4.2.1.3 Resultados e contribuições......................................................................................112
4.3 Contexto Econômico...................................................................................................113
4.3.1 Cloud Computing..................................................................................................115
4.3.1.1 Infra-estrutura.........................................................................................................116
4.3.1.2 Grid Computing e virtualização..............................................................................117
4.3.1.3. Serviços tecnológicos ............................................................................................117
4.3.1.4 Consumidores e Negócios: Market-Oriented Cloud Computing.............................121
4.3.1.5 Tipos de serviço e níveis de abrangência................................................................122
4.3.1.5.1 Tipos de serviços.............................................................................................................123
4.3.1.5.2 Níveis de abrangência ....................................................................................................125
4.3.2 Estudo de Caso – Open Utility Cloud Computing...............................................126
4.3.2.1 Coleta de dados.......................................................................................................127
4.3.2.2 Análise ....................................................................................................................131
4.3.2.3 Resultados e contribuições......................................................................................133
5. Considerações finais..........................................................................................................135
5.1 Tendências e trabalhos futuros...................................................................................137
REFERÊNCIAS BIBLIOGRÁFICAS................................................................................139
WEBGRAFIA........................................................................................................................142
13
1. Introdução
1.1 Motivação
A evolução da tecnologia fortaleceu a concepção de dispositivos com alto poder de
processamento. É possível encontrar no mercado recursos computacionais com processadores
de última geração capazes de processar grandes quantidades de informações que no passado
só poderiam ser processadas por supercomputadores ou computadores paralelos. Foster
(2002a, p.42) intensifica esse cenário com a seguinte afirmação:
Um computador pessoal em 2001 é tão rápido quanto um supercomputador
em 1990 [...]. Computadores pessoais possuem agora mais de 100 GB de
espaço em disco – A mesma quantidade de um centro de supercomputadores
em 1990.
Porém, é notório perceber que as capacidades de processamentos desses recursos
computacionais muitas vezes não são utilizadas completamente, existindo dispositivos com
capacidade excedente. É possível citar os diversos motivos que influenciam esse cenário, mas
destaca-se na maioria das vezes a execução de atividades que não exigem alto poder de
processamento, como a utilização de aplicações simples, navegação na Internet, entre outras.
Essas características mostra que, em muitos casos, as aplicações não requerem alta
capacidade de processamento; porém, isso não significa que a tecnologia de software não
evoluiu, mas aponta que a indústria de hardware teve um gigantesco salto na produção de
recursos computacionais, produzindo máquinas cada vez mais potentes.
Os servidores muitas vezes são responsáveis pela execução de uma aplicação
específica para a disponibilização de um serviço, enquanto os computadores pessoais são
utilizados pelos usuários para tarefas geralmente utilitárias, como uso de aplicativos de
escritório, aplicações pessoais e navegação na Internet, entre outras.
Em ambos os equipamentos é possível encontrar capacidade de processamento
excedente e ociosidade. No caso dos servidores, geralmente as empresas ou as instituições
responsáveis pelo gerenciamento dos recursos optam pela abundância de equipamentos para
fins de balanceamento de carga e alta-disponibilidade, visando assim a garantia de
continuidade do processo produtivo. Entretanto, essas práticas podem acarretar em uma
grande quantidade de máquinas com pouca utilização ao invés de uma quantidade menor de
14
recursos com utilização balanceada.
Os computadores pessoais também possuem recursos computacionais, como
processadores e memória, sem utilização total por parte do usuário, mantendo-se assim
máquinas ociosas conectadas à Internet.
Nesse trabalho, serão abordados os impactos da colaboração através do
compartilhamento de recursos computacionais para a constituição de um ambiente mais
produtivo e menos ocioso. O estudo baseia-se em três vertentes para a análise das vantagens
da tecnologia de Grid Computing e também Cloud Computing:
•
Impacto Social: aborda-se a influência do compartilhamento de recursos
computacionais para a construção de um ambiente de computação compartilhado e
de larga escala, o qual pode ser capaz de servir diferentes instituições,
organizações e pessoas ao redor do mundo. Esse ambiente compartilhado também
é importante para transparência de informação, possibilitada devido a arquitetura
descentralizada de Grid Computing.
•
Impacto Ambiental: aborda-se os benefícios de Grid Computing através do
uso da capacidade ociosa de recursos computacionais, situação que os tornam mais
eficientes em relação ao consumo de energia. Também são considerados projetos
científicos com foco no meio-ambiente que utilizam uma plataforma de Grid
Computing para o processamento de seus dados.
•
Impacto Econômico: o ambiente das redes de comunicação proporciona um
novo modelo econômico baseado no compartilhamento de recursos e também no
trabalhos colaborativos. As vantagens financeiras e os novos modelos de negócios
gerados por Grid Computing e Cloud Computing são tendências que já podem ser
observadas.
1.2 Objetivos
O objetivo desse trabalho é analisar o impacto da tecnologia de Grid Computing na
sociedade e seus benefícios em relação aos contextos social, ambiental e econômico. Analisa-
15
se também a sinergia entre Grid Computing e Cloud Computing, os seus novos modelos de
negócios e tendências.
1.3 Contribuições
Espera-se com esse trabalho apresentar os benefícios da colaboração através do
compartilhamento de recursos computacionais, incentivando a adoção desse conceito por
empresas, instituições e usuários finais de dispositivos computacionais.
1.4 Método de Pesquisa
O método de pesquisa utilizado é composto do levantamento bibliográfico para o
estudo da influência das tecnologias para a sociedade, dos novos modelos produtivos gerados
pela colaboração e compartilhamento de recursos, e da tecnologia de Grid Computing, seu
conceito, sua arquitetura e seus principais projetos.
Posteriormente, são levantados os trabalhos relacionados ao tema da pesquisa para a
formulação do Estado da Arte em compartilhamento de recursos e trabalhos colaborativos nas
redes de comunicação.
Em seguida, são analisadas as vantagens de Grid Computing e como essa tecnologia
gera benefícios nos contextos sociais, ambientais e econômicos. Também levanta-se dados
referente a Cloud Computing e como tal conceito pode ser empregado em conjunto com a
tecnologia de Grid Computing. A técnica de Estudo de Caso é aplicada com o objetivo de
analisar uma situação concreta e reforçar a dissertação de como a Computação em Grade pode
ser vantajosa para o compartilhamento de recursos, trabalhos colaborativos, utilização
otimizada de recursos energéticos e também para a economia financeira.
Yin (2002) afirma que a técnica de Estudo de Caso é a estratégia mais indicada quando
as questões “como” ou "por que" estão presentes, e quando o foco é no fenômeno
contemporâneo entre alguns contextos na vida real. Serão aplicados, ao todo nesta pesquisa,
três Estudos de Caso, sendo um relevante a cada vertente de estudo (contexto social,
ambiental e econômico).
Mais detalhadamente, as seguintes atividades compõem om método de pesquisa.
1. Levantamento Bibliográfico: a pesquisa inicia-se com o levantamento bibliográfico
16
relativo ao tema para fomentar a motivação e o objetivo do trabalho, servindo como
embasamento teórico no desenvolvimento da pesquisa.
2. Estudo das Tecnologias da Inteligência: estudo dos impactos das novas tecnologias
no processo de constituição do ser humano. Análise das interações entre os indivíduos
e as novas formas de conhecer possibilitadas pelas tecnologias da inteligência.
3. Análise dos Benefícios gerados pelas Redes de Comunicação: análise das
características das redes de comunicação que possibilitaram o surgimento de uma nova
economia informacional baseada em compartilhamento de recursos e organização
descentralizada.
4. Estudo do conceito de Compartilhamento e Trabalhos Colaborativos: estudo dos
fundamentos do compartilhamento de recursos nas redes de comunicação, trabalho
colaborativo e produção entre pares.
5. Estudo sobre a Tecnologia de Grid Computing: estudo da tecnologia de Grid
Computing, o seu surgimento, a sua arquitetura e seus benefícios através do modelo de
colaboração e compartilhamento.
6. Levantamento sobre trabalhos relacionados: levantamento e análise de projetos de
pesquisas e trabalhos científicos relacionados ao tema do trabalho.
7. Análise do impacto de Grid Computing no contexto Social: discorre-se nesta
atividade como a tecnologia de Grid Computing, através de sua arquitetura baseada na
descentralização, gera benefícios para a sociedade em relação ao compartilhamento de
recursos e trabalhos colaborativos. Um Estudo de Caso é aplicado com o objetivo de
analisar uma situação concreta e reforçar a dissertação sobre o impacto positivo da
Computação em Grade no contexto social.
8. Análise do impacto de Grid Computing no contexto Ambiental: discorre-se nesta
atividade como a tecnologia de Grid Computing cria novas possibilidades para tornar
17
os recursos computacionais mais eficientes em relação ao consumo de energia. Assim
como na atividade sete, um Estudo de Caso é aplicado para apoiar a dissertação sobre
o impacto positivo de Grid Computing no contexto ambiental.
9. Análise do impacto de Grid Computing e Cloud Computing no contexto
Econômico: discorre-se nessa atividade a sinergia entre ambas as tecnologias, as suas
influências para economia financeira e também as possibilidades de geração de novos
negócios. Assim como nas atividades sete e oito, um Estudo de Caso é aplicado em
uma situação concreta para fomentar a dissertação sobre o impacto de Cloud
Computing no contexto econômico.
10. Fechamento do trabalho: conclusão da pesquisa e proposta de trabalhos futuros.
1.5 Organização do trabalho
No primeiro capítulo dessa pesquisa, Introdução, descreve-se a problemática, a
motivação e os objetivos que serão discutidos nesse trabalho. Apresentam-se também as
contribuições e a metodologia de pesquisa para alcançar os objetivos especificados.
No segundo capítulo, Fundamentação Teórica, apresenta-se o conceito das tecnologias
da inteligência e suas influências na constituição do ser humano. Destaca-se o poder das redes
digitais
com a concepção
de uma nova economia informacional baseada em
compartilhamento e trabalho colaborativo. Apresenta-se também, nesse capítulo, a tecnologia
de Grid Computing, a suas origens, arquiteturas e principais características.
No terceiro capítulo, Estado da Arte em Trabalhos Coletivos e Colaboração nas Redes
Digitais, são revistos os projetos de pesquisas e trabalhos científicos relacionados ao tema do
trabalho.
No quarto capítulo, Análise dos Benefícios de Grid Computing, apresenta-se uma
análise do impacto da tecnologia de Computação em Grade para os projetos científicos,
trabalhos colaborativos e o meio-ambiente. Também são abordadas as vantagens financeiras e
os novos modelos de negócios gerados por Cloud Computing. A técnica de Estudo de Caso é
aplicada para fomentar a dissertação de como a tecnologia de Computação em Grade é
vantajosa para os contextos social, ambiental e econômico.
18
No quinto capítulo são apresentadas as conclusões do presente trabalho, suas
contribuições e trabalhos futuros.
19
2. Fundamentação teórica
Neste capítulo serão estudados os fundamentos da dissertação. Inicialmente, discorrerse-á sobre as influências da tecnologia para a sociedade e como isso alterou a forma de
compartilhamento de informações através do surgimento da Internet, ligando indivíduos
separados geograficamente e modificando a interação entre as pessoas com a concepção das
redes sociais e das comunidades virtuais.
Em seguida, serão destacados os novos modelos de produção gerados pelas novas
tecnologias e seus impactos para a concepção de novos conteúdos que são capazes de
abranger meios alternativos e meios comerciais de comunicação.
Posteriormente, serão expostos o conceito, arquitetura, principais sistemas e projetos
de Grid Computing, uma tecnologia de sistemas distribuídos capaz de favorecer o
compartilhamento de informações e novas formas de interações entre indivíduos conectados
ao mesmo ambiente.
2.1 As tecnologias da inteligência
As tecnologias são influentes na constituição da cultura das pessoas e são capazes de
moldar a inteligência de grupos. Isso é possível, segundo Levy (1990), pois o ser humano
possui algumas funções cognitivas, como forma de conhecer e pensar, que são fortemente
influenciadas pela cultura na qual está inserido, modelo denominado transcendental histórico.
A afirmação abaixo enaltece a importância das tecnologias e suas influências na constituição
do modo de pensar dos seres humanos:
Novas maneiras de pensar e conviver estão sendo elaboradas no mundo das
telecomunicações e da informática. As relações entre os homens, o trabalho,
a própria inteligência dependem, na verdade, da metamorfose incessante de
dispositivos de todos os tipos (LEVY, 1990, p.7).
As tecnologias tornam-se partes integrantes do transcendental histórico podendo
influenciar o processo de constituição do ser humano. Levy (1990) exemplifica esse conceito
afirmando que as concepções de tempo e espaço que se tem hoje não são resultados apenas de
idéias sobre tempo e espaço, mas necessitam de um agenciamento técnico para existirem,
como relógios e procedimentos de cartografia, evidenciando assim a importância das
20
tecnologias para o processo de desenvolvimento humano e social.
Atualmente, é possível destacar uma maior dependência dos indivíduos da sociedade
em relação às tecnologias. Os usuários necessitam estar em constante contato com as
tecnologias que os auxiliam com suas tarefas, ditando um tempo mais veloz e produtivo.
É possível destacar assim que as tecnologias já fazem parte da constituição dos
sujeitos, sendo um fator influente para a transformação da estrutura social, principalmente nos
meios de comunicação e nas formas de adquirir, armazenar e compartilhar conhecimento.
A concepção das tecnologias influencia o modo de conhecer dos indivíduos, que antes
era direcionado por teorias e agora passa a ser constituído por simulações e modelos que não
são possíveis de serem lidos e interpretados, como a forma de textos tradicionais, mas que
geralmente são explorados de uma maneira interativa.
O usuário tem a possibilidade de alterar alguns parâmetros do modelo para obter o
resultado sobre a forma de causa e efeito, adquirindo conhecimento por simulação,
característica que não se assemelha nem com o conhecimento teórico nem com a experiência
prática. Os benefícios do conhecimento por simulação são citados por Levy (1990, p.122):
O conhecimento por simulação, menos absoluto que o conhecimento
teórico, mais operatório, mais ligado às circunstâncias particulares de seu
uso, junta-se assim ao ritmo sociotécnico específico das redes
informatizadas: o tempo real. A simulação por computador permite que uma
pessoa explore modelos mais complexos e em maior número do que se
estivesse reduzido aos recursos de sua imagística mental e de sua memória
de curto prazo, mesmo se reforçadas por este auxiliar, por demais estático,
que é o papel.
É notório que o surgimento das tecnologias modificou o modo de adquirir
conhecimento dos indivíduos atribuindo novas possibilidades a sua cultura. Levy (1990)
dividiu a história da comunicação em três tempos: a oralidade primária, a escrita e a
informática.
Na oralidade primária, destacavam-se as comunidades onde a técnica de comunicação
era principalmente a linguagem oral, sendo assim, todo o saber era transmitido por meio desse
recurso. A memória humana e a fala eram os únicos meios de que a sociedade dispunha para o
armazenamento e a transmissão de conhecimento para as próximas gerações, perdendo-se
assim, conhecimento valioso durante o passar dos tempos.
A escrita foi uma das grandes revoluções na área da comunicação interpessoal, pois
21
possibilitou separar em diferentes contextos o emissor e o receptor da mensagem. A escrita
permitiu que o armazenamento do conhecimento fosse prolongado e que o receptor pudesse
usufruir de uma informação muito tempo após a sua concepção.
A informática é responsável pela concepção das tecnologias da inteligência que
disponibilizam serviços que auxiliam a comunicação e a forma de obter conhecimento entre
os seres humanos. O modelo de conhecimento por simulação exalta a utilização das
tecnologias para a exteriorização das informações, atribuindo a necessidade de
armazenamento de dados em dispositivos computacionais e a disponibilização dos mesmos
para os usuários quando necessário. Essa situação é fortalecida pelo conceito de inteligência
conectiva que será abordada mais a frente nesta dissertação.
As tecnologias de comunicação também permitiram que indivíduos dispersos
geograficamente pudessem agrupar-se em um ambiente para trocarem informações,
debaterem sobre um assunto e trabalharem de forma coletiva por um objetivo em comum,
influenciando a formação de redes sociais na Internet.
2.2 Redes sociais
Uma rede social é definida como um conjunto de dois principais elementos: os atores
(os quais podem ser pessoas, instituições, etc.) e as suas conexões (interações ou laços
sociais). A rede social tem foco na estrutura social, onde os indivíduos (atores) não devem ser
analisados individualmente, sem que as suas conexões não sejam levadas em consideração.
Uma das características mais ricas das redes sociais está justamente na habilidade de poder
estudar a relação e a interação entre os indivíduos (RECUERO, 2006).
Esse é um conceito que está sendo estudado há muito tempo, porém com o avanço das
redes de comunicação, novas pesquisas surgiram com o foco em redes sociais suportadas
pelos ambientes de comunicação mediada pelo computador, ou seja, como a Internet
possibilitou novas formas de relacionamentos entre indivíduos separados geograficamente.
Wellman et al. (1996) citam que quando os computadores interligam as pessoas, assim
como as máquinas, eles tornam-se redes sociais. O autor parte do pressuposto que
computadores conectam pessoas, e por esta razão podem ser estudados como redes sociais:
A análise de redes sociais concebe a estrutura como um padrão de
organização desses membros da rede e suas relações. Os analistas de redes
sociais trabalham descrevendo os padrões latentes das estruturas sociais,
22
explicando o impacto destas estruturas em outras variáveis e levando-as em
conta no estudo das medidas da estruturas sociais (WELLMAN, 1997).
O conceito de redes sociais na Internet foi impulsionado quando a US Defense
Departament's Advanced Projects Research Agency desenvolveu a ARPANET com o objetivo
de interligar as redes de computadores das grandes universidades. Desde os anos 80, os
computadores pessoais conectaram-se com alguns centros de comunicações, os quais também
expandiram suas interligações com outros centros, tornando a ARPANET a “rede das redes”,
conhecida posteriormente como Internet.
Wellman et al. (1996) destacam que a Interntet foi a base para o surgimento da
comunicação mediada pelo computador (computer-mediated communication), permitindo que
pessoas de diferentes lugares e com diferentes fusos horários trocassem informações, seja em
uma forma de comunicação síncrona ou assíncrona. Essa situação também é importante para
tornar os laços sociais menos fortes, mais fluidos e amplos, pois a relação das pessoas não fica
restrita somente aos seus lugares de residência e trabalho, como encontrada antigamente nos
pequenos vilarejos. Os indivíduos podem agora, através da comunicação mediada pelo
computador, relacionar-se com outras pessoas com quem compartilham certos interesses,
mesmo que estes não estejam na mesma localidade.
Os laços sociais são fatores importantes em uma rede social, pois são eles que definem
a efetiva conexão entre os indivíduos envolvidos em uma interação social. Wellman, Chen e
Weizhen (2001) definem os laços sociais:
Laços consistem em uma ou mais relações específicas, tais como
proximidade, contato frequente, fluxos de informação, conflito ou suporte
emocional. A interconexão destes laços canaliza recursos para localizações
específicas na estrutura dos sistemas sociais. Os padrões destas relações – a
estrutura da rede social – organiza os sistemas de troca, controle,
dependência, cooperação e conflito.
Esses laços sociais possuem dois tipos: fortes e fracos. A força de um laço pode estar
associada diretamente com a quantidade de tempo, intensidade emocional e intimidade que
caracterizam um laço. Os laços fortes são aqueles caracterizados pela intimidade, proximidade
e pela intencionalidade de estabelecer conexão entre dois indivíduos. Já os laços fracos são
caracterizados por conexões que não remetem características de proximidade e intimidade.
Wellman et al. (1996) citam que muitos dos laços online, podem compreender
características de laços fortes, principalmente por facilitar contatos frequentes, recíprocos e
23
com finalidades de companheirismo. É comum encontrar pessoas que possuem amigos na
Internet, com quem dividem segredos, recebem apoio emocional e conselhos, mesmo que
nunca tenham se encontrado pessoalmente. Essa é uma característica evidente de laços sociais
fortes na Internet.
Wellman et al. (1996) fortalecem a idéia que a comunicação mediada pelo computador
permite uma relação afetiva entre os seus usuários, citando que há frequentemente uma troca
de suporte emocional através da Internet. Essa situação acontece, segundo o autor, pelo fato
dos usuários passarem muito tempo em frente aos computadores, influenciando a discussão de
seus problemas e dificuldades de forma online.
Em contra partida, Granovetter (1973, apud RECUERO, 2006) afirma que os laços
fracos também são importantes para ajudar a fortalecer a estrutura das redes sociais. Isso
acontece pelo fato dos laços fracos conectarem os grupos constituídos de laços fortes entre
suas conexões. A Internet permite que pessoas ou grupos sociais que não possuem intimidades
possam se relacionar, criando um laço social fraco, para trocar informações e trabalhar em
conjunto visando alcançar um determinado objetivo.
Com o advento da comunicação mediada pelo computador, e principalmente pelo
surgimento da Web, as pessoas não limitam os seus relacionamentos apenas com os seus
familiares, companheiros de trabalho e seus vizinhos. Pelo contrário, os indivíduos que
possuem interesse por determinado assunto podem deixar suas conexões fluírem para a
criação de laços sociais (mesmo que forem laços fracos) com pessoas que tem os mesmos
interesses que o seus, não importando a localização geográfica, podendo ser residentes de
cidades, estados e até países diferentes.
Os estudos das redes sociais foram retomados principalmente após o surgimento da
Web, situação onde os indivíduos começaram a expandir os seus laços de relacionamentos de
forma exponencial. Entretanto, a forma de interação no ciberespaço não é alvo de estudos
somente das redes sociais. Existe um conceito denominado comunidades virtuais que é
bastante abordado por diversos pesquisadores. Na próxima seção, será descrito o conceito de
comunidades virtuais e a sua sinergia com as redes sociais.
2.2.1 Comunidades virtuais nas redes sociais
O conceito de comunidades é um grande desafio de definição para as ciências sociais.
24
É possível entender como comunidades as aldeias, os grupos étnicos e até mesmo as nações,
apesar de o conceito ter sofrido algumas modificações em sua abordagem ao longo do tempo.
Baumann (2003) é uma das referências para o conceito de comunidades, tendo
abordado em seu livro a relação das comunidades e a segurança no mundo atual. O autor
supõe que há uma oposição entre liberdade e comunidade no período contemporâneo:
Há um preço a pagar pelo privilégio de 'viver em comunidade'. O preço é
pago em forma de liberdade, também chamada 'autonomia', 'direito à autoafirmação' e à 'identidade'. Qualquer que seja a escolha, ganha-se alguma
coisa e perde-se outra. Não ter comunidade significa não ter proteção;
alcançar a comunidade, se isto ocorrer, poderá em breve significar perder a
liberdade (BAUMANN, 2003, p.10).
A própria definição de Baumann (2003, p.57) fortalece o cenário onde a liberdade é
oposta à forma de pertencer a uma comunidade, conforme a seguinte afirmação:
Tecida de compromissos de longo prazo, de direitos inalienáveis e
obrigações inabaláveis (...) E os compromissos que tornariam ética a
comunidade seriam do tipo do 'compartilhamento fraterno', reafirmando o
direito de todos a um seguro comunitário contra os erros e desventuras que
são os riscos inseparáveis da vida individual.
Baumann (2003) fez um estudo da relação das comunidades com a questão da
segurança, apontando que a elite da sociedade tenta criar os seus próprios ambientes de
interações de forma seletiva, onde somente os eleitos possuem acesso, esquecendo
da
comunidade pura, que pode oferecer algum tipo de vantagem aos indivíduos, sem importar-se
com suas classes sociais.
O conceito de comunidade, assim como as redes sociais, também teve uma grande
retomada nos seus estudos com o surgimento da comunicação mediada pelo computador. As
comunidades virtuais na Web vêm sendo abordadas por muitos autores como um conceito
muito próximo às redes sociais.
Castells (2003) cita que o termo comunidade virtual surgiu a partir de novas interações
sociais, ocasionadas principalmente pela Internet. O autor também destaca que é necessário
reestruturar o conceito de comunidade, focando principalmente no seu papel de apoio social,
constituída através de grupos esparsos e não restritos a apenas uma localidade.
Rheingold (1996) foi um dos principais autores a abordar o conceito de comunidades
virtuais, definindo-o como agregações sociais que emergem da rede quando uma quantidade
25
suficiente de pessoas permanece em discussões públicas longas o suficiente, com sentimento
humano, para formar teias de relações pessoais no ciberespaço.
De acordo com essa definição, demonstra-se que os elementos formadores das
comunidades virtuais são as discussões públicas; as pessoas que se encontram ou que mantêm
contato através da Internet; o tempo e o sentimento,
características fáceis de serem
observadas nos ambientes de comunicação mediada pelo computador, consequentemente
também perceptíveis nas redes sociais.
Assim, nota-se uma forte sinergia entre os conceitos de comunidades virtuais e de
redes sociais. Esse fator é tão relevante que influenciou Rheingold (2000) a publicar um texto
onde repensou sobre o seu conceito de comunidades virtuais e a suas relações com as redes
sociais.
Wellman (1997) também é outro autor a citar a forte relação entre os conceitos de
redes sociais e comunidades virtuais, defendendo que os agrupamentos sociais na Internet
teriam a presença de variados tipos de conexão. Seguindo esse raciocínio, o autor prefere
chamar os agrupamentos de redes sociais, ao invés de comunidades, devido à variedade de
seus laços sociais e sua abrangência geográfica.
O conceito de comunidades está fortemente relacionado com um ambiente onde há
relações através de laços sociais fortes. Entretanto, a Internet está influenciando o surgimento
de novos modelos de interações entre indivíduos, onde os grupos passam a ser constituídos
por laços menos fortes e com uma abrangência geograficamente maior, por isso Wellman
(1997) prefere chamar tal conceito de rede social.
É importante destacar que as redes sociais na Internet correspondem, muitas vezes, a
redes sociais na vida concreta, e que a comunicação mediada por computador é uma forma de
manter e criar novos laços sociais, os quais não são obrigatoriamente mantidos apenas no
ciberespaço.
As comunidades virtuais também apresentam características próprias em contraste com
as redes sociais. Recuero (2006) cita que o estudo de comunidades virtuais a partir das redes
sociais seria o mais apropriado, principalmente por esse último conceito permitir um maior
alargamento geográfico dos laços sociais. O autor também defende que a metáfora da rede
social é importante por enfatizar a estrutura da rede, local onde a comunidade virtual é
encontrada.
Assim, pode-se defender a idéia que tanto as redes sociais, quanto as comunidades
26
virtuais, mesmo apresentando sinergia nas suas definições, não correspondem simplesmente a
um mesmo conceito. Em outras palavras, o grau de proximidade, a intensidade das interações
e o compromisso entre os indivíduos são elementos que ajudam a diferenciar o conceito de
redes sociais e comunidades virtuais.
A rede social torna-se a base dos relacionamentos para a criação de laços sociais entre
os indivíduos, muitas vezes de maneira menos intensa e mais dispersa geograficamente. Já as
comunidades virtuais emergem a partir de tal cenário de interação, onde indivíduos podem se
agrupar de acordo com seus objetivos e interesses em comum, cooperando intensamente entre
si para a construção de laços sociais fortes.
Apesar desses conceitos apresentarem diferenças, vale ressaltar que ambos são
importantes para o surgimento de novas formas de interações e relacionamentos na sociedade,
situação que também influenciou o amadurecimento do conceito de colaboração.
O conceito de redes sociais é evidenciado nessa dissertação por esta pesquisa ter como
objetivo investigar as formas de colaboração e compartilhamento entre os indivíduos, situação
que caracteriza laços sociais mais fluídos e menos fortes, e não interação de intimidade e
suporte emocional, como encontrados em comunidades virtuais.
A tecnologia de Grid Computing, conforme será discorrida mais a frente nesta
dissertação, também favorece a criação de novas formas de redes sociais em seu ambiente,
permitindo que indivíduos possam interagir, criando laço sociais fracos, através do
compartilhamento de recursos computacionais, dados e aplicativos.
As redes sociais têm papéis fundamentais para o surgimento de novos modelos
produtivos, principalmente influenciando o compartilhamento e a colaboração entre os
indivíduos. As redes sociais também têm uma função importante para facilitar a comunicação
e troca de informação, estimulando a colaboração entre indivíduos que não têm laços sociais
fortes, mas que compartilham interesse por um mesmo assunto. Na próxima seção será
abordado sobre uma revolução que modificou o processo produtivo nas redes digitais.
2.3 Riquezas das redes
As redes de comunicação são responsáveis por importantes mudanças na sociedade,
desde a criação de novas formas de interações e relacionamento entre as pessoas até o
surgimento de novos modelos produtivos de conteúdos, produtos e serviços.
27
De acordo com essa situação, Benkler (2006) afirma que a economia informacional
está sofrendo importantes saltos sociais na concepção dos seus bens, partindo de um
movimento controlado pela indústria privada de informação para uma indústria social, não
proprietária e descentralizada. O grande fator responsável por essa mudança foi o surgimento
das redes de comunicações construídas com recursos capazes de interligar comunidades
distribuídas geograficamente, permitindo assim o aumento da produção nonmarket, ou seja,
uma produção informacional e cultural fora do sistema de mercado e organizada de uma
maneira descentralizada.
Atualmente, o declínio dos preços dos recursos computacionais, dispositivos de
comunicações e armazenamento tornou possível a produção informacional e cultural para uma
significante fração da população mundial conectada à Internet. Em meados do século
dezenove, era necessário um grande investimento de capital físico para a circulação da mídia
impressa em larga escala. O surgimento de diversas técnicas como telégrafos, rádios,
transmissores de televisão a cabo e computadores de grande porte, como os mainframes,
foram necessários para que a informação tivesse um alcance para um público além do limite
local do emissor. Como resultado, a produção de informação tornou-se ainda mais
privilegiada e restrita para as indústrias informacionais que possuíam recursos para
investimento nessas tecnologias.
Entretanto, o surgimento do ambiente de comunicação possibilitado pelas redes de
computadores mudou esse cenário, pois permitiu que o material necessário para a produção de
informação estivesse disponível para um grande número de indivíduos conectados na rede.
Segundo Benkler (2006), a remoção das barreiras físicas na efetiva produção de
informação transformou a criatividade humana e os fatores estruturais da tradicional
economia da informação, concebendo um novo ambiente denominado economia
informacional conectada.
Na economia informacional conectada, o capital necessário para produção de
informação está distribuído na sociedade através dos computadores pessoais e também das
redes sociais, enfatizando a questão de que simples usuários conectados na Internet possam
desenvolver quaisquer atividades que envolvam a criatividade humana através de seus
computadores pessoais, sozinhos ou em cooperação com outras pessoas.
O resultado desse cenário é o florescimento de uma produção informacional e cultural
baseada no ambiente de redes sociais, o qual pode ser aplicado para o surgimento de diversos
28
recursos que não são tratados como bem de propriedade exclusiva, mas sim como recursos
abertos e compartilhados.
Jenkins (2006) cita que a convergência das mídias também tem papel fundamental para
que simples consumidores, posteriormente chamados de prossumidores, comecem a gerar
conteúdos que podem abranger as mídias tradicionais e também as atuais mídias participativas
e coletivas.
Como exemplo, o mesmo autor cita o episódio ocorrido em 2001, quando um
estudante criou, utilizando o Photoshop1, uma edição do personagem Beto da Vila Sésamo
interagindo com o terrorista Osama Bin Laden. Essa montagem faz parte de uma brincadeira
de internautas denominada “Beto é do Mal”, que traz o personagem como membro da Ku Kux
Klan, ou até mesmo ao lado do Hitler.
Logo após os ataques de 11 de Setembro, um editor de Bangladesh fez pesquisas na
Internet para coletar imagens de Osama Bin Laden com o objetivo de criar cartazes
antiamericanos. O editor provavelmente não conhecendo o personagem Beto e julgado a
imagem de Bin Laden como um bom retrato, utilizou tal conteúdo para a confecção de
cartazes que, pouco tempo depois acabou espalhado por todo o Oriente Médio em
manifestações.
Repórteres da CNN registraram imagens de protestos contra os Estados Unidos da
América onde estavam sendo utilizados cartazes com a imagem de Beto e Osama Bin Laden.
Os representantes do Children's Television Workshop, criadores do programa Vila Sésamo,
descobriram a imagem da CNN e ameaçaram tomar medidas legais contra o seu uso
inapropriado, porém sem direcionar quem seriam os responsáveis por esse abuso - o estudante
que criou a imagem, ou os simpatizantes terroristas que a utilizaram em cartazes.
O que realmente chama a atenção nesse caso é a convergência entre as mídias em um
cenário global. Um jovem estudante fez uma colagem de um personagem de um programa de
televisão e a disponibilizou na Internet, o que possibilitou que cidadãos de países do Oriente
Médio pudessem utilizar o conteúdo para gerar cartazes antiamericanos durante protestos, os
quais foram transmitidos para todo o mundo através de um dos maiores veículos de
informação internacional. Esse é um exemplo de conteúdos gerados por prossumidores que
podem cruzar por meios comerciais e meios alternativos.
É possível destacar que serviços e produtos intangíveis, como os softwares produzidos
1 Photoshop – Aplicativo utilizado para edição de imagem.
29
por uma coleção de indivíduos organizados muitas vezes pelas redes sociais na Internet, já
estão aptos a competir em relação à qualidade com bens gerados por indústrias especializadas
e orientadas ao mercado. O Sistema Operacional Linux é um grande exemplo de software
desenvolvido colaborativamente por voluntários, sendo capaz de traçar batalhas árduas com
grandes empresas desenvolvedoras de software na busca pelo mercado consumidor.
O compartilhamento e o trabalho colaborativo são questões extremamente valiosas em
um ambiente de interação proporcionado pelas redes sociais, onde usuários de todas as partes
do mundo podem se comunicar, trocar informações e trabalhar em conjunto, seja em assuntos
relacionados aos seus hobbies, profissionais ou até mesmo em prol da ciência.
2.3.1 Compartilhamento e produção entre pares
A concepção da Internet e o rápido crescimento das redes sociais influenciaram a
concepção de um novo meio de produção. A visão existente no fim do século vinte era do
poder de produção centralizado nas indústrias com grande capacidade de investimento e não
se pensava em um conjunto de indivíduos voluntários trabalhando colaborativamente para a
produção de um bem capaz de superar um produto gerado por uma grande indústria. Porém, é
exatamente isso que está acontecendo atualmente e um exemplo incontestável é o processo de
desenvolvimento de software livre.
A emergência dos softwares de código-livre é um fenômeno de sucesso baseado em
colaboração através do compartilhamento de recursos e produção entre pares. O sistema
operacional GNU/LINUX, o servidor Web Apache, a linguagem de programação Perl, são
práticas de sucesso que surgiram apenas da colaboração de voluntários, sem a influência de
uma indústria especializada.
Os voluntários dificilmente participam de projetos colaborativos por serem
influenciados por seus superiores ou por receberem uma oferta em dinheiro, porém dedicam
seu trabalho visando retorno a longo prazo, como a divulgação do seu trabalho na sociedade e
a prestação de serviços.
Benkler (2006) cita que os ambientes das redes digitais possibilitam um novo modelo
de organização de produção baseado em algumas características, como a descentralização, a
colaboração e a não-proprietariedade. Esse novo processo produtivo evidencia as vantagens
do compartilhamento de recursos e resultados com os indivíduos que cooperam sem
30
influências de mercados, o que foi chamado de produção entre pares baseada em commons,
O termo common significa uma forma particular de estruturar o direito de acesso, uso e
controle sobre recursos. A principal característica de common é o fato de nenhuma pessoa ter
total e exclusiva autoridade sobre os recursos, mas permitir que sejam utilizados por qualquer
indivíduo, entre um número de pessoas, através de regras que possivelmente emergiram das
influências dos próprios usuários.
Os commons podem ser divididos em quatro tipos baseados em dois parâmetros. O
primeiro parâmetro define se o recurso está aberto para qualquer indivíduo ou somente para
um grupo definido de pessoas. Os oceanos, o ar, a luz do sol são exemplos de commons
abertos para qualquer indivíduo. Os bens imóveis privados, como casas e terrenos, são
exemplos de commons abertos somente para um determinado grupo.
O segundo parâmetro é baseado no fato de um bem ser regulamentado ou nãoregulamentado. Geralmente, os commons com acessos limitados são governados por algum
tipo de regra, enquanto os commons abertos não são regulamentados.
A condição de produção entre pares, a qual compartilha semelhantes características
com a tecnologia peer-to-peer, caracteriza um conjunto de práticas de produção baseada em
commons, onde o sistema produtivo depende da ação individual que é auto-selecionável e
descentralizada, ao contrário de uma produção baseada em hierarquia (BENKLER, 2006).
Bauwens (2002) também cita, na mesma linha, que o modelo peer-to-peer não deve ser
visto somente como uma tecnologia, mas que isso tornou-se um processo de produção, uma
maneira de organizar a forma que produtos imateriais são produzidos, distribuídos e
consumidos.
O ambiente conectado das redes sociais favorece a produção entre pares provendo
novos mecanismos que auxiliam os indivíduos distribuídos geograficamente a adotarem
estratégias radicalmente descentralizadas de cooperação, ao invés de utilizarem recursos
proprietários ou bens baseados nos sistemas de mercado. A economia informacional
conectada, influenciada pelo modelo de produção entre pares destaca a importância das
informações produzidas de maneira distribuída e colaborativa.
Bauwens (2002) afirma que um dos maiores exemplos desse tipo de produção é o
software livre. Delanda (2001) cita que os grupos hackers, que muitas vezes se organizam e
formam alguma rede social na Internet, são os grandes responsáveis pelo sucesso dos
softwares livres. O autor defende que o termo hacker não está relacionado com os vândalos
31
digitais (chamados de crackers), mas sim com pessoas que buscam o desenvolvimento dos
seus próprios softwares.
O autor cita ainda que esses indivíduos não precisam necessariamente possuir o título
de bacharel em ciências da computação, mas que a motivação por criar algo que eles julgam
útil faz com que eles desenvolvam novos softwares sem a presença de uma imposição
profissional ou alguma recompensa econômica.
É possível encontrar na Internet diversas redes sociais focadas no desenvolvimento de
software livre que agrupam pessoas de diversos países sem que haja alguma empresa por trás
ou qualquer mecanismo de mercado presente.
Os voluntários que compartilham interesse pelo objetivo de um determinado projeto
podem trabalhar de forma colaborativa para desenvolverem uma nova aplicação. É importante
destacar que nesse cenário de produção colaborativa entre pares, o compartilhamento é uma
característica fundamental, pois permite que todos tenham acesso às mesmas informações e
produtos desenvolvidos.
Delanda (2001) cita que os dois principais itens responsáveis pelo sucesso do
movimento do software livre são: O modelo das licenças (principalmente a GPL2) e o modelo
de produção. É perceptível que os dois itens apresentam grande sinergia entre si,
principalmente pelo fato das licenças permitirem maior transparência e confiança no processo
colaborativo de desenvolvimento de software. Os voluntários muitas vezes participam dos
projetos de desenvolvimento de software livre por acreditarem que as licenças ajudam a
proteger o intelectual social através do conceito de commons, onde existe a eliminação da
exclusiva propriedade sobre um bem.
Os commons são encontrados na Internet como um meio de expansão das
possibilidades de práticas colaborativas, mobilização comum e compartilhamento de recursos.
Os indivíduos tendem a colaborar mais quando eles encontram um bem gerenciado como um
common, devido as suas características de liberdade e não exclusividade.
O ambiente informacional constituído por redes sociais e influenciado pelos conceitos
de colaboração são também importantes para o fortalecimento de novo modelo de
inteligência, como é chamado por diversos autores. Isto se dá pelo fato de pessoas de
diferentes países, culturas, formações e experiências poderem interagir via Internet para
trabalhar em conjunto, compartilhando os seus conhecimentos específicos.
2 General Public License ­ Licença para software livre idealizada por Richard Stallman no final dos anos 80.
32
Para exemplificar esse cenário, pode-se pensar em um projeto de desenvolvimento de
uma nova aplicação, onde pessoas com diferentes tipos de experiências estão trabalhando em
conjunto. Existem indivíduos com conhecimento na linguagem de programação Java, outros
com experiência na linguagem C++ e também pessoas que trabalham apenas com
gerenciadores de bancos de dados.
Todos esses indivíduos podem compartilhar os seus conhecimentos para agregar valor
no processo produtivo. O indivíduo que trabalha com a linguagem Java pode ser o
responsável pelo desenvolvimento da interface gráfica de uma aplicação, mas pode estar em
constante contato com os desenvolvedores em C++ que estão responsáveis pela construção de
outra parte do sistema e até mesmo com os administradores dos bancos de dados. Assim, se o
desenvolvedor de Java estiver enfrentando alguma dificuldade, ele poderá ser ajudado por
pessoas com diferentes experiências e perspectivas do projeto. Na próxima seção serão
estudados os novos conceitos de inteligência que emergiram a partir das redes de
comunicação e forma impulsionadas por fatores coletivos e de colaboração.
2.4 Inteligência nas redes
Diversas pesquisas foram iniciadas com foco na reflexão sobre a dimensão e
abrangência do coletivo, estudando de qual forma os indivíduos atuam em grupo, mesmo que
eles apresentem características pessoais diferentes (como país de origem, formação, idade,
sexo, etc.), e como eles podem agregar valor social para o coletivo do qual fazem parte.
As redes sociais na Internet permitem que pessoas pertencentes a distintas culturas e
com diferentes perfis possam trocar experiência em um ambiente de comunicação mediada
pelo computador, possibilitando que novas formas de inteligência possam ser estimuladas
através do compartilhamento e colaboração de cada um dos indivíduos.
Levy (1999) define o termo inteligência coletiva como “uma inteligência distribuída
por toda a parte, coordenada em tempo real, que resulta uma mobilização efetiva das
competências”. Essa definição constata que na Inteligência Coletiva o conhecimento está
espalhado por todos os lugares do mundo, onde cada pessoa pode apresentar um tipo de
conhecimento diferente em relação a outros indivíduos, sejam estes inseridos na mesma ou
em diferentes culturas.
A Internet é um espaço de compartilhamento de informações, um ambiente onde os
33
indivíduos submetem seus conhecimentos e expertises individuais para objetivos comuns.
Levy (1999) cita também que nenhuma pessoa sabe tudo e que todo o conhecimento reside na
humanidade. De acordo com essa afirmação, exalta-se que, através das redes sociais, é
possível que as tarefas que as pessoas não tinham conhecimento ou não podiam fazer
sozinhas, agora tornam-se possíveis de serem realizadas coletivamente.
Na Wikipedia, embora haja alguns mecnismos de controle, todo o conhecimento foi
gerado por indivíduos espalhados ao redor do mundo em um formato de voluntariado. Pessoas
nascidas em diferentes países, com diferentes idades e formações podem trabalhar em
conjunto, adicionando, editando e removendo informações para enriquecer um determinado
artigo nessa enciclopédia colaborativa. As mesmas características, conforme já abordado
anteriormente,
também
podem
ser
facilmente
encontradas
nos
movimentos
de
desenvolvimento de software livre.
A Internet possibilitou que novas formas de ações coletivas fossem capazes de serem
realizadas com sucesso. As pessoas conectam-se em um ambiente de comunicação e
computação, onde podem executar suas tarefas com ajuda de algum outro indivíduo que
reside em um país diferente, criando uma situação de cooperação que nunca tinha sido
observada anteriormente.
Rheingold (2002) fortalece a idéia que as novas tecnologias, principalmente aquelas
que potencializam a mobilidade, como as redes de telefonia móvel e as redes wireless, são de
extrema importância para facilitar ações colaborativas através das redes sociais. O autor
defende que o acesso às redes modifica a capacidade e a forma das pessoas executarem suas
atividades, pois elas passam a ter acesso constante a repositórios de informações e também
podem solicitar ajuda para pessoas que não estão presentes no seu espaço físico, mas que são
acessíveis através da comunicação mediada por computador.
Com base nessas características, Rheingold (2002) definiu Smart Mob (Multidão
Esperta), conceito que corresponde a um grupo que se comporta de maneira inteligente ou
eficiente em uma rede onde suas conexões crescem exponencialmente, permitindo que as
pessoas possam agir de forma conjunta. O autor ainda cita que as pessoas que formam a
Smart Mob cooperam através de uma nova forma devido ao fato de utilizarem aparelhos que
possuem tanto capacidade de comunicação quanto de computação.
Rheingold (2002) cita que uma Smart Mob emerge quando redes sociais utilizam
principalmente tecnologias móveis, computação pervasiva e métodos peer-to-peer para
34
coordenar uma ação coletiva. O autor exemplifica essa afirmação citando o cenário da queda
do presidente das Filipinas, onde os cidadãos filipinos organizados por meio de mensagens de
texto via celular (sms3) promoveram manifestações pacíficas que conseguiram tirar do poder o
presidente Joseph Estrada.
É importante ressaltar que as tecnologias e as redes sociais têm papel fundamental para
identificar e mobilizar as pessoas próximas, criando laços extremamente valiosos para que
possam atuar em conjunto por um mesmo objetivo, muitas vezes sem importar sua cultura,
formação, sexo ou idade. Levy (1999) afirmou que todos os indivíduos na humanidade têm
um tipo de conhecimento e que, por esse motivo, nenhuma pessoa deveria ser desprezada.
Rheingold (2002) escreveu que as interações entre as pessoas podem transformar uma simples
multidão em uma multidão esperta.
Por sua vez, Surowiecki (2006), com uma proposta visionária, defende o que ele
chama de sabedoria das multidões, um assunto extremamente polêmico, já que a grande
maioria das pessoas associa a idéia de multidão com tumulto e desordem. Entretanto, o que o
autor mostra é que as decisões tomadas por uma multidão eclética são mais inteligentes do
que as opiniões geradas por um pequeno grupo de especialistas.
Para defender sua definição, Surowiecki (2006) cita diversos exemplos, podendo ser
destacado o caso do desaparecimento do submarino americano Scorpion no Atlântico Norte.
Nesta situação, os oficiais da marinha em terra possuíam somente informações do possível
local do desaparecimento, o qual correspondia a uma área com raio de 20 milhas em águas
que apresentavam variações de profundidade.
John Crave, um oficial da marinha naquela época, teve a idéia de levar as informações
disponíveis para especialistas das mais diversificadas área do conhecimento, pedindo para que
estimassem o possível local onde estaria o submarino Scorpion.
Após receber todas as coordenadas dos especialistas, Crave utilizou essas informações
em uma fórmula matemática, obtendo um impressionante resultado – apontou a localização
do submarino com um pequeno erro de 200 metros, o que seria uma tarefa bastante difícil, se
fosse trabalhada apenas por especialistas de uma única área de atuação.
Entretanto, Surowiecki (2006) menciona que a sabedoria das multidões é fácil de ser
observada em várias situações na sociedade, porém são muito difíceis de serem obtidas por
terem que obedecer quatro principais características:
3 Short Message Service – Serviço de comunicação presente nas redes de telefonia móvel que permite o envio e recebimento de mensagens de texto.
35
•
Diversidade – Os indivíduos que compõem a multidão devem ser discrepantes em
relação a sua cultura, formação, área de atuação e opinião. O consenso não é uma
propriedade valiosa; pelo contrário, nesse modelo a diversidade é o fator que
engloba diferentes visões sobre um mesmo assunto, permitindo aproveitar as
opiniões de estudiosos, profissionais de áreas afins, para enriquecer a ótica sobre o
assunto abordado. É notável que esse modelo gere conteúdos úteis (informações) e
inúteis (ruídos), porém destaca-se que a própria multidão tende a anular os ruídos.
•
Independência – Os indivíduos devem formular suas opiniões de maneira
individual, sem que haja a influência de outros integrantes da multidão, pois esse
cenário favorece o surgimento de informações e também diminui os ruídos.
•
Descentralização – As opiniões coletivas são mais valiosas e inteligentes quando
não há um fator de controle sobre isso, onde os indivíduos possam pensar e emitir
suas opiniões de maneira livre e baseando-se apenas em sua cultura e formação.
•
Agregação – As opiniões emitidas por todos os indivíduos que compõem a
multidão devem ser agregadas para formar uma opinião coletiva, assim como
aconteceu na situação do submarino Scorpion.
Rheignold (2008), autor que havia publicado anteriormente um texto sobre multidões
espertas, aponta que uma multidão esperta não necessariamente é uma multidão sábia,
contrapondo alguns pontos de Surowieck (2006).
Rheignold (2008) cita que as tecnologias por si só não garantem democracia e
qualidade das multidões, mas que possivelmente devem haver algumas regras a serem
seguidas para que uma multidão se torne cada vez mais inteligente. O mesmo autor ainda
sugere que as pessoas engajadas nesses movimentos tenham consciência que isso é apenas o
início e que talvez elas devessem assumir uma posição de liderança para fazer as multidões
mais inteligentes, extraindo o bem intelectual mais valioso de cada indivíduo.
É importante destacar que o conceito de multidões existe há muito tempo, antes do
surgimento das tecnologias, mas são elas que, nos dias atuais, facilitam a comunicação entre
36
seus indivíduos. As formas de interações entre os indivíduos foram reformuladas após a
concepção da comunicação mediada pelo computador, quando passaram a se comunicar em
tempo real sem a necessidade de estarem no mesmo espaço físico e quando começaram a
receber ajuda através de respostas e compartilhamento de informação de forma instantânea.
Mas não é somente a forma de comunicação síncrona, envio e recebimento de
mensagem entre dois ou mais indivíduos em tempo real, que favorece um cenário de
inteligência nas redes. A Web é um espaço onde existem muitas informações que foram
publicadas por diversas fontes em um determinando tempo no passado que estão disponíveis
para serem acessadas a qualquer momento.
No período anterior a Internet, as pessoas necessitavam locomover-se até uma
biblioteca para ter acesso a uma determinada obra. Se ela quisesse obter alguma informação
instantaneamente, a forma mais prática era perguntar para as pessoas ao seu redor, que
poderiam não saber as respostas.
O advento da Internet reformulou totalmente esse cenário. Hoje em dia, a pessoa tem
uma quantidade extremamente alta de informações disponível a partir de dispositivos
conectados na Web em qualquer espaço de tempo. Na Web não existe horário de
funcionamento. Pelo contrário, tornou-se um grande repositório de informações coletivas
aberto 24 horas nos 7 dias da semana, seja através de sites de veículos de comunicação,
portais corporativos, blogs pessoais e até mesmo ferramentas wikis
É justamente seguindo essa mesma linha de raciocínio que De Kerckhove (1997)
define o que ele chama de inteligência conectiva. O autor cita que a Internet é uma espécie de
cérebro global composto através da interligação de cérebros individuais. Ele ainda cita, mais
profundamente, que a Web é uma extensão de nossas próprias mentes interligadas com
recursos das mentes de milhões de indivíduos. As pessoas expandem suas mentes na Internet
através de blogs, sites, sistemas wikis, participação em fórum e comunicação em tempo real
(instant messaging)
De Kerckhove (1997) cita, para fortalecer a sua opinião, que as pessoas buscavam
através de reuniões locais, antes da Internet, uma forma para conectarem suas mentes com o
objetivo de alcançar certo consentimento mental. Porém, com a comunicação mediada por
computador, as pessoas podem fazer isso mesmo estando em diferentes cidades, através do
uso de aplicações de comunicação síncrona ou assíncronas.
Assim, os indivíduos estão em um ambiente de mentes conectadas, onde existe um
37
grande acesso as informações pertencentes a diversas classes e que podem ter sido construídas
em qualquer espaço de tempo. Na Web é fácil encontrar notícias extremamente recentes até
conteúdos publicados há muitos anos que foram digitalizados e disponibilizados na rede.
É possível perceber uma grande sinergia entre inteligência conectiva e inteligência
coletiva. Entretanto, De Kerckhove (2009) cita em uma entrevista a diferença entre ambos os
conceitos. O autor inicia essa diferenciação da seguinte forma:
Pelo pensamento eu compreendo o mundo, pelo espaço o mundo me
compreende. Pascal compreendeu bem a diferença entre o eu pensante e a
pertinência do ponto no espaço. A nova possibilidade é: eu compreendo o
mundo, o mundo me compreende, sem exclusão, juntos. E cada indivíduo
que compreende o mundo comigo partilha da minha inteligência, da minha
consciência conectiva. É diferente da emergência de uma inteligência
coletiva, como a de que fala Pierre Levy (DE KERCKHOVE, 2009).
O autor ainda acrescenta que a inteligência conectiva tem aplicações reais e não é
apenas uma teoria. Para fortalecer sua afirmação, ele exemplifica que a partir de um
notebook, sem importar sua localização, ele pode se conectar com pessoas com quem trabalha
e pode executar seu trabalho a distância da mesma maneira como seria se ele estivesse cara a
cara com seus companheiros.
É interessante notar que os diversos conceitos de inteligência nas redes apresentados
até o momento compartilham uma mesma característica: os indivíduos estão cada vez mais
interligados com um número maior de conexões e que tendem a aumentar com o passar do
tempo. No presente momento é possível encontrar diversas pessoas que recorrem a Web como
fonte de informação, seja para uma pesquisa acadêmica, para resolver um problema no
trabalho ou para esclarecer uma dúvida pessoal relacionada a assuntos de conhecimento geral.
Entretanto, destaca-se que o conceito de inteligência conectiva é o que melhor
relaciona-se com o tema do trabalho. Conforme foi definido anteriormente, pode-se pensar a
inteligência conectiva como a extensão da mente humana, a qual está interligada com a mente
de inúmeras pessoas. Adicionalmente, pode-se exaltar que as tecnologias apresentam incrível
capacidade de processamento e de armazenamento, tornando-se mais eficientes para
determinadas tarefas em conjunto.
A tecnologia de Grid Computing compartilha, similarmente a Web, características com
o modelo de inteligência conectiva. Os ambientes de Grid Computing são espaços com alta
capacidade de processamento constituídos com recursos de diversas entidades e indivíduos,
38
permitindo assim que eles fiquem conectados para troca de informações, execução de
aplicações em conjunto e compartilhamento de resultados.
Seguindo o modelo de inteligência conectiva, pode-se pensar um ambiente de Grid
Computing como um cérebro global (aglomerado de recursos computacionais, aplicações e
dados) composto por inúmeros recursos de indivíduos e instituições, os quais podem
compartilhar informações, aplicações e resultados, além de recursos computacionais que
elevam a capacidade de processamento do ambiente. A tecnologia de Grid Computing será
abordada em detalhes nas próximas seções.
2.5 Sistemas distribuídos
Nessa seção trata-se do conceito de sistemas distribuídos, suas características e
arquiteturas.
2.5.1 Histórico
Desde o surgimento dos primeiros computadores devido, entre outros, ao pesquisador
Von Neuman4 na década de quarenta, até o avanço das atuais redes de dados, foi constante a
alteração no processo produtivo de software em relação à sua funcionalidade e à sua
complexidade para atender à crescente demanda de utilização das tecnologias ao redor do
mundo.
Os primeiros computadores de grande-porte, chamados mainframes, possibilitaram o
modelo de computação com a utilização de funcionalidades centralizadas em apenas um
dispositivo, ou seja, os recursos estavam todos disponíveis em um mainframe central e os
usuários utilizavam seus serviços disponíveis através de terminais locais ou remotos.
A partir de 1985, o aumento da produção de dispositivos computacionais e o avanço da
Internet foram fatores fundamentais para o surgimento de um novo paradigma no
desenvolvimento de softwares. Os recursos tornaram-se compartilhados e também
distribuídos entre um grande número de computadores separados geograficamente,
característica que fortaleceu a concepção da arquitetura cliente-servidor.
Na arquitetura cliente-servidor, o programa executado em máquinas locais (clientes)
tem acesso aos serviços fornecidos por computadores remotos (servidores) fazendo o acesso
4 John Von Neuman – Matemático húngaro criador do primeiro Computador Digital Eletrônico.
39
através de uma rede de dados, caracterizando assim um processamento de informação
distribuído entre as duas máquinas.
Entretanto, esse novo modelo de software conduziu a novos desafios em relação ao
desenvolvimento e gerenciamento de programas distribuídos, como também questões técnicas
pertinentes ao ambiente da época: Ausência de estados globais dos recursos remotos (acesso a
memória RAM das máquinas remotas), dificuldades para solucionar problemas básicos
devido à discordância entre as partes responsáveis pelos recursos distribuídos para tomarem
uma ação comum (FISCHER; LYNCH; PETERSON, 1985). Entretanto, hoje em dia já
existem algoritmos específicos que são utilizados para solucionar esses desafios.
No início dos anos 90, com a concepção da Web, a arquitetura de sistemas distribuídos
passou a assumir um papel de tecnologia definitiva para os desenvolvedores de software, que
passaram a visar seus aplicativos com funcionalidades de acesso remoto a sistemas legados,
sistemas de fornecedores e clientes.
Esse cenário favoreceu o surgimento de diversas técnicas e tecnologias de sistemas
distribuídos com foco no processamento e compartilhamento de informações de uma forma
simples e ágil, facilitando assim a tarefa do desenvolvedor de aplicativos e trazendo
transparência para os usuários finais.
2.5.2 Arquitetura
A arquitetura de sistemas distribuídos é abordada por diversos autores – Tanenbaum
(1994) define Sistemas Distribuídos como uma "Coleção de computadores independentes que
se apresenta ao usuário como um sistema único e consistente".
Adicionalmente, Coulouris, Dollimore e Kindberg (2002) também destacam esse
modelo de processamento como uma "Coleção de computadores autônomos interligados
através de uma rede de computadores equipados com software que permita o
compartilhamento dos recursos do sistema: hardware, software e dados".
Baseado nessas duas definições pode-se então consensuar a definição de sistemas
distribuídos como uma coleção de computadores que compartilham os seus recursos
(hardware, software e dados) de uma maneira transparente para a interface humana, ou seja, o
usuário tem a percepção de que todos os recursos utilizados são locais.
Os sistemas distribuídos são construídos através de uma camada lógica denominada
40
middleware, executada acima da camada do sistema operacional e abaixo das aplicações,
sendo a responsável pelo funcionamento de um sistema distribuído através de diversos
recursos físicos separados, conforme a Figura 1:
Figura 1 – Arquitetura dos Sistemas Distribuídos (TANENBAUM; STEEN, 2002)
2.5.3 Características
Algumas características são típicas na definição de um sistema distribuído, porém cada
um pode apresentar propriedades diferentes dependendo da sua finalidade. As características
julgadas importantes para grande parte dos sistemas distribuídos são destacadas nesse
trabalho.
Transparência
Um dos objetivos mais importantes de um sistema distribuído é o fato de ocultar, para
o usuário, que os processos utilizados por ele são fisicamente distribuídos por diversos
computadores (TANENBAUM; STEEN, 2002). Alguns aspectos de transparência são
destacados a seguir:
•
Transparência do acesso: oculta a maneira de como um recurso é alcançado.
•
Transparência da posição: oculta a localização de onde o recurso é
encontrado.
•
Transparência da migração: oculta a possibilidade de um recurso poder
mover-se para outra posição.
•
Transparência de deslocamento: oculta a possibilidade de um recurso poder
ser movido para outra posição enquanto estiver em uso.
•
Transparência de replicação: oculta que um recurso pode ser replicado.
•
Transparência de concorrência: oculta que um recurso pode ser utilizado por
41
diversos usuários concorrentes.
•
Transparência de falha: oculta a falha e a recuperação de um recurso.
•
Transparência de persistência: oculta se um aplicativo está sendo executado
em memória real ou em disco.
Um sistema distribuído é considerado transparente se o usuário, ao utilizá-lo, tem a
sensibilidade de um único sistema, e sem necessariamente perceber que ao utilizar certa
funcionalidade está executando processos em diversas máquinas fisicamente separadas.
Escalabilidade
Escalabilidade é a característica do sistema que define a funcionalidade de gerenciar e
atender o crescimento de demanda de trabalho de forma uniforme (BONDI, 2000). Essa
funcionalidade habilita o sistema a suportar o aumento da carga de trabalho, adequando a sua
utilização, de modo a minimizar ou eliminar impactos no desempenho do sistema.
São constantes as dificuldades de escalabilidade em sistemas que possuem alguma
funcionalidade centralizada, como por exemplo, serviços disponibilizados por um único
servidor.
Interoperabilidade
Interoperabilidade é a propriedade referente a habilidade de diversos sistemas e
tecnologias trabalharem juntos. IEEE (1990) define interoperabilidade como a habilidade de
dois ou mais sistemas trocarem informações e poderem utilizar esses dados após a troca.
Em outras palavras, interoperabilidade significa a possibilidade um sistema
desenvolvido com a tecnologia A comunicar-se com outra plataforma desenvolvida com a
tecnologia B sem a necessidade de grandes mudanças em suas arquiteturas. Para tal feito,
torna-se importante a padronização das interfaces das tecnologias.
Portabilidade
Portabilidade é a característica de mover, sem a necessidade de grandes adaptações e
modificações, uma determinada aplicação executada em um ambiente A para um ambiente B
42
que possua as mesmas interfaces. Garen (2007) reforça a definição de portabilidade:
Portabilidade não implica que uma aplicação será simplesmente transferida
para uma nova plataforma, mas também não significa que um grande
esforço é necessário para que ela funcione. Portabilidade é simplesmente a
habilidade de utilizar o programa em outro sistema com razoável custo e
esforço.
Dependabilidade
Dependabilidade é a habilidade para disponibilizar um serviço considerado confiável.
O serviço entregue por um sistema tem o seu comportamento definido pela percepção dos
usuários; portanto, a sua funcionalidade deve estar de acordo com a sua especificação.
Os atributos da característica de dependabilidade são:
•
Disponibilidade: prontidão para a entrega do serviço quando requisitado.
•
Confiabilidade: continuação da entrega do serviço correto.
•
Segurança: ausência de consequências catastróficas no ambiente.
•
Integridade: ausência de mudanças impróprias no sistema.
•
Manutibilidade: habilidade para reparos e manutenções.
O conceito de tolerância a falha também é aplicado à característica de dependabilidade
e sugere preservar a entrega do serviço corretamente mesmo na presença de falhas.
Geralmente, esse conceito é implementado utilizando técnicas de detecção de erros e seus
subsequentes procedimentos de recuperação (AVIZIENIS;LAPRIE;RANDELL, 2001).
2.6 Grid Computing
A tecnologia de Grid Computing será abordada com mais detalhes nesta seção, como o
seu histórico, definição, arquitetura, principais sistemas e projetos.
2.6.1 Histórico
A história dos sistemas distribuídos concebendo os conceitos de Grid Computing
surgiu na década de 80, período de intensa pesquisa, desenvolvimento e disponibilização de
43
hardware, software e aplicações para computadores paralelos.
Nessa época, os desenvolvedores de sistemas estavam focados em aplicações de larga
escala que facilmente atingiam os limites dos recursos computacionais, mesmo sendo
executadas nos computadores paralelos mais rápidos presentes no momento. Essa situação
fortaleceu a pesquisa pelo processamento além dos limites locais das máquinas para alcançar
resultados de problemas de larga escala.
Grid Computing foi pensado inicialmente como uma arquitetura para estender os
paradigmas da computação paralela de clusters firmementes acoplados para sistemas
geograficamente distribuídos. Porém, essa tecnologia está sendo altamente utilizada como
uma plataforma para a integração de aplicações e recursos fracamente acoplados.
Nos anos 90, surgiu um projeto nos Estados Unidos da América denominado US
Gigabit testbed, com foco nas aplicações distribuídas em áreas metropolitanas (metropolitanarea) e também em áreas mais abrangentes (wide-area). O projeto era composto de quatro
ambientes de testes (testbeds) com os objetivos de investigar o potencial das arquiteturas de
redes e prover interface de contato para aplicações distribuídas.
O projeto I-WAY (Information Wide Area Year) é considerado a primeira
implementação de Grid Computing e tinha como objetivo interligar redes de
supercomputadores.
Em
1995,
durante
uma
conferência
sobre
supercomputação,
pesquisadores pioneiros integraram um ambiente de teste com mais de 17 redes
interconectadas.
Mais de 60 aplicações foram desenvolvidas para a conferência e disponibilizadas no IWAY, assim como, um software rudimentar de Grid para prover acesso, segurança e
coordenar os recursos. Esse projeto abriu as portas para o paradigma de Computação em
Grade no meio acadêmico.
A tecnologia de Grid Computing tornou-se um conceito global devido ao trabalho de
diversas instituições ao redor do mundo para o desenvolvimento e especialização dessa
técnica (BERMAN; FOX; HEY, 2003).
O programa SETI@HOME foi um dos projetos pioneiros na implementação de uma
moderna infra-estrutura de Grid Computing orientada à Internet. Esse projeto tinha como
objetivo analisar os dados captados pelo telescópio de rádio instalado em Arecibo, Puerto
Rico, para a busca de sinais de vidas extraterrestre.
44
2.6.2 Definição
Grid Computing, também chamada de Computação em Grade em português, é o
conceito que está reformulando as infra-estruturas computacionais, tornando-as mais
produtivas e eficientes. Essa tecnologia tem como objetivo elevar a capacidade computacional
do ambiente, através da integração de dispositivos distribuídos geograficamente. O termo
Grid Computing surgiu como analogia aos sistemas de distribuição de energia (Power Grids),
devido a sua característica de prover recursos de forma contínua e transparente.
A arquitetura de Grid Computing visa o gerenciamento de acesso a recursos remotos
de modo escalável, seguro e com alto-desempenho, disponibilizando um cenário de
colaboração científica com o objetivo de compartilhar recursos para grupos de trabalhos
distribuídos geograficamente (BERMAN; FOX; HEY, 2003).
Foster, Kesselman e Tuecke (2001) definem Grid Computing como um ambiente capaz
de conduzir o compartilhamento de recursos de forma segura, coordenada e flexível entre
coleções dinâmicas de indivíduos e instituições. Chetty e Buyya (2002) definem como “A
habilidade de compartilhar, selecionar e agregar recursos distribuídos geograficamente para
solucionar problemas de larga escala na ciência, engenharia e comercio"
Baseado em todas as definições acima identifica-se, como característica principal dos
ambientes em grade, o compartilhamento e a integração de recursos distribuídos para o
aumento da capacidade de processamento. Esses recursos são geralmente os processadores, as
memórias RAM5 e os dispositivos de armazenamento, os quais apresentam em sua grande
maioria capacidade excedente, ou seja, possuem carga de trabalho menor do que a sua
capacidade total.
De acordo com esse cenário, a tecnologia de Grid Computing visa à integração de
componentes distribuídos para a constituição de um supercomputador virtual disponível para
diversas aplicações.
Tradicionalmente, o usuário ao submeter uma aplicação a um ambiente de Grid
Computing está utilizando transparentemente a capacidade excedente de diversos dispositivos
distribuídos geograficamente e pertencentes a distintos usuários e instituições.
Atualmente, o conceito de sistemas distribuídos está tornando-se popular além das
fronteiras acadêmicas, situação que influenciou o surgimento de diversas nomenclaturas como
5 Memória de acesso aleatório que permite a leitura e a escrita, tornando­se a principal memória em computadores.
45
Compute Grids, Data Grid, Bio Grid, Knowledge Grid, Cluster Grid e simplesmente Grid.
Foster (2002b) sugere então três propriedades para que um sistema seja considerado um Grid
Computing:
•
Coordenação de recursos que não estão sujeitos a um controle centralizado.
•
Utilização de padrões abertos, protocolo de propósito geral e interfaces.
•
Prover qualidade de serviço não-trivial.
É possível, com base nessas afirmações, exaltar a diferença entre a arquitetura de
Cluster e Grid Computing. A análise de uma arquitetura de Cluster demonstra certas
propriedades presentes também em um sistema de
Grid Computing, como o
compartilhamento de carga de trabalho e a distribuição de serviços através de uma rede local.
Porém, em um ambiente de Cluster, o controle dos servidores e serviços geralmente é
centralizado, descaracterizando-o como um sistema de Grid Computing. Buyya (2002)
reforça a diferença com a seguinte afirmação:
Se acontece o compartilhamento de recursos gerenciado por um único
sistema global sincronizado e centralizado, então é um cluster. Em um
cluster, todos os nós trabalham cooperativamente em um objetivo comum e
o objetivo é a alocação de recursos executada por um gerente centralizado e
global. Em Grid, cada nó, possui seu próprio gerente de recursos e política
de alocação.
A Web também apresenta características presentes em um sistema de Grid, como a
utilização de protocolos de propósitos gerais e abertos, mas também não pode ser considerada
(pelo menos até o presente momento) uma arquitetura de Grid, devido à ausência de
coordenação de recursos para garantir a qualidade de serviços (FOSTER, 2002b).
Gentzsch (2002 apud MAROWKA, 2002) argumenta, em contra partida as três
propriedades definidas por Foster (2002b), que essas definições podem reduzir o potencial e a
rica variedade das tecnologias de Grid, com diferentes arquiteturas, modelos operacionais,
aplicações.
De acordo com Marowka (2002), a definição de Grid é uma visão aberta que
dificilmente pode ser definida. A tentativa de definir Grid pode alcançar somente o horizonte
tecnológico previsto que, em média, tem um espaço de dois anos. A tecnologia de Grid
Computing remete a novos paradigmas de processamento que podem acarretar no surgimento
de novas arquiteturas e padrões, podendo mudar a sua direção e, consequentemente, a sua
definição.
46
Porém, consolidando as definições acima, é notório destacar que o acesso simples a
um conjunto de recursos distribuídos geograficamente e a colaboração entre comunidades e
organizações são as características fundamentais para obter sucesso em uma arquitetura de
Grid Computing.
2.6.3 Organizações Virtuais
A característica elementar de colaboração entre organizações distintas e distribuídas
traz grandes desafios à tecnologia de Grid Computing. Foster, Kesselman e Tuecke (2001,
p.2) destacam como principal desafio no conceito de Grid Computing o "[...]
compartilhamento de recursos coordenados e a solução de problemas em organizações
virtuais dinâmicas e multi-institucionais".
O compartilhamento citado não se refere a uma simples troca de arquivo, mas envolve
acesso direto a computadores, aplicações, dados, entre outros recursos que são necessários
para solucionar colaborativamente um determinado problema.
Com base nessa característica, a ação de compartilhamento deve ser altamente
controlada, com os provedores e consumidores definindo políticas claras de utilização, como,
quais os recursos que serão compartilhados, quem está habilitado a compartilhar e sobre qual
condição.
Os conjuntos de indivíduos e instituições definidos pelas mesmas regras de
compartilhamento são denominados Organizações Virtuais (OV). Exemplos de OVs são: uma
determinada Pesquisa Científica, Membros de um Consorcio, Membros de uma Pesquisa de
Mercado, entre outros, podendo estes variar em seu escopo de trabalho, tamanho, duração,
comunidade e estrutura, mesmo participando do mesmo ambiente de Grid Computing.
Em Grid Computing é notório a necessidade por um ambiente flexível para o
relacionamento de compartilhamento, com níveis precisos de controle sobre como os recursos
podem ser compartilhados e usados.
Foster, Kesselman e Tuecke (2001) defendem que as tecnologias tradicionais de
Computação Distribuída não tratam desses desafios, citando como exemplo a Internet,
tecnologia destinada a comunicação e a troca de informação entre computadores, sem prover
serviços de coordenação de recursos entre os sítios de computação.
47
Outro exemplo a ser citado são os Provedores de Serviços de Aplicações (ASP), que
disponibilizam seus serviços com algumas restrições, como o uso de uma Virtual Private
Network para a comunicação com seus clientes.
A tecnologia de Grid Computing foca exatamente o compartilhamento dinâmico entre
organizações, sendo considerada como um complemento para as tecnologias de Computação
Distribuídas tradicionais. O potencial de uso das Organizações Virtuais para a tecnologia de
Grid Computing é destacada:
Nós acreditamos que as Organizações Virtuais têm potencial para
mudar drasticamente a maneira que nós usamos os computadores
para solucionar problemas, assim como a Web mudou a forma como
trocamos informações (FOSTER; KESSELMAN; TUECKE, 2001,
p.3).
A Figura 2 tem como objetivo clarificar um ambiente de Grid Computing composto
pelas interações entre os Participantes, as Organizações Reais e Organizações Virtuais.
Figura 2 - Ambiente de Organizações Virtuais (FOSTER; KESSELMAN; TUECKE, 2001)
A Figura 2 exemplifica um cenário composto por três Organizações Reais (círculos) e
duas Organizações Virtuais – A OV P é responsável por agrupar participantes interessados no
consórcio Aerospace Design, enquanto a OV Q é responsável por agrupar indivíduos que
concordam em compartilhar seus recursos com o projeto de Ray Tracing Computation.
Os participantes da Organização Real da esquerda participam apenas em projetos da
48
OV P; os participantes da Organização Real da direita participa em projetos da Organização
Virtual Q; enquanto a terceira Organização Real possui participantes em P e Q. O modelo de
Grid Computing é bastante dinâmico, e suas políticas de governança e acesso aos recursos
variam de acordo com as Organizações Reais, e Organizações Virtuais envolvidas na
constituição do ambiente.
2.6.4 Arquitetura
As Organizações Virtuais são conceitos que exigem da arquitetura de Grid Computing
novas funcionalidades e modelos de integrações para a abrangência de recursos
geograficamente distribuídos pertencentes a diferentes entidades. Esse desafio acarretou a
necessidade pela busca da definição de um modelo de arquitetura capaz de integrar recursos
atendendo o requisito de interoperabilidade.
Foster, Kesselman e Tuecke (2001) defendem a arquitetura de Grid Computing como a
responsável pela definição de mecanismos básicos para que cada usuário de uma Organização
Virtual possa negociar, estabelecer e gerenciar os relacionamentos de compartilhamento. A
arquitetura deve ser aberta e baseada em padrões, facilitando a extensibilidade,
interoperabilidade, portabilidade e compartilhamento de códigos.
Pode-se também construir API's6 e SDK's7 para a disponibilização de abstrações
necessárias para tornar um Grid utilizável. Essas práticas, juntamente com a arquitetura de
Grid Computing, constituem o que atualmente é chamado de middleware, o serviço necessário
para suportar aplicações em um ambiente distribuído.
Para facilitar o desenvolvimento de novas funcionalidades em um ambiente de Grid,
foi concebida uma arquitetura escalável em camadas. A Figura 3 demonstra as cinco camadas
de uma arquitetura de Grid Computing:
6 Application Program Interface – É um conjunto de regras e padronizações adotado por um software para que algumas de suas funcionalidades possam ser utilizadas por outros aplicativos.
7 Software Development Kit – É um conjuto de ferramentas utilizadas para o desenvolvimento de softwares
49
Figura 3 – Arquitetura em Camadas (FOSTER; KESSELMAN; TUECKE, 2001)
Camada de fábrica
Na arquitetura de Grid Computing, a camada de nível mais baixo é denominada fábrica
e corresponde aos dispositivos físicos ou recursos que os usuários do Grid desejam
compartilhar (FOSTER, 2002a). Os componentes pertencentes à fábrica implementam as
operações locais que ocorrem em recursos específicos, como resultado de uma operação
iniciada em camadas de níveis superiores.
Esses recursos podem ser entidades físicas ou lógicas, e podem utilizar protocolos que
não são específicos da arquitetura de Grid Computing, como por exemplo, o NFS8 para acesso
ao local de armazenamento de dados.
Exemplos dos tipos de recursos da camada de fábrica são: recursos computacionais,
recursos de armazenamento, rede e dispositivos especializados, como telescópios,
microscópios, entre outros.
Camada de conectividade
A camada de conectividade define os protocolos de comunicação e autenticação
requeridos por uma transação em uma rede de Grid Computing. Esses protocolos derivam
atualmente do TCP/IP, e habilitam a possibilidade de troca de dados entre os recursos
presentes na camada da Fábrica.
8 NFS – Protocolo de acesso a arquivos através da rede.
50
Porém, é possível, com o avanço da tecnologia de Grid Computing, que novos
protocolos sejam necessários para o desenvolvimento de diversas funcionalidades e serviços.
Em relação às soluções de autenticação, os mecanismos presentes nos ambientes de
Organizações Virtuais dependem das seguintes características:
•
Single sign-on: oferece a funcionalidade para o usuário autenticar-se apenas uma
vez no ambiente de Grid e assim ter acesso aos múltiplos recursos presentes na
camada de Fábrica.
•
Delegação: o usuário tem a possibilidade de delegar os seus direitos para que um
programa possa acessar determinados recursos.
•
Integração com diversas soluções de segurança: cada sítio ou provedor de
recursos pode aplicar qualquer solução de segurança localmente, como por
exemplo, Kerberos9 e Unix10. Entretanto, o ambiente de Grid Computing deve estar
apto para interoperar ao mesmo tempo com diversos tipos de segurança de
diferentes locais.
•
Relações baseadas em confiança: para que o usuário possa usufruir de múltiplos
provedores de recursos ao mesmo tempo, o sistema de segurança deve prover
serviços para que isso possa acontecer sem a necessidade de solicitar cooperação
entre os provedores.
Camada de recursos
A camada de recursos desenvolve, sob a camada de conectividade, protocolos (APIs e
SDKs) para a negociação segura, iniciação, monitoramento e controle de operações de
compartilhamento em recursos individuais. A camada de recursos invoca funções da camada
de fábrica para o acesso e controle dos recursos.
Destaca-se que, nessa camada, ocorre exclusivamente o gerenciamento de recursos
individuais e não há qualquer controle sobre o estado global e atômico do sistema como um
9 Protocolo de transporte de rede que oferece serviços de segurança.
10 Sistema Operacional Multitarfa que possui determinados serviços de segurança.
51
todo. A camada de recursos distingue-se em duas classes:
Protocolos de Informação: responsável por obter informações sobre a
estrutura e o estado dos recursos.
•
Protocolos de Gerenciamento: responsável por negociar acesso a um recurso
compartilhado.
•
Camada coletiva
Enquanto a camada de recursos preocupa-se apenas com recursos individuais, a
camada coletiva tem enfoque na captura de interações entre coleções de recursos. Os
principais serviços são destacados a seguir:
•
Co-alocação,
Alocação,
escalonamento
e
negociação
de
recursos
(brokering): permite que os participantes de uma Organização Virtual possam
solicitar alocação de um, ou mais recursos, para o escalonamento de tarefas.
•
Replicação de dados: gerencia o armazenamento de dados de uma
Organização Virtual.
•
Contabilidade e Pagamento: coleta informações sobre a utilização de
recursos para propósito de cobrança.
•
Colaboração: permite o trabalho colaborativo distribuído através do
compartilhamento e troca de informações, síncrona ou assíncrona, entre usuários
potenciais de uma comunidade.
As funcionalidades citadas anteriormente destacam serviços que são utilizados na
prática. Vale ressaltar que os protocolos da camada de recursos são genéricos e largamente
disponibilizados, enquanto os protocolos da camada coletiva são focados nas aplicações ou
domínios específicos.
52
Camada de aplicação
A camada de aplicação compreende as aplicações geradas pelos usuários no ambiente
de uma Organização Virtual. As aplicações desenvolvidas utilizam os serviços definidos nas
camadas inferiores, como acesso aos dados, descoberta de recursos, entre outras
funcionalidades (FOSTER; KESSELMAN; TUECKE, 2001).
Conforme já abordado, os componentes das camadas coletivas são responsáveis pela
disponibilização de serviços necessários para a execução de uma aplicação, ou seja, a camada
de aplicação depende diretamente da camada coletiva para a execução de determinadas
funcionalidades.
2.6.5 Componentes
A arquitetura em camadas da tecnologia de Grid Computing foi descrita anteriormente.
Nessa seção, serão abordados os principais componentes de Grid Computing para habilitação
de uma plataforma robusta e confiável. A IBM (2008) destaca os seis principais componentes:
Segurança
Os computadores e servidores em uma plataforma de Grid são responsáveis pela
execução de diversas aplicações, muitas vezes processando informações valiosas para uma
determinada organização. Os componentes de segurança estão concentrados em serviços de
criptografia, autenticação e autorização, provendo maior segurança para a plataforma.
Interface do usuário
O acesso às informações que estão sendo executadas em uma plataforma de Grid
Computing é um aspecto importante para as Organizações Virtuais. Os usuários necessitam ter
acesso às informações de maneira simples e fácil. As Interfaces disponibilizadas são
responsáveis por atender esse requisito, geralmente através de duas maneiras:
•
Interface fornecida pela aplicação que o usuário está executando.
•
Interface habilitada pelo administrador da plataforma de Grid, geralmente em
53
forma de um portal Web, para prover acesso as aplicações e recursos disponíveis.
Gerenciamento da carga de trabalho
Os usuários executam diversas aplicações em um ambiente de Grid Computing e
necessitam ter informações sobre os recursos disponíveis para alcançar melhor desempenho.
Sendo assim, as aplicações estabelecem comunicação com o gerenciador de carga de trabalho
para a descoberta de recursos e seus respectivos estados dentro de uma plataforma de Grid.
Em muitas implementações de Grid Computing, o gerenciador de carga de trabalho é
chamado de Broker, sendo o responsável pela descoberta de recursos disponíveis e
apropriados para a execução de uma aplicação, com base nas características da própria
aplicação e parâmetros fornecidos pelos usuários.
Em algumas plataformas, o broker pode atuar em conjunto com o serviço chamado
MDS, o qual provê informações sobre recursos disponíveis em um Grid e seus respectivos
estados.
Escalonador
Uma vez que os recursos tenham sidos identificados pelo sistema de Broker, o próximo
passo é a definição de recursos que serão utilizados para a execução de uma aplicação e
atribuição de Jobs. Deve-se levar em consideração a prioritização de filas, gerenciamento de
carga, recursos reservados, monitoramento e progresso.
É coerente citar que se a execução de uma aplicação corresponde a um conjunto de
Jobs independentes e sem nenhuma interdependência, então, não é necessário a utilização de
um Escalonador especializado.
Entretanto, se for necessário a alocação de recursos específicos ou a execução de Jobs
concorrentes que requererem comunicação inter-processo, um escalonador específico pode ser
utilizado para coordenar eficientemente a execução em Grid.
Gerenciamento de dados
A aplicação pode, em muitas vezes, ser iniciada em recursos que não possuem os
dados necessários para a execução; portanto, o gerenciador de gados deverá movimentar os
54
dados para os locais necessários através de várias máquinas e diversos protocolos.
Gerenciamento de recursos
O gerenciador de recursos é responsável pela iniciação de um determinado Job em um
recurso específico, assim como o monitoramento do estado de um conjunto de Jobs e a coleta
de seus resultados quando finalizado.
A Figura 4 ilustra as interações entre os componentes da plataforma de Grid
Computing citados acima.
Figura 4 - Interações entre os Componentes (JACOB et al., 2008)
É importante destacar que uma plataforma de Grid Computing não é implementada
utilizando apenas os componentes citados; pelo contrário, é um ambiente aberto que pode
envolver tecnologias adicionais e protocolos existentes.
2.6.6 Tipos
As tecnologias de Grid podem ser atualmente classificadas em três principais tipos:
•
Grid Computing – Grade Computacional
•
Data Grid – Grade de Dados
•
Network Grid – Grade de Redes
Há também um novo conceito chamado Computação Voluntária, o qual pode abranger
55
qualquer um desses três tipos.
Grade computacional
O foco das grades computacionais é a integração de diversos recursos computacionais
para a habilitação de um ambiente com alto poder de processamento. Uma característica
fundamental desses ambientes é a exploração dos recursos excedentes em computadores
pessoais e servidores, diminuindo a ociosidade presente nesses dispositivos e aumentando a
capacidade de processamento do ambiente de Grid Computing.
As grades computacionais possibilitam que aplicações que exigem alto poder de
processamento possam ser executadas em um ambiente constituído por diversas máquinas
distribuídas geograficamente e de forma descentralizada. Essas características influenciaram o
nome Grid Computing como um conceito de integração de recursos compartilhados e
distribuídos.
Grade de dados
A grade de dados visa o aproveitamento dos espaços de armazenamento disponíveis e
ociosos em diversas máquinas interligadas para a constituição de um repositório de dados com
alta capacidade de armazenamento. Esses ambientes, dependendo da quantidade de máquinas,
podem facilmente alcançar as medidas de Terabyte.
Grade de redes
Este tipo de grade tem a funcionalidade de prover serviços de comunicação tolerantes
a falha e com alto nível de desempenho. As grades de redes utilizam a capacidade total ociosa
de um canal de comunicação para o aumento da largura da banda disponível, e também
aproveitam a existência dessa interligação para promover serviços de colaboração e
compartilhamento.
Vale ressaltar que as tendências demonstram futuras integrações desses tipos de
tecnologia de Grid Computing com diversos conceitos, possibilitando o surgimento de novos
tipos de ambientes como, por exemplo, Mobile Grid, Semantic Grid, entre outros.
56
2.6.6.1 Computação Voluntária
A tecnologia de Grid Computing é em muitas vezes citada também como Computação
Voluntária. Pode-se destacar que a Computação Voluntária é um modelo derivado de Grid
Computing. Conforme visto em sua arquitetura, a tecnologia de Computação em Grade visa a
integração de recursos computacionais para criar um ambiente de processamento com alta
capacidade, onde os usuários podem compartilhar dados, executarem aplicações em conjunto
e trabalharem colaborativamente.
Baseado nessas características, é possível afirma que Computação Voluntária é um
modelo de processamento que utiliza a tecnologia de Grid Computing como arquitetura, mas
que apresenta um ambiente menos interativos para os seus participantes.
Em Computação Voluntária, os usuários participam apenas compartilhando os seus
recursos computacionais, mas raramente possuem acesso ao ambiente informacional, o que
não permite que eles coletem informações ou iniciem uma aplicação. Em outras palavras, o
modelo de Computação Voluntária apresenta o conceito de voluntariado relacionado somente
ao compartilhamento de recursos computacionais de forma passiva, onde os voluntários
raramente são envolvidos no projeto para ajudar de forma mais interativa, seja executando
uma aplicação ou compartilhando resultados.
2.6.7 A Importância dos padrões
A integração de dispositivos heterogêneos e distribuídos geograficamente é uma
característica eminente em um ambiente de Grid Computing, tornando necessária a adoção de
determinados padrões para a habilitação da interoperabilidade entre os recursos.
Os padrões são necessários para definir e facilitar as técnicas de comunicação entre
diversos dispositivos, sistemas e ambientes de Grid Computing. A OGSA (Open Grid Service
Architecture) foi desenvolvida por membros do grupo, atualmente denominado OGF (Open
Grid Forum), e tem como base os conceitos e tecnologias de Web Services11, representando
uma evolução para a arquitetura dos sistemas de Computação em Grade.
A OGSA define o que são os serviços de Grid, as suas estruturas gerais e a forma de
disponibilização no ambiente através dos padrões existentes em Web Services, como o
11 Web Services é a solução utilizada para a integração e a comunicação entre diferentes sistemas e aplicações.
57
protocolo SOAP12 e a linguagem de marcação XML13.
Essas características remetem a um sistema com padrões abertos de comunicação para
proporcionar interoperabilidade. Em um ambiente orientado a serviços, a interoperabilidade
pode ser particionada em dois subproblemas - A definição das interfaces de serviços e os
protocolos que podem ser utilizados para invocar uma determinada interface.
A visão orientada a serviços permite endereçar a necessidade por mecanismos de
definições de interfaces padrões, transparência local e remota, e adaptação para os sistemas
operacionais locais.
Também se destaca a simplificação da virtualização, ou seja, a funcionalidade que
permite o acesso consistente através de múltiplas plataformas com transparência de
localização, habilitando o mapeamento de múltiplas instâncias de recursos lógicos em um
mesmo recurso físico (FOSTER et al., 2002).
Na OGSA todos os dispositivos são tratados como serviços - recursos computacionais,
recursos de armazenamento, redes, aplicativos e bancos de dados. A OGSA também abrange
seis principais áreas definidas em termos de capacidade frequentemente requiridas em um
cenário de Grid Computing para definir os seus serviços.
Com base nos serviços descritos abaixo, é possível destacar que a OGSA cobre os
principais desafios presentes na arquitetura e nos componentes que formam um ambiente de
Grid Computing.
Serviços de infra­estrutura
Os serviços de infra-estrutura são um conjunto de funcionalidades comum requiridas
por serviços de níveis superiores. A OGSA utiliza a tecnologia de Web Services para construir
sua infra-estutura e também Web Service Description Language (WSDL) para definir as
interfaces dos serviços.
Os serviços de infra-estrutura são os responsáveis pela nomeação de recursos,
comunicação e descoberta. Na OGSA um recurso é uma entidade física ou lógica que suporta
o uso ou a operação de uma aplicação de computação ou de um ambiente de informação
computacional. Os recursos geralmente fornecem algum tipo de capacidade, como os
servidores, redes, memórias, aplicações e bancos de dados.
12 SOAP é o protocolo desenvolvido que permite a chamada remota de funções em diferentes sistemas.
13 XML ­ Recomendação da W3C para gerar linguagens de marcação para necessidades específicas.
58
Serviços de gereciamento de execução
Os serviços de gerenciamento de execução são responsáveis por tratar problemas de
gerenciamento para a conclusão de unidades de trabalho, incluíndo os serviços da OGSA e as
aplicações legadas. Em outras palavras, esses serviços estão preocupados com a execução de
unidades de trabalho, como alocação, provisionamento e o gerenciamento do ciclo de vida.
Serviços de gerenciamento de dados
Os serviços de gerenciamento de dados estão relacionados com os processos de
localizar, armazenar, transferir e gerenciar os recursos de dados. A arquitetura de dados da
OGSA apresenta um conjunto de ferramentas de serviços de dados e interfaces que são
capazes de tratarem diversos cenários. Estes serviços direcionam o acesso a dados através de
Web Services para dados estruturados e não estruturados.
Serviços de segurança
A segurança é a habilidade de proteger os recursos presentes no ambiente, tanto os dos
usuários, quanto os dos provedores de recursos. Vale ressaltar que os recursos correspondem
geralmente a informações, dados, comunicação e serviços de processamento de dados, os
quais são disponibilizados muitas vezes em forma de serviço. Os serviços de segurança tem
como finalidade prover autenticação, autorização, garantia de integridade.
Serviços de gerenciamento de recursos
Os serviços de gerenciamento de recursos provêem o gerenciamento de capacidades
para os recursos presentes no ambiente de Grid Computing. Estes recursos podem ser os
recursos individuais, componentes do Grid e também a infra-estrutura da OGSA.
Serviços de informação
Os serviços de informação correspondem a habilidade de criar e acessar informações
sobre o ambiente de Grid Computing e os seus recursos. As informações correspondem aos
dados dinâmicos e qualquer dado logado no sistema.
59
2.6.8 Principais sistemas
Nas seções anteriores foram descritos os conceitos, as arquiteturas, os tipos e os
componentes de Grid Computing. Nesta seção, serão abordadas as implementações dos
principais sistemas de Grid Computing como, por exemplo, os projetos colaborativos
GLOBUS, gLITE, OurGrid, BOINC e também produtos corporativos.
GLOBUS
Globus Toolkit (GLOBUS, 2008) é um projeto open-source que visa à habilitação da
tecnologia Grid permitindo que as pessoas compartilhem ciclos de CPU, bancos de dados e
outras ferramentas em distintas corporações, instituições e comunidades geográficas, sem
sacrificar a autonomia local.
O Globus oferece módulos e bibliotecas para o monitoramento, descoberta e
gerenciamento de recursos, sendo um sistema caracterizado como uma coleção de serviços
que permite o desenvolvimento de aplicações em maneira incremental, podendo adicionar
serviços extras conforme necessário.
Os serviços do Globus são divididos em serviços locais e serviços globais, sendo que
os serviços globais são constituídos através da integração de diversos serviços locais.
O Globus Toolkit também inclui módulos para segurança, gerenciamento de recursos,
gerenciamento de dados, comunicação, detecção de falhas e portabilidade, os quais são
empacotados como uma coleção de componentes que podem ser utilizados para o
desenvolvimento de aplicações.
O destaque do Globus Toolkit é a sua disponibilização como software livre,
característica que permite a adoção de uma estratégia colaborativa, permitindo que inúmeras
pessoas ao redor do mundo possam melhorar, alterar e adicionar novas funcionalidades ao
sistema.
gLITE
gLITE (2009) é um middleware de Grid Computing que nasceu do trabalho
colaborativo de mais de 80 pessoas de 12 diferentes grupos acadêmicos e centros de pesquisas
industrias, os quais fazem parte do projeto EGEE.
60
O gLite (2009) provê um ambiente de trabalho para o desenvolvimento de aplicações
de Grid que utilizam o poder da computação distribuída através da Internet. O gLite segue a
arquitetura orientada a serviços (SOA), a qual habilita a interoperabilidade entre diferentes
serviços de Grid e facilita a intergração com padrões, como a própria OGSA.
É importante destacar que as evoluções no gLITE foram também fortemente
influenciadas pelo projeto do LCG, projeto de Grid Computing utilizado pelo expermento do
Superacelerador de Partículas.
OurGrid
O OurGrid (2009) é um middleware de Grid Computing brasileiro que teve sua origem
na Universidade Federal de Campina Grande e está em produção desde 2004. A comunidade
do OurGrid está aberta para a sociedade e a sua capacidade de processamento é obtida através
do compartilhamento de recursos por parte de seus usuários. É importante destacar que os
usuários que colaboram com mais recursos têm prioridades para executarem suas tarefas.
O OurGrid é um software open-source desenvolvindo em Java usando a licença GPL,
firmando o seu comprometimento com a comunidade ativa de usuários e desenvolvedores. A
plataforma de Grid do OurGrid atua no processamento de aplicações do tipo Bag-of-Tasks, o
que corresponde as aplicações paralelas nas quais suas tarefas são independentes, permitindo
que cada tarefa possa ser processada paralelamente no Grid sem que haja necessidade de
comunicação entre elas.
BOINC
O BOINC (BOINC, 2008) é uma das principais plataformas de Grid Computing que
segue o modelo de Computação Voluntária. O seu sistema foi desenvolvido na Universidade
da Califórnia (Berkeley), mesma instituição dos criadores do SETI@HOME.
O sistema tem enfoque na colaboração dos usuários para a composição de uma
plataforma de Grid com alta capacidade de processamento. O BOINC disponibiliza um
aplicativo de protetor de tela que, ao ser executado, utiliza os recursos das máquinas dos
usuários para processamento da plataforma de Computação em Grade.
Essa característica é um dos grandes méritos para o projeto BOINC por incentivar a
economia computacional através da utilização de recursos de máquinas ociosas ao redor do
61
mundo, fator que possibilita a geração de um ambiente a ser utilizado por diversos projetos,
pesquisas científicas e trabalhos colaborativos.
Nos últimos anos, muitas iniciativas de projetos de pesquisas científicas vêm sendo
possibilitadas através do uso do sistema BOINC. Instituições que necessitam de um ambiente
com alta capacidade de processamento, encontram o BOINC como uma plataforma de suporte
para suas aplicações, pois tal tecnologia habilita um ambiente, composto por máquinas
pertencentes a diversas instituições em vários países, para execução de aplicações de larga
escala.
O BOINC suporta a execução de diversos projetos, pertencentes a distintas
organizações, e também fornece APIs em C++ para o desenvolvimento de aplicações para
acesso aos recursos do sistema. Hughes (2005) cita que o BOINC foi desenhado para ser um
middlware menos complexo do que aqueles que seguem as implementações do OGSA.
Sistemas corporativos
Os sistemas apresentados acima são frutos de projetos colaborativos focados em
pesquisas científicas. Porém, é notório destacar que atualmente as empresas estão buscando
um ambiente tecnológico mais produtivo e menos ocioso, oferecendo assim retorno de
investimento em tempo reduzido.
Com base nesse desafio, as grandes empresas de tecnologia lançaram seus produtos de
Grid Computing para auxiliar as corporações, instituições, órgãos governamentais, entre
outros, a constituir um ambiente computacional tecnicamente robusto e financeiramente
econômico.
Os sistemas de Computação em Grade corporativos visam à implementação desses
conceitos em recursos presentes nos datacenters para atender requisitos de balanceamento de
carga, alta disponibilidade e diminuição do TCO14.
A implementação consiste na integração de diversos servidores que atendam diversos
serviços e demandas em um único ambiente de Grid Computing, capaz de gerenciar a carga
de trabalho sem a necessidade de aquisição de novos equipamentos.
Atualmente está em evidência no mercado de Tecnologia da Informação um termo
denominado Cloud Computing, em português Computação em Núvem. Será abordado mais a
frente nesta dissertação a sinergia entre Grid Computing e Cloud Computing, bem como os
14 TCO – Estimativa financeira do custo total da posse de recursos, tal como software e hardware.
62
seus novos modelos de negócios.
2.6.9 Principais projetos
Na seção anterior foram apresentados os principais sistemas de Grid Computing
existentes até o momento. Entretanto, é necessário destacar os maiores e principais projetos de
Computação em Grade ao redor do mundo, sendo esses responsáveis por grande parte das
pesquisas científicas que são executadas em ambiente de alta capacidade de processamento.
Os dois maiores projetos na atualidade são: EGEE (Enabling Grids for E-science) e OGS
(Open Science Grid).
EGEE
Enabling Grids for E-sciencE (EGEE, 2008) é atualmente a maior infra-estrutura
multidisciplinar de Grid Computing. É formada por mais de 140 instituições e oferece um
ambiente escalável e confiável para comunidades de pesquisas da Europa e outros países ao
redor do mundo.
A infra-estrutura atualmente é composta por aproximadamente 300 sítios de
processamento espalhados por 50 países, integrando um ambiente de computação com
aproximadamente 80.000 CPUs e responsável por atender a demanda de 10.000 usuários.
O EGEE é ideal para pesquisas científicas, especialmente para projetos que executam
aplicações que requerem recursos considerados impraticáveis quando usadas as infraestruturas tradicionais da Tecnologia da Informação.
O projeto EGEE foi dividido em fases. Atualmente o seu estado encontra-se na terceira
fase:
•
EGEE 1: o projeto EGEE iniciou suas atividades focadas em duas áreas bem
definidas: Física de Partículas e Biomedicina, pois já haviam aplicações de Grid
nesses dois campos de pesquisas, fator que favorecia o projeto piloto do EGEE. A
primeira fase do projeto teve encerramento oficial no dia 31 de Março de 2006.
•
EGEE 2: iniciou suas atividades em 1 de Maio de 2006, expandindo o escopo
do projeto de apenas dois campos científicos para uma variedade maior de
63
aplicações e áreas do conhecimento. Na segunda fase do projeto, a infra-estrutura
de Grid tornou-se ideal para qualquer pesquisa científica que requeria alta
capacidade de processamento.
•
EGEE 3: a terceira fase do projeto EGEE iniciou-se em 1 de Maio de 2008
tendo como co-fundador a comissão européia. O EGEE 3 tem como objetivo a
expansão e otimização da infra-estrutura de Grid Computing que atualmente
processa 300.000 Jobs diariamente, submetidos por diversos domínios de
pesquisas.
A arquitetura do EGEE consiste em um conjunto de serviços de middlewares
disponibilizados em uma coleção global de recursos de computação e armazenamento. Uma
estrutura de suporte também é dedicada à operação do ambiente e possui as seguintes
divisões:
•
Production Service: a infra-estrutura é composta por aproximadamente 250
centros de recursos globais, provendo em torno de 4.000 CPU e dezenas Petabytes
de espaço para armazenamento. Essa infra-estrutura é utilizada diariamente por
milhares de cientistas espalhados em mais de 200 Organizações Virtuais. Essa
infra-estrutura executa a última versão do middleware gLite e oferece um ambiente
estável e robusto.
•
Pre-Production Service: ambiente para teste e avaliação de mudanças e novas
funcionalidades aplicadas ao middleware. Adicionalmente, o serviço de PréProdução estende a atividade de certificação do middleware para a avaliação do
ambiente em comparação às condições reais de produção.
•
EGEE Network Operations Centre (ENOC): serviços de operação que
refletem a coordenação entre o EGEE e a rede dos provedores de recursos.
O projeto EGEE tem grande apelo pela colaboração e incentiva que instituições,
organizações e pesquisadores, colaborem com o projeto através do compartilhamento de
recursos, dados, aplicações ou até mesmo apenas juntando-se a uma Organização Virtual
64
existente para trabalhos colaborativos.
O EGEE também incentivou a criação de um novo projeto para atender as demandas
da América Latina. O EELA (EELA, 2008) tem como objetivo a expansão da atual infraestrutura para constituir um ambiente com 41 Centros de Recursos, sendo que 13 estão
localizados na Europa e 28 na América Latina, mobilizando aproximadamente 3000 CPUs e
mais de 700 Terabytes. O Brasil está envolvido no projeto EELA através da participação de
institutos de pesquisas e universidades.
OSG
O Open Science Grid (OSG, 2008) é um projeto suportado pelo National Science
Foundation15 e tem como missão a integração de recursos computacionais e dispositivos de
armazenamento de comunidades de pesquisas para estabelecer uma infra-estrutura comum de
Grid Computing para satisfazer a crescente demanda dos projetos científicos por capacidade
computacional.
OSG é um consorcio de softwares, serviços, provedores de recursos e pesquisadores de
universidades, laboratórios de pesquisas e centros de computação espalhados pelo território
dos Estados Unidos da América, que juntos integram e operam o projeto OSG.
O OSG também valoriza a colaboração entre seus membros, os quais compartilham
seus recursos computacionais para a formação de um ambiente com capacidade de
processamento superior ao que se conseguiria em um projeto individual. O OSG também
fornece projetos para inclusão de comunidades de pesquisas, as quais não são familiares com
a tecnologia de Grid Computing, através da modificação das suas aplicações para utilização
do ambiente de computação fornecido pelo OSG.
A interoperabilidade é uma das características principais no projeto OSG, uma vez que
estão sempre almejando a integração da sua infra-estrutura com outros diversos projetos de
Computação em Grade.
Nota-se a sinergia de diversos projetos para a habilitação de um ambiente para um
determinado tipo de pesquisa, como o projeto de Grid Computing do Superacelerador de
Partículas, onde ambos os projetos EGEE e OSG juntaram forças para a constituição de um
ambiente com poder de processamento extremamente impressionante, conforme será
15 National Science Foundation – Agência Norte­Americana responsável pelo suporte as pesquisas e educação nos campos de ciência e engenharia.
65
abordado mais profundamente nessa pesquisa. O modelo de operação do OSG fornece
facilidades distribuídas para acesso aos recursos de processamento e armazenamento,
apresentando as seguintes características:
•
Proprietários registram seus recursos no OSG.
•
Pesquisadores recebem a permissão de acesso a esses recursos registrando-se
em uma ou mais Organizações Virtuais.
•
Administradores registram suas Organizações Virtuais no OSG.
•
Cada recurso e cada Organização Virtual são suportados por um Centro de
Suporte determinado no momento do registro.
Ressalta-se que uma Organização Virtual corresponde a indivíduos de diversas
instituições. As instituições e as Organizações Virtuais são os elementos que fazem parte do
OSG Consortium, enquanto os pesquisadores individuais são considerados apenas usuários.
Assim que uma Organização Virtual é aprovada e registrada no ambiente do OSG,
todos os membros associados e que assinaram a política de utilização (Acceptance Use
Policy) são liberados para acessarem os recursos do sistema de Computação em Grade.
O middleware do OSG é composto basicamente pela integração do sistema Condor-G
com alguns serviços do GLOBUS, mas também pode apresentar integração com alguns
outros sistemas para adicionar novas funcionalidades ao seu ambiente.
A infra-estrutura do OSG está sendo utilizada por diversos projetos espalhados ao
redor do mundo, auxiliando comunidades de pesquisas que necessitam de alta capacidade de
processamento para executarem suas aplicações. Projetos científicos sobre Aquecimento
Global, Física de Partículas (Superacelerador de Partículas), entre outros, são exemplos de
participantes do OSG.
66
3. Estado da arte em compartilhamento e trabalhos colaborativos
nos ambientes das redes de comunicação
Neste capítulo serão estudados três artigos relacionados ao tema da pesquisa para a
formulação do estado da arte em compartilhamento e trabalhos colaborativos nos ambientes
das redes de comunicação.
Silva e Blattmann (2007), referenciados na seção 3.1, tratam dos impactos da Internet,
e principalmente da Web 2.0, habilitando novos modelos de produção baseados na
colaboração.
McGuinness et al. (2006), referenciados na seção 3.2, descrevem a proposta de um
mecanismo para o gerenciamento do nível de confiança em conteúdos criados e armazenados
em repositórios colaborativos.
Benkler (2004), referenciado na seção 3.3, descreve novos modelos de interações
coletivas para habilitar modalidades produtivas descentralizadas e eficientes.
Inicialmente, será feita uma síntese dos artigos estudados. Após isso, para cada um
deles haverá uma análise das suas características em contraste com o tema da dissertação para
que os principais pontos que apóiam o objetivo desse trabalho sejam levantados.
3.1 A Colaboração e a interação na Web 2.0
Silva e Blattmann (2007) citam que a Internet tornou-se a principal responsável pela
mudança no modelo de organização e acesso aos conteúdos na sociedade da informação. Este
cenário proporcionou a habilitação de um ambiente influente para a disseminação da
colaboração e inteligência coletiva, principalmente através da interação, troca e
armazenamento de informações.
A criação da Web foi um dos grandes estímulos para a utilização da Internet como meio
de comunicação para trabalhos colaborativos, pois criou serviços capazes de facilitar a troca
de informações entre pessoas interessadas no mesmo assunto, mesmo que separadas
geograficamente. Atualmente está em evidência o termo Web 2.0, um ambiente que permite
aos usuários maior interação e manipulação das informações.
Esse termo surgiu durante uma conferência entre as empresas MediaLive e O'Reilly
Media, na qual discutiu-se a possibilidade de tornar a Web mais dinâmica, de modo que os
67
usuários pudessem participar colaborativamente na criação e edição de conteúdo.
A Web 2.0 é uma nova concepção tecnológica descentralizada onde os usuários
participam ativamente na criação, seleção e troca de conteúdos disponibilizados em um
ambiente aberto, como um simples sítio ou uma aplicação Web sofisticada.
O destaque da Web 2.0 é a interação online entre os usuários acessando o mesmo
conteúdo, ou seja, permitindo que eles possam compartilhar entre si informações relevantes a
um determinado trabalho, pesquisa ou simplesmente disponibilizando um conteúdo de
conhecimento geral.
Um dos mais evidentes serviços disponibilizados pela Web 2.0 são os sistemas wikis.
Silva e Blattmann (2007) citam que o termo wiki foi criado por Ward Cunningham e surgiu da
expressão havaiana “wiki wiki”, que significa rapidez e velocidade. Os autores ainda citam
que Cunningham resolveu nomear assim um dos seus sistemas por ser esta a primeira
expressão que aprendeu ao chegar ao Havaí, onde foi solicitado que utilizasse o ônibus
expresso (wiki wiki).
O seu primeiro sistema considerado wiki (Portland Pattern Repository) foi
disponibilizado na Web em 1995 e tinha como objetivo desenvolver um ambiente onde os
próprios usuários pudessem criar conteúdos compartilhados. Com base no sucesso alcançado
por esse projeto, diversas alternativas foram criadas para a construção de textos
colaborativamente e também para servir de ferramenta de apoio para a gestão do
conhecimento (SILVA; BLATTMANN, 2007).
A principal diferença entre wikis e outras ferramentas utilizadas na Internet, como blog
e sítios, é principalmente o fato de wiki prover funcionalidades que permitem que os
conteúdos possam ser editados e atualizados constantemente, sem a necessidade de uma
prévia autorização do autor da versão anterior. Essa característica possibilita a correção de
erros e a inserção de novas informações dinamicamente, habilitando um cenário onde não
existe um autor proprietário de nenhum texto, podendo o conteúdo ser modificado por
qualquer usuário.
3.1.1 Análise do artigo
O artigo em pauta faz uma análise do impacto da Web 2.0 para o surgimento de uma
nova forma de produção. É importante destacar que as redes de comunicação são as camadas
68
de sustentabilidade para estimular a colaboração e o trabalho coletivo por indivíduos ou
grupos espalhados geograficamente, pois permitem uma eficiente comunicação e
funcionalidades que apóiam o compartilhamento de recursos.
A Internet, em sinergia com a Web 2.0, é uma das principais características de um novo
modelo de interação na sociedade da informação. Principalmente através de sistemas wikis, a
Web 2.0 disponibiliza serviços que permitem o trabalho colaborativo e coletivo para a criação
e melhoria dos conteúdos existentes no ambiente informacional das redes de comunicação.
A Web 2.0 foi um dos primeiros ambientes que possibilitou, na comunicação mediada
pelo computador, que indivíduos pudessem criar seus conteúdos a partir de conteúdos criados
por outras pessoas, fortalecendo assim a idéia de compartilhamento e colaboração. Entretanto,
novas tecnologias também estão surgindo, com base na mesma filosofia, para serem aplicadas
em outros contextos.
A tecnologia de Grid Computing difere-se da Web 2.0 por ter como principal objetivo a
integração de recursos computacionais para o estabelecimento de um ambiente de
processamento com alta capacidade. Mas é certo que essa tecnologia, em um contexto amplo,
segue a mesma filosofia da Web 2.0, principalmente por permitir que os indivíduos possam
criar e disponibilizar seus conteúdos em um ambiente compartilhado, valorizando muito o
conceito de colaboração.
3.2 A confiança em repositórios colaborativos de informação
McGuinness et al. (2006) destacam em seu artigo a Wikipedia como um dos maiores
mecanismos wiki disponíveis, uma enciclopédia online que possui mais de novecentos mil
autores registrados e mais de três milhões de artigos publicados em diferentes idiomas.
A Wikipedia tornou-se um sistema valioso de conteúdos reconhecido mundialmente,
principalmente devido ao aumento do número de pessoas citando-o como fonte de informação
confiável. Diversos estudos apontam que a Wikipedia é extremamente valiosa para artigos de
ciências, embora também existam afirmações de incoerência em determinados artigos.
McGuinness et al. (2006) exemplificam esse cenário citando a situação em que um jornalista e
um oficial da administração do governo Kennedy afirmaram que a Wikipedia possuía
informações incorretas sobre a biografia do presidente americano.
Os repositórios colaborativos de informação apresentam uma grande vantagem:
69
beneficiam-se da contribuição de uma vasta diversidade de usuários, ou seja, da colaboração
dos indivíduos para a geração de novos conteúdos.
É certo que existem algumas ameaças presentes no ambiente, como usuários sem
conhecimento no assunto, usuários utilizando fontes irrelevantes ou indivíduos agindo de
maneira suspeita para prejudicar o meio. O gerenciamento da confiabilidade torna-se um
crítico componente no desenvolvimento desses sistemas. Se não houver a presença de
qualquer mecanismo de controle de confiança, esses repositórios de informações
colaborativas podem encontrar dificuldade em atribuir níveis de coerência.
A ausência de um mecanismo de confiabilidade pode acarretar em serviços que
provêem somente os conteúdos aos usuários finais, mas não as informações de onde eles
foram extraídos. As grandes implementações de sistemas wikis, como a Wikipedia, já estão
direcionando esses desafios. Entretanto, atualmente, o nível desejado ainda não foi atingido
para que os sistemas alcancem o objetivo de disponibilizar informações sobre a relevância e
as fontes dos conteúdos dos artigos.
McGuinnes et al. (2006) abordam um modelo de medidas baseado em citações para
determinar os níveis de confiabilidade de um artigo. Em muitas situações, o usuário final
propende em acreditar nos conteúdos disponibilizados em sítios e blogs quando a fonte citada
corresponde a entidades de reputação reconhecida, como um jornal do porte do The New York
Times. Essa situação ocorre principalmente quando o autor do blog ou sítio é desconhecido.
No cenário da Wikipedia, a situação é semelhante, sendo destacado um algoritmo de
classificação da confiabilidade baseado na relação de citações entre entidades. Basicamente, o
mecanismo propõe um modelo no qual o número de referências para um termo implicará
diretamente em sua relevância e grau de confiabilidade.
A proposta de McGuinnes et al. (2006) visa expandir a Wikipedia agregando uma
ferramenta de gerenciamento da confiabilidade através de uma nova aba associada aos artigos
da enciclopédia. A aba deve ser integrada junto às abas existentes, como article, edit, history e
deve ser responsável por disponibilizar os artigos renderizados, baseando-se no modelo de
quantidade de citações, de tal maneira que seja possível identificar os fragmentos de textos
mais confiáveis que compõem o artigo.
McGuinnes et al. (2006) divulgaram um resultado do seu mecanismo, após um
experimento aplicado em uma cópia do banco de dados da Wikipedia de 2005, onde foi
possível denotar que essa ferramenta de gerenciamento de confiança teve um
ótimo
70
desempenho, pois marcou como mais confiáveis os featured articles, ou seja, artigos que são
revistos e editados por especialistas no assunto.
O mesmo mecanismo também apontou os clean-up articles como menos confiáveis,
classificação que representa os artigos que geralmente são destacados pelos administradores
da Wikipedia como conteúdos com qualidade abaixo do indicado e que necessitam de revisões
adicionais.
3.2.1 Análise do artigo
O artigo em pauta traz um estudo sobre o nível de confiança dos conteúdos gerados
colaborativamente, onde uma grande quantidade de indivíduos pode adicionar e editar
informações em um repositório compartilhado de informações.
Este é um desafio que está sempre presente quando a questão envolve
compartilhamento e colaboração. No ambiente da Web, por ser um espaço aberto, isso se torna
ainda mais difícil de ser endereçado. Já em Grid Computing, por proporcionar um espaço um
pouco mais restrito, o gerenciamento da confiança é mais fácil de ser tratado.
É comum encontrar projetos de Grid Computing que exigem que as instituições e
indivíduos que queiram integrar o seu ambiente tenham que assinar contratos e termos de
responsabilidades para obterem acesso a infra-estrutura, aplicações e dados.
A maioria dos projetos de Grid Computing encontrada hoje em dia está focada em
pesquisas científicas, por isso existe a possibilidade haver um controle sobre as instituições
que podem ou não fazer parte deste ambiente. Se no futuro, essa tecnologia for a base para o
processamento de informações da sociedade conectada na Internet, talvez o seu desafio de
gerenciar a confiança passe a ser semelhante como o que encontramos nos dias de hoje na
Web.
É importante destacar que já existem alguns projetos de Grid abertos na Internet onde
os indivíduos podem facilmente participar. Entretanto, na sua grande maioria, eles utilizam o
modelo de Computação Voluntária, ou seja, os indivíduos colaboram de forma passiva apenas
compartilhando seus recursos computacionais para ser integrado no ambiente e assim gerar
capacidade de processamento, sem a necessidade de terem acesso aos dados e aplicações que
estão sendo executadas.
Vale ressaltar também que a própria arquitetura descentralizada da tecnologia auxilia a
71
tratar os problemas de gerenciamento de confiabilidade. O fato do ambiente não ter um
controle centralizado e ser composto por recursos de diferentes instituições, nos quais as
informações são armazenadas de forma distribuída por todos eles, influencia em um ambiente
mais seguro e transparente, conforme será estudado mais a fundo nessa dissertação.
3.3 A emergência do compartilhamento como modalidade de produção
econômica
Benkler (2004) cita que o supercomputador mais rápido do mundo e o segundo meio
de transporte mais eficiente nos Estados Unidos são habilitados através de um modelo de
gerenciamento de recursos que não é totalmente especificado nas economias contemporâneas.
A plataforma de computação distribuída SETI@HOME, baseada na arquitetura de
Grid Computing, envolve mais de quatro milhões de voluntários cedendo ciclos ociosos de
suas CPUs para habilitar o seu ambiente de processamento. O sistema de transporte baseado
em carona corresponde a quase 16% de todas as viagens urbanas dentro do território
americano. Ambos os modelos confiam em relações sociais e éticas de compartilhamento para
mobilizar e alocar recursos.
É importante destacar que nenhuma dessas duas práticas envolve recursos públicos ou
recursos financeiros. Os computadores pessoais e os automóveis são bens privados e rivais, do
inglês rival goods, o que significa que a sua utilização pode eliminar, ou pelo menos diminuir,
a utilização por parte de outros indivíduos.
A prática de compartilhamento que envolve esses dois modelos não está limitada a
uma comunidade onde os participantes se conhecem; pelo contrário, representam instâncias
onde o compartilhamento social é extremamente impessoal, ou ocorre entre entidades sem
afiliações definidas. Essa definição caracteriza a confiança total no compartilhamento social
através da vontade própria dos voluntários, sem a necessidade de ocorrer qualquer troca
financeira.
O compartilhamento social está tornando-se uma modalidade comum de produção
valiosa nos mais avançados modelos de economia, como informação, educação, cultura,
computação e setores de comunicação. Os softwares livres, a computação distribuída e a
forma de produção entre pares são exemplos notáveis de uma prática de compartilhamento
mensurável e de larga escala.
Benkler (2004) ainda sugere que a estrutura de capital distribuído, presente nas
72
comunicações contemporâneas e nos sistemas de computação, é a grande responsável pelo
aumento da característica de compartilhamento social como modalidade de produção
econômica. A diminuição do custo de capital necessário para ações individuais e o avanço das
tecnologias também permitiram grande aumento na produção descentralizada, baseada nas
relações sociais e não em mercados ou hierarquias.
Benkler (2004) apresenta dois estudos de caso sobre compartilhamento: Carpooling
que é um sistema baseado em carona para o compartilhamento de assentos disponíveis em
automóveis e os projetos de Grid Computing.
Os dois estudos de casos, Carpoooling e Grid Computing compartilham quatro
principais características em um ambiente colaborativo:
1- Os modelos envolvem práticas de compartilhamento de larga escala entre
indivíduos sem relações sociais ou completamente desconhecidos entre eles.
2- Os recursos econômicos compartilhados são privados.
3- A existência de modelos de mercados onde a capacidade excedente dos recursos
privados podem ser destacáveis e utilizáveis.
4- O resultado da prática de compartilhamento em ambos os estudos de caso são
bens rivais.
Com base nas características citadas acima, destaca-se o modelo de Carpooling e
Computação
Distribuída
como
exemplos
de
práticas
colaborativas
através
do
compartilhamento, assim como as redes peer-to-peer, a produção entre pares e o modelo de
desenvolvimento de softwares livres.
3.3.1 Análise do artigo
No artigo em pauta, Benkler (2004) demonstra as vantagens geradas pelo modelo de
produção baseada na colaboração através do compartilhamento de recursos. Foram destacadas
também duas grandes práticas colaborativas de sucesso, o Carpooling e Grid Computing, as
quais foram constituídas através da colaboração voluntária em larga escala para a produção de
produtos e serviços confiáveis.
É importante citar que os modelos baseados em compartilhamento podem, em muitas
73
vezes, gerar mecanismos produtivos com qualidade superior aos modelos orientados ao
mercado. Como exemplo, pode-se citar o Linux, um sistema operacional produzido
coletivamente que apresenta características e funcionalidades semelhantes em relação aos
sistemas operacionais produzidos pelas grandes indústrias.
No estudo de caso sobre Computação Distribuída, Benkler (2004) destaca o projeto de
Grid Computing chamado SETI@HOME, que através da colaboração e do compartilhamento
de recursos na Internet tornou-se um dos mais poderosos ambientes de processamento. Vale
ressaltar também que foi a partir do trabalho colaborativo que esta tecnologia foi concebida na
comunidade científica. No próximo capítulo serão discutidas em mais detalhes as relações de
Grid Computing em contraste com a colaboração.
74
4. Análise de Grid Computing
A tecnologia de Grid Computing foi uma grande quebra de paradigma no modelo de
computação distribuída, pois permitiu novas oportunidades de utilização de recursos
distribuídos e novas formas de interação em um ambiente informacional. Neste capítulo serão
abordadas as vantagens e os impactos da tecnologia de Computação em Grade nos contextos
sociais, ambientais e econômicos. A técnica de Estudo de Caso será aplicada para fomentar a
dissertação de como a tecnologia pode influenciar positivamente o trabalho colaborativo, a
inclusão científica, os novos modelos econômicos e a redução de consumo de recursos
energéticos.
4.1 Contexto social
A consolidação da Internet, e principalmente da Web como tecnologia de comunicação
em tempo real foi um dos grandes saltos para o surgimento de novas formas de interação na
sociedade. As redes sociais são responsáveis por uma nova forma de comunicação e troca de
informações em abrangência global, permitindo que indivíduos de diversos países possam
estabelecer relações entre si.
As redes sociais na Internet são valiosas para a sociedade, pois são elas que ajudam a
alavancar a criação de novos conteúdos, serviços e produtos. Uma pessoa que não conseguia
realizar uma determinada tarefa sozinha pode criar laços, através das redes sociais, com
indivíduos que compartilham os mesmos interesses que os seus para executarem as tarefas em
conjunto, não importando sua localização geográfica.
Assim, é possível notar que as redes sociais na Internet apresentam grande participação
para o crescimento e amadurecimento dos trabalhos colaborativos que são encontrados hoje
na sociedade, pois são elas que facilitam o estabelecimento de laços sociais entre indivíduos
que desejam atuar em busca de um determinado objetivo, seja para a criação de um novo
software ou a adição de um novo artigo na wikipedia.
É importante citar também que novas tecnologias surgem, a cada dia que passa, para
influenciar positivamente o compartilhamento de conteúdo e o trabalho colaborativo. Grid
Computing é uma das recentes tecnologias que envolvem os conceitos de coletividade para
possibilitar cenários de processamento de dados e compartilhamento de informações nunca
antes observados em nenhuma outra tecnologia.
75
Indivíduos podem agrupar-se para compartilhar os seus recursos computacionais e
assim constituir um ambiente de computação paralela com alta capacidade, o qual também
permite que eles compartilhem seus dados, aplicações e resultados. A influência de Grid
Computing em relação ao trabalho colaborativo e a inclusão científica será abordada adiante.
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 opensource 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 infraestrutura 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).
76
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
77
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
78
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 assunto, 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 membros 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 tecnologia apresenta funcionalidades para auto-regular o seu ambiente, permitindo que o mesmo con-
79
tinue ativo e executando suas tarefas nos dispositivos que ainda fazem parte de sua infra-estrutura (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 último 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.
80
•
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.
4.1.2 Inclusão científica
As novas tecnologias têm papel fundamental para a evolução da ciência, pois
permitiram que pesquisas que antigamente não eram possíveis de serem realizadas, agora
passam a existir e também buscar resultados mais apurados e precisos com a utilização de
recursos tecnológicos.
Destaca-se também que atualmente as pesquisas científicas estão gerando um volume
maior de dados, seja pela utilização de dispositivos tecnológicos mais avançados ou apenas
em razão do seu escopo. Porém, essa situação acarreta em um novo desafio: Qual ambiente
tem capacidade computacional em larga escala para processar um grande volume de dados
com baixo custo?
Há determinadas pesquisas que precisam de um ambiente computacional com alta
capacidade para processar os dados obtidos com o objetivo de tratar informações, executar
simulações e até mesmo chegar aos resultados finais. Entretanto, em muitos casos os
computadores tradicionais utilizados em laboratórios de pesquisas já não são suficientes para
processar de forma eficiente um grande volume de dados, exigindo assim a utilização de
servidores com alta capacidade de processamento ou até mesmo supercomputadores
81
especializados.
Porém, esses recursos computacionais podem custar muito caro ou podem até mesmo
não estarem disponíveis no momento requerido para viabilizar uma determinada pesquisa.
Esses desafios para obter um ambiente computacional de alta capacidade de processamento
com baixo custo e de forma rápida foram os grandes estimuladores para o surgimento da
tecnologia de Grid Computing, a qual foi concebida como uma alternativa para driblar o alto
custo e as limitações das capacidades dos recursos computacionais nos anos 90.
Conforme já abordado nos capítulos anteriores, a tecnologia de Grid Computing tem
como principal desafio integrar recursos computacionais distribuídos com o objetivo de
constituir um ambiente computacional em larga escala. Em outras palavras, Grid Computing
visa à formação de um supercomputador virtual composto pela capacidade excedente de
diversos computadores pessoais, servidores ou qualquer outro dispositivo computacional, sem
a necessidade de supercomputadores especializados, situação que torna claro a característica
de baixo custo da tecnologia.
Nos últimos anos Grid Computing ganhou maior evidência na sociedade através do
meio científico, principalmente por habilitar um ambiente com capacidade de processamento
de dados para atender demandas de pesquisas de larga escala. Hoje em dia já é possível
encontrar inúmeros projetos científicos que são realizados exclusivamente graças à utilização
de Grid Computing. Se não existisse essa tecnologia, essas pesquisas certamente não teriam
condições para executarem suas aplicações. O experimento do superacelerador de partículas,
um grande exemplo de pesquisa que depende totalmente dessa tecnologia, será abordado em
um estudo de caso adiante.
Outro ponto importante é o fato dos recursos que compõem uma infra-estrutura de
Grid Computing não precisarem pertencer exclusivamente há um único domínio. Ou seja, o
ambiente computacional pode ser composto por recursos de diversas entidades, como
instituições de pesquisas, universidades, centro de computações ou até mesmo usuários finais
conectados na Internet.
O modelo de computação voluntária, abordado no capítulo dois desta dissertação, tem
obtido grande aprovação por parte das pesquisas científicas. O projeto SETI@HOME,
lançado oficialmente em maio de 1999, foi um dos grandes marcos de Grid Computing como
uma plataforma de computação voluntária composta por recursos compartilhados na Internet.
Qual o preço de um supercomputador com a mesma capacidade de processamento do Grid
82
Computing do projeto SETI@HOME?
Esta é uma pergunta que demonstra a importância da tecnologia de Grid como a
grande impulsionadora de novas pesquisas. Instituições que não têm condições financeiras
para montar um ambiente computacional encontram em projetos de Grid Computing a chance
de viabilizar suas pesquisas.
Seguindo a linha do SETI@HOME, surgiram outros projetos que utilizam o modelo
de computação voluntária como forma de conseguir processar os seus dados. Ou seja, são
projetos que não existiriam se não houvesse a tecnologia de Grid Computing e voluntários
interessados em compartilhar o tempo ocioso de seus recursos computacionais. Pode-se citar
como exemplo algumas pesquisas com importância fundamental para a humanidade, como
projetos de investigação de dobramentos de proteínas, projetos de pesquisa contra a AIDS,
entre outros.
Percebe-se assim que o conceito de colaboração em sinergia com a tecnologia de Grid
Computing tem um potencial significante para a sociedade, permitindo que novos projetos de
pesquisa sejam criados, que espaços de compartilhamento de dados sejam alavancados e que
descobertas científicas sejam realizadas.
É importante citar também que a maioria dos projetos de Grid Computing tem como
objetivo prover uma infra-estrutura compartilhada por várias pesquisas, graças a sua
arquitetura descentralizada. O conceito de Organizações Virtuais também tem sua parcela de
importância, principalmente por agrupar e coordenar as entidades que trabalham na mesma
pesquisa, seja apenas compartilhando recursos computacionais ou executando aplicações em
conjunto. É possível pensar cada Organização Virtual como uma pesquisa dentro de um
ambiente de Grid Computing.
O World Community Grid (WCG, 2009) é um exemplo de ambiente compartilhado por
diversas pesquisas. O projeto tem como objetivo a criação de um ambiente público de
computação em grade, com base no modelo de computação voluntária, para ajudar projetos
científicos benéficos para a humanidade. O World Community Grid é executado no sistema
BOINC e o seu sucesso depende diretamente dos voluntários que compartilham o tempo
ocioso dos seus recursos conectados na Internet.
O World Community Grid não fornece sua infra-estrutura computacional para apenas
uma única pesquisa. Ao contrário, o ambiente é compartilhado por diversos projetos
científicos que podem trazer algum benefício para a sociedade. Atualmente são executadas
83
pesquisas com foco no
combate ao câncer, dengue e AIDS. Há ainda projetos sendo
executados com o objetivo de desenvolver modelos climáticos mais exatos para regiões
específicas da África.
É interessante destacar que o modelo de computação voluntária foi bastante importante
para disseminar os benefícios que os projetos científicos podem obter utilizando a tecnologia
de Grid Computing. Essa afirmação pode ser justificada pelo fato dos primeiros projetos de
sucesso de Grid Computing terem focado na colaboração de voluntários conectados na
Internet.
Porém, essa tecnologia ganhou evidência nos últimos anos, tornando-se alvo de estudo
de pesquisas acadêmicas e também de empresas especializadas. Hoje em dia, é possível
encontrar uma gama imensa de projetos que visam à constituição de um ambiente
compartilhado de processamento em larga escala entre diversas instituições e universidades.
Com a tecnologia de Grid Computing as instituições podem unir forças para alavancar
suas pesquisas. Uma determinada instituição que não tenha a quantidade de recursos
necessária para processar os seus dados pode juntar-se com outras instituições para habilitar
uma infra-estrutura computacional compartilhada, na qual todos os envolvidos colaboram
para a sua formação, mas também podem usufruir de sua capacidade. Como exemplo, pode-se
citar uma situação onde a universidade A e a universidade B podem criar um acordo para a
construção de uma infra-estrutura computacional de Grid Computing apenas utilizando os
seus recursos, sem a necessidade da colaboração de usuários conectados na Internet.
Existem também diversas iniciativas de projetos que têm como foco habilitar um
ambiente comum de computação científica, onde instituições podem firmar acordos para a
execução de suas aplicações em um ambiente compartilhado por diversas pesquisas. O projeto
EELA-2 é uma iniciativa do EGEE para a América Latina, permitindo que universidades
possam participar de um ambiente compartilhado de Grid Computing a partir de acordos
firmados entre as partes, seja cooperando com recursos computacionais, aplicações ou mãode-obra, conforme a afirmação abaixo:
O projeto EELA está aberto para qualquer organização que queira
colaborar. Tornando-se um associado do projeto, seu grupo de pesquisa
estará apto a utilizar a infra-estrutura de Grid em produção do EELA-2
para executar aplicações e compartilhar resultados. Além disso, a
organização será intitulada para receber qualquer tipo de suporte técnico
para integrar os seus recursos computacionais no Grid do EELA-2 ou para
disponibilizar e executar as aplicações neste ambiente (EELA, 2008).
84
Pode-se observar que a tecnologia de Grid Computing tem proporcionado condições
extremamente positivas para a inclusão científica. Primeiro, por permitir a criação de uma
infra-estrutura computacional de larga escala para o processamento de um grande volume de
dados de forma simples e com baixo custo. Segundo, por todas as partes envolvidas em uma
Organização Virtual poderem acessar em conjunto as aplicações e os dados do ambiente,
característica que exalta a importância da colaboração para o enriquecimento da ciência.
Os projetos de Grid Computing geralmente têm abrangência global, o que permite o
envolvimento de instituições e indivíduos de diversos países. As entidades geralmente
colaboram com o que têm de melhor, algumas cedendo uma quantidade maior de recursos
computacionais, outras fornecendo aplicações e também têm aquelas que atuam diretamente
na pesquisa.
O importante é notar que as pessoas que estão trabalhando juntas nos projetos,
compartilhando o mesmo ambiente informacional, podem pertencer a diversas instituições.
Consequentemente, esses indivíduos podem apresentar diferentes perfis e formações díspares
(tanto culturais, quanto acadêmicas), situação que pode ser benéfica para a ciência, pois
permite a formação de diversas opiniões sobre a pesquisa a partir de diversos pontos de vistas.
Essas características deixam evidente que a tecnologia de Grid Computing é uma das novas
formas de interação e trocas de informação que impulsionam novos conceitos de inteligência,
como a própria inteligência conectiva, características muito importante para o avanço da
humanidade e da ciência.
4.1.3 Estudo de Caso – Worldwide LHC Computing Grid
Nesta seção discorre-se sobre o projeto do Worldwide LHC Computing Grid (WLCG),
a infra-estrutura de Grid Computing do superacelerador de partículas, um dos maiores
experimentos científicos da atualidade. A coleta de dados foi efetuada a partir de duas
principais fontes: o portal na Internet do projeto (WLCG, 2009), onde estão todos os
documentos sobre as instituições envolvidas, informações técnicas, relatórios dos recursos
computacionais. Também foi utilizado o documento denominado LHC Grid Fest Media
Guide compilado durante o seminário CERN LHC GRID realizado na Suíça em Outubro de
2008 (GRIDTALK, 2008).
O objetivo deste estudo de caso é responder como a colaboração teve papel
fundamental para possibilitar umas das mais importantes pesquisas na ciência de Física de
85
Partículas e quais foram suas consequências e influências na sociedade.
Incia-se este estudo de caso com a visão geral do experimento do superacelerador de
partículas (LHC), seguido da coleta de dados sobre a sua infra-estrutura computacional
baseada em Grid Computing para, enfim, analisar o impacto da colaboração para a formação
de seu ambiente informacional.
4.1.3.1 Visão geral do LHC
O projeto do superacelerador de partículas, também chamado de LHC (Large Hadron
Collider), é um dos mais impressionantes experimentos científicos já construídos e tem como
objetivo possibilitar novas pesquisas na área de física de partículas.
O equipamento do LHC foi construído pelo CERN (European Organization for
Nuclear Reseach) e corresponde a um túnel em circunferência de 27 quilômetros na região de
Genebra, próximo a fronteira da Suíça com a França. Existem quatro principais detectores de
colisões espalhados pelo túnel: o LHC-B, o CMS, o ALICE e o ATLAS, sendo esse último o
maior de todos.
A função dos detectores é coletar os dados referentes às colisões de partículas que
ocorrem dentro do LHC, os quais são enviados para processamento em um ambiente de Grid
Computing denominado Worldwide LHC Computing Grid. A Figura 5 ilustra o projeto do
túnel do LHC e os seus detectores:
Figura 5 – O Projeto do Superacelerador de Partículas (LHC, 2009)
86
É interessante citar que o experimento do superacelerador de partículas tem a projeção
de gerar em torno de 15 Petabytes de dados por ano, os quais devem estar acessíveis para
milhares de cientistas ao redor do mundo. Entretanto, o projeto enfrentou um grande desafio
para encontrar um ambiente computacional com capacidade suficiente para processar esse
volume de dados.
A tecnologia mais adequada e a escolhida pelo projeto para servir a sua infra-estrutura
computacional foi Grid Computing. Assim, foi iniciado um projeto denominado Worldwide
LHC Computing Grid (WLCG) para o estabelecimento de um ambiente computacional que
tivesse abrangência global e que fosse possível envolver a colaboração de diversas
instituições de pesquisas e universidades.
A missão do WLCG é a construção de uma infra-estrutura de Grid Computing capaz
de integrar recursos de diversas instituições para o armazenamento e processamento de dados
extraídos do LHC, os quais são compartilhados com a comunidade de pesquisa.
A seguir, serão coletados dados importantes sobre o projeto do WLCG para posterior
análise de como o conceito de colaboração e a tecnologia de Grid Computing têm papeis
fundamentais para o sucesso do projeto do LHC, e consequentemente para a sociedade
científica.
4.1.3.2 Coleta de Dados
O projeto do Worldwide LHC Computing Grid estabeleceu uma infra-estrutura global e
com alta capacidade de processamento, composta por mais de 140 centros de computação em
mais de 33 países para prover acesso aos dados do LHC para mais de sete mil cientistas ao
redor do mundo (LHCGRIDFEST, 2008).
O CERN investiu aproximadamente 100 milhões de Euros até o ano de 2008 em
pessoal e material para a construção do WLCG, recursos financeiros que são provenientes do
governo nacional da Suíça e também da União Européia. Entretanto, estima-se que a
participação do CERN corresponde somente a 20% do investimento total para a construção da
infra-estrutura computacional do WLCG (LHCGRIDFEST, 2008).
87
Gráfico 1 – Investimento no WLCG até o ano de 2008
É importante perceber que a colaboração financeira das outras instituições foi de
extrema importância para que o WLCG pudesse alcançar fundos necessários para a
constituição de um ambiente computacional com a quantidade indicada de recursos para
atender a demanda de processamento advinda do LHC. Basicamente, cada instituição
participante é responsável por seus gastos com o projeto, permitindo que o custo total fosse
distribuído entre todos os envolvidos.
O projeto do WLCG organizou o seu ambiente computacional em camadas para
facilitar a integração de recursos e a configuração de troca de dados entre as entidades
participantes do projeto. Assim, a infra-estrutura do WLCG é composta de três principais
camadas. A primeira camada (Tier-0) corresponde ao centro de computação do CERN, o qual
é responsável por armazenar todos os dados recebidos do experimento do LHC e enviar os
mesmos, baseado nas Organizações Virtuais, para instituições da segunda camada (Tier-1).
A segunda camada (Tier-1) é composta por onze sítios de computação espalhados ao
redor do mundo. Todos esses sítios são de extrema importância para o WLCG, possuem
conexão dedicada com o CERN e também são os responsáveis pela transferência de dados
para outros sítios de computação da terceira camada (Tier-2). A Tabela 1 lista os onze sítios
que compõem a segunda camada (Tier-1) do projeto do WLCG:
88
Localidade
Canadá
Alemanha
Espanha
França
Itália
Países
Nórdicos
Holanda
Taipei
Reino Unido
Estados
Unidos
Estados
Unidos
Sítio
TRIUMF
Karlsruhe Institute of Technology
Port d'Informació Científica(PIC)
IN2P3 - Institut national de physique nucléaire et de physique des particules
INFN – Istituto Nazionale di Fisica Nucleare
Nordic Datagrid Facility
NIKHEF - Nationaal instituut voor subatomaire fysica
ASCG
GridPP – UK Computing for Particle Physics
Fermilab
RACF Computing Facility
Tabela 1 – Sítios de computação da segunda camada Tier-1 (WLCG, 2009)
Os sítios da terceira camada (Tier-2) são associados de acordo com a proximidade
geográfica a um sítio de nível superior (Tier-1), o qual é responsável por transferir os dados de
acordo com o modelo de participação nas Organizações Virtuais.
Os sítios da terceira camada armazenam os dados recebidos e alimentam os
laboratórios de física de partículas para que os cientistas possam analisar os dados do LHC a
partir de seus próprios ambientes informacionais. Estima-se que o WLCG possibilitará acesso
aos dados do LHC para aproximadamente sete mil cientistas.
A terceira camada do WLCG é composta por mais de 140 sítios agrupados em 60
federações que cobrem a Alemanha, Austrália, Áustria, Bélgica, Canadá, China, Dinamarca,
Eslovênia, Espanha, Estados Unidos da América, Estônia, Finlândia, França, Holanda,
Hungria, Itália, Índia, Israel, Japão, Noruega, Paquistão, Polônia, Portugal, Reino Unido,
República da Coréia, República Tcheca, Romênia, Rússia, Suíça, Suécia, Taipei e Ucrânia. É
importante destacar que os dois principais projetos de Grid Computing citados nesta
dissertação, o EGEE e o OSG, também fazem parte do WLCG.
O Brasil participa do projeto desde 2006, entretanto não é reconhecido pelo CERN
como colaborador. Em Abril de 2009 a FAPESP enviou um memorando de entendimento para
formalizar a participação de pesquisadores do país no Worldwide LHC Grid Computing
(UNESP, 2009).
Vale ressaltar que a infra-estrutura do Worldwide LHC Grid Computing proporciona
um dos ambientes computacionais com maior capacidade de processamento na atualidade. O
89
WLCG já foi responsável pela execução de aproximadamente 44 milhões de Jobs em 2007 e
mais de 65 milhões em 2008. Entretanto, estima-se que a quantidade que o WLCG deverá
processar pode chegar a 500 mil Jobs diários quando o LHC estiver em atividade por
completo. Com base nesses dados é possível fazer uma projeção do aumento do número de
Jobs a serem processados a partir do ano de 2009, conforme o Gráfico 2:
Gráfico 2 – Projeção da quantidade de Jobs
Percebe-se com base no Gráfico 2 que a quantidade de Jobs apresenta um crescimento
expressivo ao longo do tempo, situação que pode, consequentemente, demandar maior
utilização dos recursos computacionais que compõem o WCLG, guiando o projeto a uma
eminente expansão de sua infra-estrutura.
A Tabela 2 está populada com os dados referentes ao total de recursos de CPU, espaço
de armazenamento em disco e espaço de armazenamento em fita que são requeridos para os
próximos anos de acordo com o WLCG (2009). Os recursos de CPU utilizam a métrica de
capacidade KSI2K, o qual corresponde a milhares de unidades da métrica de CPU
SPECint200016. Já os recursos de armazenamento utilizam a métrica de Terabyte.
CPU (KSI2K)
Disco (Tbytes)
Fita (Tbytes)
2008
98715
40036
35309
2009
174258
68858
68692
2010
315695
111793
117464
2011
409975
151931
170030
2012
509695
193579
225187
2013
658206
275075
276839
Tabela 2 – Projeção da quantidade total de recursos
O foco desta dissertação não é mensurar o poder computacional do WLCG, porém o
16 SPECint2000 ­ É um especificação computacional baseada em benchmarking de processadores.
90
que se pretende mostrar é a crescente demanda por recursos computacionais ao longo dos
anos, para que posteriormente seja possível analisar a colaboração de cada camada (Tier-0,
Tier-1 e Tier-2) para o projeto.
A Tabela 2 mostra a quantidade total de recursos que é requerida pelo projeto do
WLCG para alcançar nível aceitável de processamento no ambiente de Grid Computing,
porém não cita a quantidade de recursos cedida por cada camada.
Já os Gráficos 3, 4 e 5 demonstram, com base em dados de relatórios de recursos
disponibilizados no portal do WLCG (2009), a colaboração de cada camada para atingir a
quantidade total de recursos especificada para cada ano. O Gráfico 3 demonstra a participação
de Tier-1, Tier-2 e Tier-3, através do compartilhamento de CPUs, para constituição da infraestrutura global do LHC.
Gráfico 3 – Projeção de recursos de CPU por camada
Com base no Gráfico 3, percebe-se que o CERN (Tier-0) é a camada que tem a
projeção para contribuir com menos recursos para os próximos anos. Mesmo sendo a
instituição fundadora do projeto, o CERN conta com forte colaboração tanto dos sítios de
processamento da segunda camada (Tier-1) quanto da terceira camada (Tier-2) para habilitar
um ambiente com alta capacidade de processamento.
O gráfico 4 demonstra, seguindo a mesma linha do Gráfico 3, a quantidade de espaço
para armazenamento de disco correspondente com cada camada.
91
Gráfico 4 – Pojeção de recursos de armazenamento em disco por camada
Com base no Gráfico 4, é possível destacar que a colaboração de espaço de
armazenamento esperada para os próximos anos também é muito maior para segunda camada
(Tier-1) e terceira camada (Tier-2) do que para o próprio CERN.
Mesmo o sítio do Tier-0 sendo o responsável por receber todos os dados do LHC e
armazená-los para posterior envio aos sítios da segunda camada (Tier-1), nota-se que a
maioria dos sítios dos Tier-1 e Tier-2 também poderão receber os mesmos dados para que seus
cientistas possam fazer suas pesquisas, aumentando a capacidade de armazenamento em disco
por toda a infra-estrutura do WLCG.
O Gráfico 5 difere dos gráficos anteriores pelo fato de contemplar somente o CERN
(Tier-0) e os sítios da segunda camada (Tier-1). Isso ocorre pelo fato do armazenamento em
fita ser utilizado basicamente para backup, ou seja, quando os dados estão sendo processados
por aplicações eles são armazenados em disco (conforme visto no Gráfico 4) e após o seu uso
podem ser gravados em fitas. É importante lembrar que os sítios do Tier-0 e Tier-1 formam a
estrutura essencial do WLCG, principalmente por serem os responsáveis pelo préprocessamento dos dados e também por enviá-los para todos os envolvidos no projeto. Os
sítios da segunda camada têm acordos diferenciados com o CERN para a participação no
WLCG, o que pode acarretar em algumas obrigações específicas aplicadas para eles, como
por exemplo, garantir uma cópia de segurança dos dados do projeto.
92
Gráfico 5 – Projeção de recursos de armazenamento em fita por camada
Com base no Gráfico 5, percebe-se que o CERN contribui com menos da metade da
capacidade total de armazenamento em fita, sendo que a grande parte da colaboração está
distribuída entre os sítios do Tier-1.
No geral, é possível destacar que a maior parte da capacidade de processamento e
armazenamento do WLCG é proveniente da colaboração dos sítios da segunda (Tier-1) e
terceira camada (Tier-2), que juntos correspondem a mais de 140 centros de computação ao
redor do mundo.
Adicionalmente ao WLCG, o projeto do LHC também utiliza um ambiente baseado no
modelo de computação voluntária. O LHC@HOME (2009) é uma iniciativa que possibilita
que pessoas possam colaborar com o projeto do LHC a partir de suas casas, cedendo a
capacidade excedente das suas máquinas para processamento de dados do superacelerador de
partículas. Esse projeto está atualmente sendo executado na plataforma BOINC.
O LHC@HOME diferencia-se do WLCG por ser um ambiente aberto na Internet
constituído de voluntários ao redor do mundo. Sendo assim, esse projeto tem como objetivo
principal o processamento de tarefas que exigem alto poder de processamento, mas uma taxa
relativamente baixa de transferência. O LHC@HOME tornou-se a infra-estrutura para a
execução de um programa denominado SixTrack, o qual simula o percursso de partículas ao
redor do LHC para o estudo da estabilidade de suas órbitas. O SixTrack foi a primeira
aplicação escolhida a ser executado no ambiente de computação voluntária por requerer uma
taxa relativamente baixa de entrada e saída de dados, e também por exigir alto nível de
93
processamento.
Voltando a abordar o projeto do WLCG (2009), foi visto até o momento que a
colaboração entre todas as entidades envolvidas para a constituição da infra-estrutura de Grid
Computing do projeto é fundamental para o seu sucesso. As instituições compartilham seus
recursos para habilitar um ambiente computacional de larga escala com capacidade suficiente
para processar os dados do LHC. Entretanto, é importante destacar que essas mesmas
entidades também se agrupam em Organizações Virtuais para terem acesso aos dados,
característica que ajuda a organizar o ambiente informacional, ditando o que cada uma pode
acessar e o que pode ser executado no WLCG.
O WLCG é composto por diversas Organizações Virtuais, entretanto serão destacadas
nesta dissertação somente aquelas que são afiliadas ao projeto científico do LHC:
OV
ALICE
ATLAS
CMS
DTEAM
LHCb
SixTrack
Afiliação LHC
ALICE experimento
ATLAS experimento
CMS experimento
Grupo de deployment do LCG
LHCb experimento
Single Particle Tracking Code
Tabela 3 – Organizações Virtuais filiadas ao LHC (WLCG, 2009)
Conforme citado anteriormente, o projeto do LHC é composto de quatro principais
detectores que geram dados diferentes das colisões que acontecem no LHC. O conceito de OV
foi utilizado no WLCG para organizar os dados gerados por cada detector com o objetivo de
garantir a segurança e a transparência do ambiente informacional.
De acordo com a Tabela 3, percebe-se que para cada coletor existe uma Organização
Virtual, ou seja, um meio de isolar os dados para que somente aqueles que têm permissão
possam acessá-los, mesmo sendo disponibilizados em uma infra-estrutura compartilhada.
Ainda existe uma OV para o SixTrack e também outra para o time de deployment do WLCG.
4.1.3.3 Análise
Incia-se a análise do WLCG com base em no principal desafio que influenciou o
CERN a adotar a tecnologia de Grid Computing para a construção de sua infra-estrutura
94
computacional: O alto custo do projeto.
Grid Computing teve um papel importante para adequar o modelo de investimento
financeiro para habilitação do projeto WLCG. Conforme abordado anteriormente, o CERN
investiu em torno de 100 milhões de Euros em materiais e recursos humanos para a
construção da infra-estrutura computacional do LHC. Entretanto, esse investimento
corresponde a somente 20% do total do custo do projeto, sendo que as outras instituições que
fazem parte do projeto foram responsáveis por seus próprios investimentos, que somados
correspondem ao custo total do WLCG.
É importante notar que Grid Computing é uma tecnologia que fornece eficientes
funcionalidades para este tipo de modelo de investimento, permitindo que inúmeras
instituições possam construir em conjunto um ambiente computacional compartilhado, e que
o seu investimento total seja distribuído por todos os participantes.
Embora o CERN seja o fundador do projeto, é notório que sozinho não teria condições
financeiras de habilitar um ambiente computacional com a capacidade necessária para o
processamento dos dados do LHC. Estima-se que o experimento possa gerar em torno de 15
Petabytes por ano, e que essa quantidade possa aumentar ao longo do tempo. Assim, somente
uma infra-estrutura de larga escala e com alta capacidade escalável poderia processar esses
dados com eficiência, situação que corresponde a um alto custo de investimento, tanto em
recursos computacionais como também em pessoal especializado.
O CERN contou com a ajuda de mais de 140 instituições para a construção do WLCG,
considerado um dos ambientes computacionais com mais poder de processamento na
atualidade. O WLCG é uma infra-estrutura de Grid Computing que integra recursos
computacionais de universidades, centros de computação, instituições de pesquisas
espalhados ao redor do mundo. A maioria dos envolvidos na construção do WLCG colabora
através do compartilhamento de recursos computacionais e também do fornecimento de mãode-obra especializada.
É importante destacar que a capacidade de processamento do WLCG é proveniente da
colaboração de cada entidade envolvida no projeto. Conforme visto no Gráfico 3, a segunda
camada (Tier-1) e a terceira camada (Tier-2) são os grandes responsáveis pelo nível de
processamento do ambiente, uma vez que são os maiores colaboradores de recursos de CPU.
A mesma situação também pode ser observada para o espaço de armazenamento em disco.
Vale ressaltar que a primeira camada (Tier-0) corresponde apenas ao CERN, enquanto
95
a segunda camada corresponde a 11 instituições com link dedicado ao CERN e a terceira
camada é composta por mais de 140 sítios de computação ao redor do mundo. A transferência
de dados inicia-se no CERN, que os envia para os sítios da segunda camada, que por sua vez
são responsáveis por abastecer os sítios da terceira camada.
Percebe-se assim uma estrutura de confiança baseada em hierarquia entre todas as
camadas. O CERN (Tier-0) é a camada principal da estrutura do WLCG, pois é o responsável
por receber os dados gerados pelo LHC, efetuar o processamento inicial, enviá-los para os
sítios da segunda camada (Tier-1) e armazená-los para propósito de backup. O CERN tem
uma importância fundamental para o funcionamento do WLCG, pois se seu sítio de
computação estiver fora do ar, nenhum outro sítio das outras camadas receberão novos dados.
Já os sítios da segunda camada são responsáveis por receber os dados do CERN,
analisá-los de forma intensiva e também oferecer suporte regional para os sítios da terceira
camada (Tier-2). Geralmente os sítios de terceira camada são associados, baseando-se em
proximidade geográfica, a um sítio de segunda camada, o qual é responsável pela
transferência dos dados necessários de acordo com o modelo de Organizações Virtuais.
É perceptível que nessa situação o impacto de um problema causado em qualquer sítio
da segunda camada é bastante preocupante, pois uma situação de emergência colocaria o
próprio sítio de segunda camada e todos os seus respectivos sítios de terceira camada em
estado de alerta. Entretanto, é importante citar que o ambiente do WLCG continuaria
funcionando com base nos outros sítios de segunda e terceira camada. Em uma configuração
de Grid Computing baseada totalmente na descentralização, onde um sítio não depende do
outro, um problema que ocorresse em uma determinada localidade teria um impacto ainda
menor.
Essa característica é importante para ressaltar questões como segurança e transparência
em uma infra-estrutura de Grid Computing. No projeto do WLCG, o qual utiliza uma
configuração em camadas, percebe-se que nem mesmo o CERN (Tier-0) tem controle
absoluto do ambiente informacional. O CERN pode afetar o ambiente apenas não enviando
novos dados, porém aqueles que já foram transferidos estão em poder de inúmeras instituições
ao redor do mundo.
Foi visto até o momento que a colaboração é um fator importante para o projeto do
WLCG para a constituição de sua infra-estrutura computacional. Entretanto, conforme foi
destacado anteriormente, Grid Computing favorece o 2-Ways Collaboration, ou seja, os
96
envolvidos no projeto colaboram inicialmente através do compartilhamento de seus recursos
computacionais para habilitar um ambiente de larga escala, o qual fornece funcionalidades
para o trabalho colaborativo, execução de aplicações em conjunto e compartilhamento de
dados de forma transparente, principalmente devido à arquitetura descentralizada da
tecnologia.
O projeto do WLCG tem o objetivo de prover os dados gerados pelo LHC para mais
de sete mil cientistas pertencentes a diferentes entidades, as quais podem estar associadas a
uma, ou mais, Organizações Virtuais. É importante citar que o modelo de OV tem papel
importante no WLCG para organizar o acesso aos dados, trazendo maior confiabilidade e
confiança para o ambiente colaborativo. Assim, uma instituição que participa apenas do
experimento ALICE (consequentemente é associada à OV ALICE), não poderá receber dados
provenientes
do
experimento
ATLAS,
mesmo
ambos
os
experimentos
estarem
disponibilizando seus dados na mesma infra-estrutura.
Destaca-se também que o WLCG desempenhou uma função interessante para a
inclusão científica do projeto do LHC. Primeiro, esse projeto tornou possível a criação de um
ambiente computacional de larga escala e com custo distribuído, o que favoreceu o
investimento a partir de diversas fontes. Segundo, o WLCG permite que as instituições de
pesquisas que não tinham a possibilidade de efetuar pesquisas na área de físicas de partículas,
principalmente de uma riqueza tão abrangente como a do LHC, possam participar ativamente
de um dos maiores experimentos científicos da humanidade, seja apenas acessando os dados,
executando aplicações ou até mesmo compartilhando resultados.
Basicamente, o que o WLCG proporciona é um ambiente de trabalho compartilhado
por cientistas espalhados por todo o globo terrestre. Os cientistas do CERN podem trabalhar
em conjunto com cientistas do Japão, Índia, Estados Unidos, e Brasil, por exemplo. Onde
cada instituição tem um papel a desempenhar para contribuir com uma parcela significante
para o projeto, e que todos juntos possam tornar a grande descoberta da humanidade uma
realidade. Até mesmo os cientistas individuais podem ter acesso a esse ambiente através de
recursos de uma quarta camada (Tier-3), que pode ser constituída de servidores de um
departamento de uma universidade ou até mesmos de um simples computador pessoal.
Com base na análise das características do WLCG, pode-se (PODEM-SE) destacar
algumas vantagens da tecnologia de Grid Computing:
97
•
Múltiplas cópias de dados podem estar armazenadas em diferentes sítios de
computação, garantindo assim acesso para todos os cientistas envolvidos
independentemente de suas localizações geográficas.
•
Aperfeiçoamento da utilização da capacidade excedente de recursos
computacionais, tornando-os mais eficientes.
•
Redução dos pontos únicos de falha no ambiente.
•
O custo de operação e manutenção é distribuído por todos os envolvidos, onde
cada um é responsável por seus equipamentos, mas todos juntos colaboram para o
objetivo global.
•
Pesquisadores e cientistas não precisam deixar os seus países para participar do
projeto, uma vez que os dados estarão disponíveis em seus recursos
computacionais.
•
A comunidade é beneficiada com o surgimento de novas tecnologias que
favorecem a redução do custo e também o consumo de energia.
A colaboração é o fundamento do projeto do WLCG, e não está englobando apenas as
entidades científicas que fazem parte dos projetos. Há indústrias que também apóiam o
projeto ajudando os cientistas do CERN a desenvolver novas tecnologias e também melhorar
as já existentes. Inclusive, existem alguns produtos vendidos no mercado que são frutos de
esforços do projeto do WLCG. O projeto CERN Openlab (2009) tem foco na contribuição de
parceiros de indústrias especializadas, como Intel, Oracle e HP. Essa situação fortalece o
cenário de que a colaboração pode ditar o desenvolvimento de novos produtos, tanto nas
comunidades sociais, como também nas indústrias especializadas.
4.1.3.4 Resultados e contribuições
O projeto do superacelerador de partículas é, apoiado pela infra-estrutura do WLCG,
um exemplo dos benefícios da colaboração na sociedade. Anteriormente, as instituições
tentavam proteger as suas pesquisas para que fossem exclusivas. Entretanto, esse cenário está
sofrendo fortes reformulações. Há algum tempo já se pode observar um cenário maior de
ajuda recíproca e troca de informações entre as entidades científicas.
O projeto do LHC é um exemplo notável do impacto da colaboração para a sociedade,
98
pois essa pesquisa busca responder perguntas que sempre foram destaque no meio científico, e
consequentemente também na sociedade. É a busca por uma grande descoberta na ciência. E o
mais importante é que essa pesquisa só será possível devido à colaboração entre várias
instituições.
O CERN não quer proteger as grandes descobertas ou tê-las como exclusividade. Pelo
contrário, o CERN só tornou possível o seu projeto devido à colaboração de outras
instituições, sendo assim, nada mais justo do que compartilhar o seu ambiente informacional
para que todos trabalhem em conjunto na busca da evolução da ciência.
É importante também destacar que o sucesso do projeto do WLCG vem guiando novas
oportunidades inovadoras da utilização de Grid Computing ao redor do mundo, como a luta
contra determinadas doenças, pesquisas sobre mudança climática, poluição do mar, entre
outras. Qualquer ciência que requer intensiva simulação ou cálculos pode se beneficiar de
Grid Computing.
Os benefícios de Grid Computing não se limitam apenas ao contexto científico,
embora o mesmo tenha possibilitado o surgimento de novas pesquisas. Essa tecnologia
demonstra potencial para tornar-se algo de extremo valor para a sociedade informacional
conectada, permitindo que através da colaboração um novo ambiente de alto nível de
processamento seja provisionado com baixo custo, permitindo assim que novos projetos
sociais sejam criados, principalmente aqueles focados em inclusão digital.
Os ambientes de Grid Computing também tornam possíveis a produção de produtos e
serviços que antes estavam restritos apenas as grandes indústrias por necessitar a utilização de
supercomputadores para determinadas tarefas, como a renderização de um filme, por
exemplo. Entretanto, com Grid Computing, uma comunidade torna-se capaz de habilitar um
ambiente computacional para geração de qualquer bem que exija em seu processo produtivo
alto nível de processamento computacional.
Na próxima seção, discorre-se sobre o impacto de Grid Computing para o meioambiente, como esta tecnologia pode ser benéfica para a redução de consumo de energia e
também como pode servir de infra-estrutura para pesquisas focadas na proteção ambiental.
4.2 Contexto Ambiental
Hoje em dia, uma das principais preocupações da sociedade está relacionada ao meio-
99
ambiente. Cientistas, pesquisadores e ativistas estão sempre em busca de alternativas para que
possamos diminuir o consumo de recursos naturais sem que haja um grande impacto na vida
das pessoas. A energia elétrica é um dos elementos essenciais para a humanidade, o qual exige
atenção especial para que seja possível evitar desperdícios durante a sua utilização.
Na realidade, pode-se evitar o consumo excessivo de energia elétrica em várias
situações do cotidiano, como apagar a luz ao sair de um recinto, desligar os aparelhos
eletrônicos que não estiverem em uso, entre outras atitudes fáceis de serem notadas no dia-adia.
Entretanto, existem cenários mais complexos de consumo de recursos energéticos em
larga escala, os quais geralmente são difíceis de serem mensurados. Como exemplo, pode-se
citar as infra-estruturas tecnológicas repletas de dispositivos computacionais, os quais
consomem energia sem muitas vezes estarem produzindo em sua capacidade máxima.
É interessante citar que a tecnologia da informação apresenta um papel de destaque
nesta situação, pois é parte do problema e ao mesmo tempo a chave para solucioná-lo. Por
esta razão, surgiu nos últimos anos um conceito denominado TI Verde (Green IT), o qual tem
enfoque em estudos e práticas de como usar recursos computacionais de forma eficiente.
Este é um conceito completo e aborda a forma de melhor utilizar as tecnologias a partir
de diversas iniciativas, como reduzir o uso de materiais perigosos e poluentes para a
fabricação de produtos, promover a reciclagem ou garantir a biodegrabilidade dos mesmos e
também buscar eficiência no consumo de energia durante todo o seu ciclo de vida.
O conceito de TI Verde teve sua origem com a concepção de um projeto da agência de
proteção ambiental dos Estados Unidos (U.S. Environmental Protection Agency) chamado
Energy Star. Basicamente, este projeto estava focado em promover iniciativas de energia
eficiente para monitores, equipamentos de controle climático e demais tecnologias. O seu
resultado foi bastante surpreendente e correspondeu à adoção do modo de espera (sleep mode)
por diversos produtos no mercado. O objetivo desta dissertação não é o estudo a fundo do
conceito de Green IT e todas as suas derivantes. Porém, o que se espera é salientar os
impactos e as vantagens da utilização de energia de forma adequada, principalmente por parte
das tecnologias da informação.
O portal GreenIT (2009) estima que a participação da tecnologia da informação na
emissão global de carbono corresponde, em média, entre 2% e 2.5% do total mundial, sendo
que esse valor pode chegar entre 5% a 6% em países mais desenvolvidos. A mesma fonte
100
também cita, com base em um relatório do McKinsey17, que esses dados podem triplicar no
período correspondente entre os anos 2002 e 2020.
Entretanto, o Gartner (2006) cita que os custos de energia compreendem em média
menos de 10% do orçamento total de TI nas organizações, mas que este nível pode chegar a
50% nos próximos anos. Essa situação de aumento no custo de energia apresenta uma forma
difícil de ser gerenciada, causando certos desafios para os CIOs18.
Ainda segundo o Gartner (2006), a legislação com foco no controle de energia é
eminente tanto nos Estados Unidos quanto na União Européia, cenário que pode possibilitar
punição de organizações com data centers de larga escala que não possuem medição e
gerenciamento do seu consumo de energia.
É importante também considerar a possibilidade que o crescimento de ações por parte
de campanhas com foco na proteção dos recursos naturais pode influenciar os consumidores
(empresas, governos e pessoas físicas) a levantar estas questões na hora de escolher os
fornecedores de seus produtos, podendo este cenário apresentar impactos de curto prazo na
rentabilidade de organizações que não estão tomando medidas que visam redução excessiva
no consumo de recursos naturais.
Como exemplo dessa situação, GreenIT (2009) aborda o programa dos Estados Unidos
chamado Federal Eletronics Challenge (FEC), que tem como objetivo incentivar as agências
federais a adquirir preferencialmente produtos eletrônicos que apresentam características
positivas em relação ao meio-ambiente e também descartar os produtos obsoletos em
ambientes adequados e seguros.
Perante todos esses desafios e também obrigações impostas, as organizações de TI
precisam tomar algumas ações em relação ao planejamento dos seus data centers para garantir
um melhor aproveitamento da utilização dos recursos energéticos, bem como garantir o seu
consumo escalável de acordo com o seu crescimento.
O maior desafio que se pode encontrar nas tecnologias da informação está relacionado
à sua infra-estrutura. O que ocorre é que atualmente existe uma grande quantidade de recursos
computacionais ociosos, como servidores, computadores pessoais e periféricos que estão
consumindo energia muitas vezes sem ser utilizados.
Algumas tecnologias surgiram motivadas por essa situação e tem como objetivo
17 McKinsey – Empresa de consultoria estratégica que tem como clientes empresas líderes em diversificados setores.
18 CIO (Chief Information Officer) – Nome dado ao cargo do responsável pelo ambiente das tecnologias da informação de uma determinada organização.
101
aperfeiçoar a configuração da quantidade de recursos necessários para atender uma
determinada demanda, aumentando assim a utilização da capacidade de cada dispositivo e
diminuindo o numero total de equipamentos, e consequentemente o gasto de energia.
Grid Computing tem apresentado excelentes resultados como tecnologia para
aperfeiçoar a utilização em infra-estruturas computacionais complexas, as quais possuem uma
grande quantidade de servidores. Conforme já visto nos capítulos anteriores, Grid Computing
tem como característica extrair o máximo da capacidade de cada recurso para habilitar um
ambiente de alto poder computacional.
Através da implementação dessa tecnologia em um data center, pode-se alcançar como
resultado a diminuição de consumo de energia, uma vez que foram mantidas somente as
máquinas que apresentam nível de utilização aceitável para o ambiente, eliminando os
recursos ociosos. É importante relembrar também que essa é uma tecnologia que fomenta um
ambiente computacional escalável, ou seja, consegue gerenciar o crescimento de sua demanda
através da adição de recursos computacionais adicionais, fator extremamente positivo para o
controle do consumo de energia.
Em outras palavras, Grid Computing apresenta-se como uma tecnologia favorável para
a economia de recursos energéticos por manter um ambiente computacional conciso, ou seja,
(QUE) somente utiliza um número de máquinas (NECESSÁRIAS) para manter o nível de
processamento exigido em um data center para atender uma determinada demanda,
eliminando qualquer recurso computacional que apresenta ociosidade, reduzindo assim o
consumo de energia.
Adicionalmente à aplicação de Grid Computing em uma infra-estrutura de um data
center, essa tecnologia também é importante para tornar mais eficiente o consumo de energia
por parte dos computadores pessoais. Na verdade, Grid Computing torna os recursos com
baixa utilização conectados na Internet, em dispositivos produtivos através do modelo de
computação voluntária, sem ter um grande impacto no consumo de energia elétrica.
É importante ressaltar que os recursos computacionais dos usuários finais não precisam
estar ativos exclusivamente para servir um ambiente de Grid Computing, mas eles podem ser
utilizados por uma aplicação do estilo de computação voluntária quando o mesmo apresentar
baixa utilização. Um exemplo fácil de ser encontrado nos dias de hoje são computadores
pessoais que ficam ligados apenas para o download de músicas e filmes, com nível de
processamento
extremamente baixo, enquanto poderiam ser utilizados para servir uma
102
aplicação de um projeto científico.
Entretanto, os benefícios de Grid Computing em relação ao meio-ambiente não estão
restritos apenas a esses dois cenários – consumo de energia mais eficiente em data centers e
computadores pessoais conectados à Internet. Conforme já visto anteriormente, essa
tecnologia também tem potencial para geração de um ambiente compartilhado de alto
processamento, característica importante para apoiar o trabalho colaborativo. Assim, é
possível encontrar inúmeros projetos com foco na proteção de recursos naturais e também
pesquisas climáticas que utilizam Grid Computing como a forma de criar um ambiente de
trabalho comum entre diversas entidades.
O projeto Clean Energy (HARVARD, 2009) é uma iniciativa com foco em pesquisas
na busca de novos materiais para a próxima geração de células solares e também dispositivos
de armazenamento de energia. Utiliza um ambiente de Grid Computing baseado no modelo de
computação voluntária (também é integrante do World Community Grid), ou seja, qualquer
pessoa interessada no projeto pode ceder a capacidade excedente de suas máquinas para a
busca de uma fonte mais eficiente de geração de energia.
A aplicação de Grid Computing no projeto Clean Energy permite que os pesquisadores
possam calcular as propriedades eletrônicas de mais de dez mil materiais orgânicos (um
número extremamente superior ao que poderia ser testado em um laboratório), e assim
determinar quais são os mais indicados para o desenvolvimento de uma nova tecnologia de
energia solar.
O projeto Climateprediction (2009) é uma pesquisa focada na produção de predições
do clima no planeta terra até 2080 e também na verificação da exatidão de modelos climáticos
existentes. A mudança climática é um assunto de importância global, podendo afetar a
produção de alimentos, ecossistemas, os recursos de águas, a demanda por energia entre
outros pontos.
Algumas pesquisas sugerem que a terra passará por um aquecimento global de impacto
nos próximos anos. O Climaprediction (2009) tem como objetivo investigar com afinco e
trazer resultados sobre o que realmente pode-se esperar em relação ao aquecimento global.
Para isso, o projeto necessita de um ambiente computacional de larga escala para o
processamento de seus dados e execução de suas simulações. A plataforma BOINC foi a
escolhida para prover um ambiente de Grid Computing orientado ao modelo de computação
voluntária. O projeto também criou um portal onde todos os resultados são compartilhados
103
com a comunidade interessada na pesquisa.
Em suma, Grid Computing apresenta benefícios em duas vertentes para o meio
ambiente, permitindo consumo de energia mais eficiente através do aperfeiçoamento da
quantidade de recursos computacionais para atender uma determinada demanda, e também
habilitando um ambiente computacional com capacidade de processamento suficiente para
suportar novas pesquisas com foco no desenvolvimento de novas tecnologias e produtos, os
quais ajudam de alguma forma a preservação dos recursos naturais.
4.2.1 Estudo de Caso – Computação Voluntária como uma alternativa de
tornar o consumo de energia mais eficiente
O objetivo deste estudo de caso é levantar informações sobre a quantidade de
computadores pessoais em uso na atualidade, o seu consumo médio de energia e como Grid
Computing pode se beneficiar da capacidade excedente dos recursos computacionais sem
decorrer em grandes impactos em relação ao consumo de energia elétrica.
4.2.1.1 Coleta de Dados
O portal Internet World Stats (IWS, 2009) traz dados estatísticos sobre a utilização da
Internet em relação à população mundial. Estima-se que o número total de usuários
conectados à rede global de computadores é de 1.5 bilhão, espalhados por todo o planeta. A
tabela 4 detalha informações sobre a penetração do acesso à Internet por regiões:
Usuários de Usuários de
População
Internet
Internet
Crescimento de
(Estimado em (Dezembro de (Março de Penetração (% Usuários (2000- % Usuários no
2008)
2000)
2009)
População)
2008)
total global
Regiões
África
975330899
4514400
54171500
5.60%
1100.00%
3.40%
Ásia
3780819792
114304000
657170816
17.40%
474.90%
41.20%
Europa
803903540
105096093
393373398
48.90%
274.30%
24.60%
Oriente Médio
196767614
3284800
45861346
23.30%
1296.20%
2.90%
América do
Norte
337572949
108096800
251290489
74.40%
132.50%
15.70%
América
Latina/Caribe
581249892
18068919
173619140
29.90%
860.90%
10.90%
Oceania /
34384384
7620480
20783419
60.40%
172.70%
1.30%
Austrália
TOTAL
6710029070
360985492 1596270108
23.80%
342.20%
100.00%
Tabela 4 – Penetração de acesso a Internet por regiões (IWS, 2009)
104
As regiões da Oceania e da América do Norte são as que apresentam maior penetração
de usuários conectados na Internet em relação as suas populações. A África, mesmo sendo a
região com menor penetração, apresentou um crescimento extremamente considerável entre
os anos de 2000 e 2008. Já a Ásia é a região que tem o maior número de usuários conectados
na Internet, seguida pela a Europa. A Oceania apresenta, mesmo despontando entre as regiões
com mais penetração, o menor número de usuários conectados à rede em relação ao total. O
Gráfico 6 demonstra um comparativo do total de usuários conectados à Internet por região.
Gráfico 6 – Total de Usuário conectado à Internet por região (IWS,2009)
Vale ressaltar que os usuários da Internet não possuem necessariamente o próprio
dispositivo computacional, principalmente em países sub-desenvolvidos, onde muitas vezes
acessam a rede a partir das máquinas dos seus trabalhos, centros de inclusão digital, lan
houses, entre outros locais. Para exemplificar este cenário, pode-se comentar uma pesquisa
divulgada por CETIC (2009), onde foi comparado o acesso a Internet a partir de diversas
localidades:
Percentual sobre o total de usuários de Internet no Brasil
Gráfico 7 – Local de acesso à Internet no Brasil (CETIC, 2009)
105
Apesar de o número de pessoas conectadas à Internet não representar o número de
computadores, a quantidade total de recursos computacionais atualmente em uso no mundo é
bem próximo a quantidade de usuários, principalmente para que seja possível atender toda
essa demanda de acesso à Internet. Reuters (2008) divulgou um estudo realizado pelo Gartner
Group19 onde cita que o número de computadores pessoais em uso superou a marca de 1
bilhão de equipamentos em 2008. Já de acordo com um estudo da Almanac (2009), estima-se
que a quantidade total atingiu 1,2 bilhão de dispositivos no fim do ano de 2008. A Tabela 5
traz informações referentes aos 15 países que possuem uma maior quantidade de
computadores pessoais:
Localidade
1. Estados Unidos
2. China
3. Japão
4. Alemanha
5. Reino Unido
6. França
7. Rússia
8. Itália
9. Coréia do Sul
10. Brasil
11. índia
12. Canadá
13. México
14. Austrália
15. Espanha
Top 15 Total
Total Mundial
PCs em uso
(Unidade: Milhões)
264.1
98.67
86.22
61.96
47.04
43.11
36.42
35.69
34.87
33.3
32.03
27.63
19.13
17.01
16.71
853.9
1190.1
Porcentagem %
22.19
8.29
7.24
5.21
3.95
3.62
3.06
3
2.93
2.8
2.69
2.32
1.61
1.43
1.4
71.7
100
Tabela 5 – Total de computadores pessoais no mundo (ALMANAC, 2009)
O próximo passo é a investigação da média do consumo de energia por parte dos
recursos computacionais. Existem muitas métricas disponibilizadas sobre este assunto,
entretanto o estudo realizado por Schmid (2005) buscou uma análise com mais detalhes sobre
as principais marcas e modelos de processadores.
O Gráfico 8 mostra o consumo de energia de recursos computacionais em dois
19 Gartner Group ­ Empresa de consultoria fundada em 1979 focada em pesquisas de tecnologias.
106
cenários distintos – computadores ociosos (Idle) e também alta utilização (100% do consumo
de CPU). O autor citou que os dados foram coletados a partir de um ambiente computacional
composto por uma placa-mãe, memória RAM, uma placa de vídeo, dois discos rígidos, um
dispositivo de DVD e o processador em questão, sendo que apenas os periférios foram
excluídos (monitores, impressoras entre outros).
Gráfico 8 – Consumo de energia por recursos computacionais (SCHMID, 2005)
Nota-se que o consumo de energia está diretamente relacionado à utilização da
capacidade computacional do computador. A partir dos dados de consumo dos processadores
analisados, a média de demanda por recursos energéticos aumenta de acordo com a sua
utilização. Em computadores ociosos (Idle), o consumo médio é de aproximadamente 173.4
W, enquanto pode atingir 258.55 W quando o recurso estiver com toda a sua capacidade
107
explorada (100% CPU).
Vale também ressaltar que os recursos computacionais, principalmente os mais novos,
apresentam capacidade de processamento extremamente alta, o que muitas vezes não é
utilizada por completa, simplesmente por serem aplicados à tarefas que não requerem muito
processamento, como navegação na Internet, uso de aplicativos de escritórios, entre outros.
Joseph e Humphreys (2004) citam, em uma publicação da empresa de consultoria
IDC, que a taxa de utilização em servidores baseados na plataforma Intel x86 é de apenas
15% em média. Seguindo a mesma linha, Maurrer (2009) também publicou alguns dados
onde aborda que somente 20% da capacidade de processamento dos computadores pessoais é
utilizada.
Para fomentar esse cenário de consumo de CPU, também foram coletados dados
referentes à utilização de CPU em dois tipos de recursos computacionais - um notebook HP
6910p com o sistema operacional Linux e um desktop HP dc7700s com o sistema operacional
Windows. Ambos dispositivos apresentaram utilização máxima de 30%, mesmo enquanto
seus usuários estavam operando-os normalmente.
A utilização de CPU é algo difícil de especificar, pois depende muito do cenário de
implementação, tipo de dispositivo, aplicações executadas, entre outros fatores. Entretanto,
nessa dissertação toma-se como base, de acordo com os dados apresentados, a utilização
média de 30% para os computadores pessoais, fortalecendo um cenário de desperdício
computacional.
Grid Computing surge como uma tecnologia fundamental para a utilização da
capacidade excedente dos recursos computacionais para outros projetos. Entretanto, à medida
que a utilização da capacidade de processamento dos computadores aumenta, a demanda por
recursos energéticos também segue esta tendência, apresentando assim maior consumo de
energia. A seguir será analisado, com base nos dados coletados, a implementação de Grid
Computing para a redução de desperdício da capacidade de processamento em computadores
pessoais e o seu impacto no consumo de energia elétrica.
4.2.1.2 Análise
Na seção anterior foi visto que há uma grande quantidade de computadores pessoais
em uso mundialmente que, em sua grande maioria, possuem conexão à Internet. Também foi
108
destacado que utiliza-se em média somente 30% da capacidade dos recursos computacionais.
Grid Computing é uma tecnologia que apresenta habilidade para aproveitar a capacidade
excedente de dispositivos computacionais para processar dados de um determinado projeto e
aplicação. Entretanto, o consumo de energia está fortemente atrelado à utilização da
capacidade de processamento das máquinas.
Nesta seção,
analisa-se o impacto do aumento de utilização para o consumo de
recursos energéticos a partir de computadores pessoais que estão executando a aplicação de
Grid Computing do World Community Grid (WCG, 2009).
A aplicação cliente do World Community Grid permite que os usuários voluntários que
estão colaborando com o projeto, cedendo recursos de suas máquinas, possam configurar
algumas preferências para adequar a aplicação em relação à utilização da capacidade de
processamento de seus computadores, como configurar os horários que a aplicação pode
inciar, o limite de uso de CPU e espaço de armazenamento. A configuração padrão limita a
utilização do espaço em disco em 10GB e a utilização de CPU em 60%. Para propósito de
testes, a aplicação foi instalada em dois equipamentos - notebook HP 6910p e desktop HP
dc7700s.
O Gráfico 9 mostra a utilização de CPU do notebook em condições de uso normal
(usuário utilizando o computador normalmente, como navegação na Internet e utilização de
suas aplicações diárias) e também um cenário de execução da aplicação de Grid Computing
do World Community Grid. Os dados foram coletados a partir da ferramenta vmstat do próprio
sistema operacional Linux:
Gráfico 9 – Utilização de CPU em notebook com sistema operacional Linux
109
O Gráfico 10 mostra os dados de utilização de CPU do desktop coletados a partir da
ferramenta de gereciamento do sistema operacional Windows:
Gráfico 10 – Utilização de CPU em desktop com sistema operacional Windows
De acordo com os Gráficos 9 e 10, percebe-se que a aplicação do World Community
Grid aproveitou os recursos ociosos das máquinas, as quais a utilização gira em torno de 30%,
para processar dados de pesquisa científica sem prejudicar o ambiente computacional do
usuário. É importante citar que a configuração da aplicação do Word Community Grid estava
configurada para consumir no máximo 60% de CPU, funcionalidade padrão do software.
Entretanto, o usuário pode configurar para que a aplicação possa consumir até 100% de CPU
do seu computador.
Porém, um grande desafio para o modelo de Grid Computing focado em computação
voluntária é gerenciar o consumo de energia de acordo com a utilização da capacidade de
processamento de computadores conectados à Internet.
O próximo passo é identificar o impacto direto do aumento da autilização de um
computador para o consumo de energia elétrica. Vale ressaltar que está sendo analisada
somente a aplicação de Grid Computing, baseada no modelo de computação voluntária, em
um cenário onde os computadores estão ligados por algum motivo, seja pelo fato de seu
usuário estar utilizando um editor de texto ou o mesmo ter deixado sua máquina fazendo
download de vídeos e músicas durante toda a noite.
O cenário de computadores em stand-by (hibernado) ou desligados não fazem parte do
escopo dessa pesquisa. Assim, estamos apenas abordado aquelas máquinas que por alguma
razão estão ligadas, consumindo energia e apresentando capacidade excedente. Entretanto, o
110
aumento de utilização também corresponde a um maior consumo de energia por parte do
equipamento computacional.
Blackburn (2008) publicou uma pesquisa sobre a variação de consumo de energia em
relação a utilização de CPU nos computadores. O autor cita a seguinte fórmula para calcular o
quanto um recursos computacional consome de recursos energéticos:
Pn = Pidle + (Pmax – Pidle) / 100 X N
Onde, Pidle significa o consumo de energia quando o computador está ocioso (Idle),
Pmax o consumo de energia quando o computador apresenta máxima utilização (100% CPU)
e N o nível de utilização de CPU no dado momento. O Gráfico 11 mostra a tendência do aumento de consumo de energia de acordo com a sua utilização. Para a geração deste gráfico foi utilizado dados referente ao consumo médio de energia dos recursos computacionais, coletados na seção anterior, aplicados a fórmula anterior:
Gráfico 11 – Consumo de energia em relação a utilização de CPU
De acordo com o Gráfico 11, é possível destacar que, do total consumido por um
computador, uma parcela considerável corresponde aos seus componentes (placa-mãe,
memória, disco rígido, leitor de DVD, entre outros). Já a CPU, responsável pela maior parte
do consumo de energia nos computadores, apresenta uma tendência suave no crescimento de
demanda por recursos de energia quando há maior utilização de sua capacidade. Por exemplo,
um computador pode ter sua capacidade de processamento dobrada de 10% para 20% de
111
utilização de CPU, enquanto o consumo de energia varia apenas em torno de 4,7%, saltando
de 181.92 W para 190.43 W.
A Tabela 6 está populada com dados referentes ao consumo de energia elétrica quando
o computador apresentar diferentes cenários de utilização – uso normal do usuário e também a
aplicação do World Community Grid em diferentes configurações de consumo máximo de
CPU (60%, 80% e 100%).
Cenário
% CPU Utilizada % CPU Ociosa Energia Consumida Consumo de energia por % CPU Utilizada
Uso Normal
30%
70%
198.95 W
6.63 W
WCG (60%)
60%
40%
224.49 W
3.74 W
WCG (80%)
80%
20%
241.52 W
3.01 W
WCG (100%
100%
0%
258.55 W
2.58 W
Tabela 6 – Cenário consumo de energia com Grid Computing
De acordo com os dados apresentados na Tabela 6, os recursos computacionais
mostram-se mais eficientes em relação ao consumo de energia quando há maior utilização de
CPU. Durante o uso normal de um computador, ou seja, enquanto o usuário está executando
suas aplicações, navegando na Internet, estima-se que o nível de capacidade de CPU
explorada é de apenas 30%, consumindo em torno de 198.95 W, equivalente a 6.63 W por
cada 1% de CPU utilizada.
Porém, se o usuário optar por ceder a capacidade ociosa de seu computador para o
World Community Grid, e o mesmo configurar a aplicação cliente para utilizar até 60% de sua
CPU, o consumo médio de energia por cada 1% de CPU utilizada atinge o valor de
aproximadamente 3.74 W. Já se a aplicação for configurada para usar toda a capacidade de
processamento, a eficiência é ainda maior, com um consumo médio de 2.58 W por cada 1%
de CPU utilizada.
Assim, mesmo que o aumento da utilização da capacidade de processamento de CPU
decorra em um consumo total de energia maior, os computadores pessoais demonstram-se
mais eficientes com alta utilização, pois o aumento de uso de recursos computacionais é
bastante pequeno perto da capacidade de processamento obtida. Um computador com 100%
de utilização apresenta apenas 60 W de consumo de energia a mais do que um computador
com uso normal (30% de utilização de CPU), ou seja, um aumento ínfimo se comparado com
o poder de produção alcançado.
112
4.2.1.3 Resultados e contribuições
De acordo com a análise dos dados na seção anterior, percebe-se que um recursos
computacional, tanto os desktops, notebooks ou até mesmo os servidores, apresentam um
consumo mais eficiente de energia quando estão com sua capacidade máxima de
processamento em uso. Isso acontence, pois os computadores consomem uma certa
quantidade de energia, quase metade do total, apenas para alimentar todos os seus
componentes, como placa-mãe, memória, disco rígido, placa de vídeo. É certo que os
processadores também têm uma grande parcela no total de energia consumida, mas mesmo
assim essa variação acaba tornando-se mínima perante a capacidade de produção alcançada
com o aumento de processamento.
Através da colaboração, os indivíduos da sociedade que possuem máquinas ativas que
apresentam capacidade ociosa de processamento, podem participar de projetos científicos e
sociais execuntando aplicações de Grid Computing, como o World Community Grid,
aumentando o nível de processamento de suas máquinas e tornando-as mais eficientes em
relação ao consumo de energia.
Muitas pessoas deixam seus computadores ligados durante um longo período para
fazer download de arquivos, ou simplesmente por não querer desligá-los, situação que
mantêm uma grande quantidade de máquinas conectadas na Internet consumindo energia de
uma forma ineficiente, já que o recurso apresenta baixa utilização de sua capacidade de
processamento. Isso não quer dizer que a máquina está consumindo mais energia para
produzir menos, mas significa que ela poderia estar produzindo muito mais com apenas um
leve acréscimo no seu consumo de energia.
Grid Computing, baseado no modelo de computação voluntária, apresenta-se com uma
oportunidade colaborativa para a elaboração de um ambiente computacional de larga escala
sem que haja um grande impacto ambiental e financeiro, principalmente levando em
consideração a quantidade total de computadores em usos e pessoas conectadas na Internet
atualmente.
Geralmente, quando um usuário colabora com um projeto como o World Community
Grid, ele permite a execução da aplicação cliente de Grid Computing enquanto seu
computador estiver ativo devido algum motivo – usuário trabalhando, lendo e-mails,
navegando na Internet ou jogando algum game. Essa situação demonstra uma característica
113
interessante para a economia de recursos energéticos, pois como foi visto anteriormente, uma
boa parcela do consumo total de energia é utilizada pelos componentes do computador, e
nesse caso Grid Computing estaria consumindo energia apenas em relação a variação de CPU.
Como exemplo, pode-se citar um usuário que utiliza apenas 20% da capacidade total
de seu computador, e por esta razão decidiu participar do World Community Grid. De acordo
com os dados de consumo médio de energia coletado nas seções anteriores, pode-se destacar
que uma pessoa que utiliza apenas 20% da capacidade de seu computador, para desempenhar
suas atividades normais, consome em torno de 190 W de energia elétrica.
Porém, com a instalação da aplicação de Grid Computing no mesmo dispositivo
computacional, pode ocorrer um aumento do total de CPU utilizada, atingindo o nível de 60%
de utilização – 20% referente ao uso normal do usuário e 40% referente a aplicação de Grid
Computing. Esse aumento de utilização da capacidade de processamento também acarreta em
um maior consumo de energia, saltando para aproximadamente 224 W, ou seja, um acrescimo
de apenas 34 W no consumo total de energia elétrica.
Considerando que a máquina já estava ativa por algum motivo, e por isso estava
consumindo 190 W, pode-se determinar que a aplicação de Grid Computing consumiu apenas
34 W para utilizar 40% de CPU de um computador ativo na Internet, enquanto seria
necessário em torno de 207 W para atingir a mesma capacidade de processamento em uma
máquina dedicada.
Grid Computing torna-se uma excelente alternativa para um consumo mais eficiente de
energia através da utilização da capacidade ociosa de recursos computacionais na Internet. A
tecnologia também apresenta importates características em relação a redução do desperdício
de energia elétrica em data centers de empresas e instituições.
4.3 Contexto Econômico
Grid Computing é uma tecnologia que está ganhando evidência na indústria de
tecnologia nos últimos anos. As grandes empresas fornecedoras de tecnologia da informação,
como IBM, HP, Oracle, já estão lançando suas soluções de Grid Computing para atender a
demanda de seus clientes.
Esses produtos têm como foco tornar mais eficiente e econômica a infra-estrutura de
data centers, criando um ambiente computacional escalável, tolerante à falhas e com alto
114
poder de processamento. Elimina os recursos ociosos e mantêm apenas aqueles que estão
realmente sendo utilizados no processo produtivo, reduzindo assim o investimento na
aquisição de novos equipamentos.
É comum hoje em dia, encontrar data centers que são construídos com uma relevante
quantidade de clusters na configuração active/stand-by para atender requisitos de altadisponibilidade. Para isso, geralmente existe um servidor ativo, responsável por receber todo
o tráfego do ambiente, enquanto há um outro ocioso esperando uma falha no servidor
principal para começar a executar as aplicações.
Grid Computing tem importate papel para suprir os requisitos de alta-disponibilidade
de TI das empresas, mas sem a necessidade de manter uma quantidade abundante de
servidores ociosos. Isso acontece pelo fato da tecnologia integrar, em uma infra-estrutura
global, somente os recursos computacionais necessários para atender a demanda de
processamento de um data center.
Através da adoção de Grid Computing, elimina-se a alocação exclusiva de máquinas
para a execução de uma determinada aplicação, como é comum encontrar nos data centers.
Por exemplo, um sistema gerenciador de banco de dados sendo executado no servidor A, uma
solução da área financeira no servidor B, e uma aplicação Web no servidor C. Esse cenário
não é muito favorável à economia de recursos, pois de acordo com os dados coletados nas
seções anteriores, a utilização da capacidade de um servidor varia entre 15% e 30%.
Já Grid Computing visa a eliminação dessas ilhas de processamento, através da
integração dos recursos computacionais (no caso, os servidores A, B e C), para a constiuição
de uma infra-estrutura computacional de larga escala que será compartilhada por todas as
aplicações, explorando ao máximo a capacidade de processamento de cada equipamento, o
que pode influênciar a redução da quantidade total de dispositivos para atender uma
determinada demanda.
Com base nessa caracterísitca, Grid Computing torna-se interessante para empresas e
instituições, pois torna a infra-estrutura de suas organizações de TI mais eficiente através da
aquisição somente de dispositivos computacionais que realmente são necessários.
Em face a necessidade dos seus clientes e os benefícios apresentados por Grid
Computing, os grandes fornecedores de tecnologia estão buscando produtos comercias a partir
de uma idéia que emergiu da comunidade científica. Essa tecnologia é um grande exemplo de
que produtos e serviços que surgem do coletivo, apresentam qualidade, e até mesmo potencial
115
para guiar as grandes indústias.
Hoje, empresas especializadas em tecnologia estão buscando oportunidades de
negócios a partir de criações que não são obrigatoriamente desenhadas por sua equipe de
pesquisa e desenvolvimento, mas que são idéias originadas através de um trabalho
colaborativo, muitas vezes não guiado por qualquer regra de mercado, mas sim pelo simples
poder de voluntariado das pessoas.
É importante destacar que os produtos comerciais de Grid Computing, que surgiram a
partir de uma criação da comunidade científica, já apresentam atualmente fatores importantes
relacionados ao contexto econômico. Para as indústrias de tecnologia, é o desenvolvimento de
um novo produto que permite a geração de receita através de sua venda, e para as empresas
consumidoras, uma tecnologia que pode trazer certa economia e maior aproveitamento em
relação aos seus recursos computacionais.
Já é possível indentificar também novos modelos de negócios que estão surgindo, a
partir dessa tecnologia, com enfoque na disponibilização de uma infra-estrutura
computacional como um serviço na Internet. Empresas e instituições estão disponibilizando
capacidade de processamento para clientes de forma on-demand e escalável, sem que eles
tenham a necessidade de investir muito em aquisição de equipamentos, projetos de
implementação, entre outros. A sinergia entre Grid Computing e Cloud Computing torna-se
evidente a partir desse cenário.
A seguir será abordado com mais detalhes o conceito de Cloud Computing, suas
tecnologias e configurações, bem como a sua relação com Grid Computing e Virtualização.
4.3.1 Cloud Computing
Cloud Computing, também chamado de Computação em Nuvem
é um novo
paradigma de computação que visa à integração de diversos conceitos e tecnologias para a
geração de um ambiente tecnológico ubíquo. Weiss (2007) cita Cloud Computing como uma
promessa de serviços confiáveis disponibilizados através da próxima geração dos data
centers. Assim, os consumidores poderão acessar, de qualquer lugar do mundo, as aplicações
e dados hospedados em uma Nuvem Computacional (Cloud Computing).
Esse termo está sendo bastante abordado no mercado corporativo e em instituições
acadêmicas. Com base nas definições de diversos pesquisadores apresentadas por Sys-Con
(2009), é possível consensuar Cloud Computing como uma coleção ubíqua de recursos
116
computacionais, softwares e serviços, que proporcionam a seus usuários um ambiente
altamente escalável e provisionado de maneira dinâmica. Esse ambiente pode apresentar
sofisticadas combinações de tecnologias e conceitos para a habilitação de serviços.
O conceito de Cloud Computing é bastante abrangente e pode apresentar diversos cenários,
mas sua principal característica é o fornecimento de recursos através de uma Nuvem
Computacional, ou seja, um ambiente ubíquo no qual os usuários utilizam os serviços
disponibilizados sem a necessidade de possuir informações sobre os elementos que os
compõem. No atual ambiente computacional é possível destacar a sinergia de Cloud
Computing com diversas tecnologias largamente adotas pelo mercado. A Figura 6 destaca os
principais elementos que, diretamente ou indiretamente, compõem o conjunto de tecnologias e
conceitos que fomentam o termo Cloud Computing.
Figura 6 – Cloud Computing: sinergia entre conceitos e tecnologias
A Figura 6 destaca as tecnologias que impulsionam o conceito de Cloud Computing,
entretanto, isso não determina que todas essas técnicas sejam obrigatoriamente utilizadas em
conjunto para habilitação de um ambiente de Computação em Nuvem.
4.3.1.1 Infra-estrutura
A primeira camada de um ambiente de Cloud Computing corresponde à infra-estrutura,
ou seja, às coleções de máquinas, servidores, dispositivos de storage, equipamentos de redes
de comunicação e softwares para o monitoramento e gerenciamento de todos esses elementos.
Essa é a camada base que promove o ambiente computacional necessário para a execução e
disponibilização de serviços.
117
4.3.1.2 Grid Computing e virtualização
Grid Computing e virtualização correspondem às tecnologias que gerenciam e
habilitam novas funcionalidades para os recursos da camada de infra-estrutura. O conceito de
Grid Computing é largamente difundido nas indústrias de tecnologias e institutos de
pesquisas. Consequentemente, existem diversas plataformas científicas e corporativas
implementadas com grande sucesso, principalmente pelo fato de habilitar um ambiente
robusto, conciso e econômico.
Mesmo sendo um conceito em evidência na atualidade, ainda há muitas abordagens
confusas em relação à Grid Computing e Cloud Computing. Existem diversas pesquisas de
mercado abordando Cloud Computing como evolução de Grid Computing. Entretanto,
considera-se nessa dissertação, Grid Computing como sendo uma tecnologia de
gerenciamento de infra-estrutura utilizada para a geração de novos serviços em um ambiente
de Computação em Nuvem. As evoluções de Grid Computing ficam a cargo de pesquisas
sobre a própria tecnologia, como já é possível encontrar integrações de funcionalidades nas
áreas de mobilidade (Mobile Grid) e semântica (Semantic Grid).
Já a virtualização é um conceito tecnológico que permite que diversos ambientes
avulsos sejam implementados em um único equipamento físico, permitindo que os serviços
possam ser compostos por esses ambientes como se fossem máquinas individuais. O usuário
tem a seu dispor a funcionalidade para alocar um ambiente de processamento on-demand e
com ajustes dinâmicos em relação aos seus recursos computacionais, como CPU, Memória
RAM e espaço de armazenamento, em um único elemento físico.
Essas duas tecnologias, Grid Computing e Virtualização, possibilitam que o ambiente
de Cloud Computing disponibilize sua infra-estrutura como serviços a serem consumidos por
seus clientes. Empresas podem alocar recursos computacionais em um ambiente de
Computação em Nuvem para atender uma demanda específica, sem a necessidade de
aquisição de novos equipamentos. Essa situação apresenta vantagem financeira para as
empresas consumidoras de serviços e permite a diminuição do custo total de propriedade
(TCO).
4.3.1.3. Serviços tecnológicos
A terceira camada representa os conceitos e tecnologias que utilizam o ambiente
118
computacional, constituído pelas camadas anteriores, para promover diversificados tipos de
serviços para os consumidores da Nuvem Computacional. Entre os principais conceitos
tecnológicos nessa camada estão: SaaS, SOA, Web 2.0 e Mobilidade.
Software as a Service
Software as a Service (SaaS) é um modelo de disponibilização de software no qual a
aplicação é hospedada como um serviço disponível ao consumidor. O Gartner define o
paradigma de Software as a Service:
Gartner define SaaS como um software que é possuído, entregue e
administrado remotamente por um ou mais provedores. O provedor fornece
uma aplicação baseada em um grupo de definições de dados e códigos
comuns, que são consumidos em um modelo um-para-muitos por todos os
consumidores contratados a qualquer momento em uma base de pagamento
por uso, ou como uma assinatura baseada na métrica de uso (GARTNER,
2009a).
Com base nas características e definições de SaaS, é notório destacar a sinergia entre
esse modelo computacional e Cloud Computing. Ambos os conceitos apresentam similaridade
pelo fato de disponibilizarem funções de TI através de um ambiente ubíquo. No modelo de
SaaS as funções de TI disponibilizadas são os softwares, enquanto os ambientes de Cloud
Computing disponibilizam variadas funções, como hardware e também software.
Gartner (2009a) destaca que o modelo de SaaS é um conceito aplicado desde a década
de 90, entretanto atualmente já existem antigos provedores de SaaS que estão mudando a
nomenclatura de seus serviços para Cloud Computing, mesmo não tendo efetuado qualquer
alteração na arquitetura de suas aplicações. Essa migração entre os nomes é gerada por
questão de marketing, principalmente devido ao fato do termo Cloud Computing estar em
evidência no mercado.
A empresa Salesforce.com foi uma das primeiras a focar o desenvolvimento de seus
softwares em serviços e hoje possui considerável market share na área de aplicativos de CRM
e uma das maiores plataformas de entrega de serviços on-demand. A Salesforce.com é um
exemplo de empresa que atualmente já utiliza o termo Cloud Computing em parte de sua
publicidade (SALESFORCE.COM, 2009).
Entretanto, Gartner (2009a) destaca que a diferença entre os conceitos de SaaS e Cloud
Computing está no modelo de infra-estrutura utilizado para a disponibilização dos serviços.
119
Sendo assim, para que um ambiente possa ser considerado Cloud Computing, o mesmo deve
utilizar tecnologias escaláveis em sua infra-estrutura para fornecer, consequentemente, ofertas
escaláveis para o mercado. Grid Computing é uma técnica que atualmente promove uma
infra-estrutura com tais características.
SaaS é um conceito consagrado que ao longo do tempo emergiu novos modelos de
negócios para a indústria de tecnologia. Cloud Computing é um novo paradigma
computacional que apresenta um amplo conceito de integração de técnicas para habilitação de
serviços escaláveis, no qual SaaS é uma prática associada ao seu portfólio.
Service­Oriented Architecture
Os serviços disponibilizados pelo modelo de Cloud Computing podem prover
determinadas aplicações que fazem parte dos fluxos informacionais dos
processos de
negócios de empresas clientes, portanto necessitam ser integrados ao ambiente de Tecnologia
de Informação dos consumidores de modo conciso. Como exemplo, podemos citar as
soluções de CRM disponibilizadas pela Salesforce.com, onde as empresas consumidoras
integram esse serviço em seu ambiente de TI para interações com outros serviços internos,
como ERP, BI, entre outros.
Atualmente, o conceito SOA (Service-Oriented Architecture) está em completa
evidência no mercado, pois visa à integração de serviços para a constituição de uma
arquitetura informacional concisa. Segundo OASIS (2006), SOA é um paradigma para a
organização e utilização de capacidades distribuídas que podem ser controladas por diferentes
domínios proprietários. Esse cenário é aplicável ao ambiente de Cloud Computing, uma vez
que esse modelo visa à disponibilização de serviços para serem integrados em uma arquitetura
orientada a serviços.
WANG (2008) cita que muitos serviços dos ambientes de Cloud Computing são
disponibilizados como Web Services, que seguem os padrões da indústria de tecnologia, como
SOAP e UDDI. Com base nessa citação, destaca-se a importância de SOA para o
gerenciamento, organização e orquestração de serviços para a composição de um ambiente
informacional íntegro, podendo esses serviços serem disponibilizados por aplicações internas
ao ambiente de TI ou ambientes externos provenientes de Cloud Computing.
Muitos investimentos estão sendo realizados por empresas para adoção de SOA como
plataforma base para a integração de serviços. Esse cenário torna favorável a integração de
120
serviços habilitados pelo modelo de Cloud Computing. Consequentemente, a crescente
demanda pelo paradigma de Computação em Nuvem também pode acarretar em incentivos
para implementação da Arquitetura Orientada a Serviços. ZDNET (2009) destaca que as
ofertas de Cloud Computing serão constituídas de acordo com os princípios de SOA,
exaltando a Arquitetura Orientada a Serviços como backbone utilizado pelas emergentes
tecnologias baseadas em Cloud Computing.
Mobilidade
As tecnologias móveis foram inventadas para suprir a necessidade do ser humano de
estar acessível não importando sua localização geográfica. O grande símbolo de mobilidade
na atualidade é o telefone celular, pois permite que os usuários estejam acessíveis e
conectados sempre que desejado, não importando onde quer que estejam.
A necessidade do indivíduo de possuir acesso móvel aos seus recursos já ultrapassou a
fronteira da comunicação. Hoje em dia, as pessoas não querem somente comunicar-se via voz,
os usuários têm o desejo de utilizar todo o seu ambiente informacional sempre que necessário,
não importando a sua localização ou o tipo de dispositivo utilizado.
Cloud Computing é um conceito capaz de habilitar novos modelos de mobilidade pelo
fato de constituir um ambiente ubíquo, ou seja, um ambiente acessível a qualquer hora e a
partir de qualquer lugar. Os usuários podem inserir seus recursos, sejam eles softwares ou
arquivos pessoais, dentro de um ambiente de Computação em Nuvem para que possam ter
acesso sempre que necessário.
Essa característica é de grande importância para o conceito de mobilidade, pois
permite que recursos não fiquem dependentes de um único dispositivo, podendo ter seu
acesso expandido para além dos limites locais. Um exemplo é o serviço de e-mail do Google,
denominado Gmail, onde todos os e-mails, lista de contatos e arquivos anexos dos usuários
ficam armazenados em uma Nuvem Computacional disponibilizada na Internet, assim esses
recursos não estão hospedados em um único dispositivo do usuário. Pelo contrário, estão
disponibilizados em um ambiente ubíquo e escalável que permite acesso independente do tipo
de dispositivo utilizado.
O conceito de Cloud Computing é capaz também de expandir o poder computacional
de dispositivos móveis, que em muitos casos possuem recursos com baixa capacidade de
121
processamento. Isso ocorre, pois o ambiente computacional disponibilizado por Cloud
Computing pode ser acessível a partir de qualquer dispositivo. Assim, um usuário pode iniciar
uma aplicação de larga escala em um ambiente de Cloud através do seu celular, pois todo o
processamento vai ocorrer dentro dos limites da Nuvem Computacional e não em seu
aparelho de telefonia móvel.
4.3.1.4 Consumidores e Negócios: Market-Oriented Cloud Computing
Cloud Computing tem como desafio integrar as tecnologias e os conceitos citados
anteriormente para prover um ambiente ubíquo para os seus consumidores com base nos
requerimentos especificados. O gerenciamento dos modelos de negócios e o relacionamento
com os consumidores são dois pilares que sustentam as oportunidades geradas pelos
ambientes de Computação em Nuvem.
Os consumidores ao adotarem o ambiente de Cloud Computing para suprir a sua
demanda computacional podem atribuir responsabilidades a seus provedores de serviços,
como a exigência do cumprimento de métricas de QoS20, para garantir a qualidade dos
serviços prestados. Entretanto, os provedores também têm um grande desafio, pois esse
cenário requer um novo conceito de gerenciamento para atender múltiplos parâmetros de QoS
com base em diversos consumidores e seus respectivos SLAs.
Buyya, Yeo e Venugopal (2008) citam que a mudança de paradigma na entrega de
serviços é inexorável. Os provedores de Cloud Computing
devem modificar os seus
tradicionais sistemas que tratam todas as requisições de alocações de serviços com igual
importância. Em seu lugar, a proposta é a adoção de um sistema de Cloud Computing
orientado ao mercado, ou seja, um ambiente capaz de promover a alocação de serviços
baseados em QoS individuais dos consumidores, conforme especificados nos SLAs.
O conceito de Cloud Computing originou novos nichos de mercados e oportunidades
de negócios a serem explorados por empresas fornecedoras de tecnologia. Os provedores de
Cloud Computing, assim como todo prestador de serviços, devem estar atentos para atender
seus consumidores de acordo com as suas especificações para que todos os Indicadores Chave
de Qualidade (KPQ) e Indicadores Chave de Desempenho (KPI), definidos nos SLAs, sejam
atendidos.
O cenário atual não remete ao modelo de disponibilização de funções de TI em forma
20 QoS – Qualidade de Serviço
122
serviços padrões, onde todos os usuários devem possuir as mesmas funcionalidades e
capacidades. Esse novo modelo é denominado Market-Oriented Cloud Computing e visa à
disponibilização de serviços orientados as demandas do mercado e não simplesmente a
disponibilização de serviços padrões aos consumidores. O grande desafio desse novo
ambiente de Cloud Computing é o processo de gerenciamento para garantir que distintos
serviços possam ter seus indicadores de QoS atendidos, sem importar a singularidade de cada
consumidor.
4.3.1.5 Tipos de serviço e níveis de abrangência
Atualmente existem diversos modelos de entrega de serviços de Cloud Computing
disponibilizados na área da Tecnologia da Informação, os quais apresentam distintas
funcionalidades e modelos de negócios. Um serviço em Computação em Nuvem pode ser a
disponibilização de uma infra-estrutura computacional, como CPU, memória e espaço para
armazenamento, ou pode envolver serviços informacionais, como aplicativos e softwares
especializados. A busca pela classificação dos modelos de Cloud Computing está em
constante avanço na indústria de tecnologia e no meio acadêmico.
O’Reilly (2009b) classifica Cloud Computing em três tipos baseando-se, em seus
modelos de serviços:
Utility Computing: disponibilização de recursos de infra-estrutura computacional
(CPU, Memória e Espaço para armazenamento) em forma de serviço na Internet.
Platform as a Service: Disponibilização de serviços que escondem as instâncias
dos servidores e sistemas operacionais através de APIs que são utilizadas para o
desenvolvimento de aplicativos hospedados no ambiente.
Cloud-based end-user applications: Disponibilização de aplicações habilitadas em
forma de serviços para os usuários finais em um ambiente de Cloud Computing.
Com base nas definições anteriores e nas análises dos atuais cenários de serviços de
Computação em Nuvem, apresenta-se, nessa dissertação, uma classificação dos modelos de
123
Cloud Computing em relação a duas vertentes: tipo de serviço disponibilizado e nível de
abrangência do ambiente. A figura 7 ilustra a matriz taxonômica dos modelos de Cloud
Computing proposta:
Figura 7 - Matriz taxonômica de Cloud Computing
4.3.1.5.1 Tipos de serviços
As classificações dos modelos de Cloud Computing podem variar de acordo com os
serviços disponibilizados para os consumidores. Os Tipos de serviços dos ambientes de
Computação em Nuvem observados até o momento são: Utility Cloud Computing, Platform
Cloud Computing, Application Cloud Computing e End-User Cloud Computing.
Utility Cloud Computing
Utility Cloud Computing, conforme abordado por O’Reilly (2009), corresponde à
disponibilização da infra-estrutura computacional em forma de serviços. Esses serviços
podem utilizar tecnologias de gerenciamento de recursos computacionais abordadas nessa
dissertação, como Grid Computing e virtualização.
Atualmente existem experimentos científicos que utilizam serviços de Utility Cloud
Computing compostos pela tecnologia de Grid Computing para obter grande capacidade
computacional para o processamento de dados de larga escala. No ambiente corporativo, o
mais comum é a utilização do conceito de virtualização para disponibilização de serviços, já
que tal conceito permite a isolação do ambientes computacionais dos consumidores através de
124
máquinas virtuais.
Platform Cloud Computing
Platform Cloud Computing foi também definida por O’Reilly (2009b) como Platform
as a Service. Esse modelo não visa à total disponibilização dos recursos computacionais, mas
tem como principal característica o encapsulamento desses elementos (CPU, Memória,
Sistemas Operacionais, etc.) através do uso de APIs. Nesse ambiente os usuários não possuem
acesso direto aos recursos das máquinas, mas dependem das plataformas constituídas por um
conjunto de APIs, para o desenvolvimento de suas aplicações.
Application Cloud Computing
Application Cloud Computing é o ambiente onde o serviço disponibilizado
corresponde à funcionalidade total ou parcial de um software específico. Nesse ambiente,
geralmente os consumidores não têm acesso a quaisquer recursos computacionais e não têm a
possibilidade de desenvolvimento de novos aplicativos dentro do ambiente. Os consumidores
acessam e utilizam os serviços disponíveis como Web applications. Esse modelo demonstra
bastante sinergia com o conceito de Software as a Service, com o requisito de que um
Application Cloud Computing deve apresentar uma arquitetura escalável.
End-User Cloud Computing
End-User Cloud Computing é o modelo mais difundido atualmente na Internet e
corresponde aos serviços com enfoque no usuário final. A maioria das aplicações disponíveis
na Internet é considerada End-User Cloud Computing. O usuário está em constante contato
com esse ambiente, como por exemplo, ao acessar o seu e-mail, utilizar planilhas eletrônicas
online, procurar vôos em sites de viagens, etc. A diferença entre o End-User Cloud
Computing e o Application Cloud Computing é o fato do segundo modelo ser focado em
aplicações específicas, na maioria das vezes voltada para o mercado corporativo.
125
4.3.1.5.2 Níveis de abrangência
Os Níveis de abrangência consideram as limitações em relação à utilização do
ambiente de Cloud Computing. Os atuais Níveis de abrangência são: Open Cloud, Walled
Garden Cloud e Internal Cloud.
Open Cloud
Open Cloud é considerado o nível mais abrangente e corresponde aos ambientes onde
não há quaisquer limitações em relação ao nível de utilização dos serviços adquiridos. Nesse
ambiente, o usuário tem a possibilidade de utilizar os recursos da melhor maneira sem ter que
se preocupar com imposições impostas pelo provedor de serviço, como suporte somente a
tecnologia X ou linguagem de programação Y. Os típicos exemplos desse nível são aqueles
onde a plataforma é disponibilizada como commodity. Utility Cloud Computing é o tipo de
serviço mais difundido nesse nível de abrangência e atualmente existem diversas plataformas
disponibilizadas com essas características.
Walled Garden Cloud
Walled Garden Cloud corresponde ao ambiente de Cloud Computing limitado aos
aplicativos e serviços do provedor. Nesse ambiente, ao contrário do Open Cloud, os usuários
utilizam os recursos com imposições do provedor, como por exemplo, suporte somente as
tecnologias embutidas no próprio ambiente de Computação em Nuvem.
Internal Cloud
Internal Cloud é o nível menos abrangente e corresponde ao ambiente de Cloud
Computing interno de uma determinada instituição. Nesse ambiente, não existem
consumidores externos e somente os usuários da instituição podem fazer proveito da
plataforma.
126
4.3.2 Estudo de Caso – Open Utility Cloud Computing
Um dos atuais modelos de Cloud Computing com mais evidência no ambiente
corporativo visa à disponibilização de serviços de infra-estrutura computacional, envolvendo
elementos como CPU, Memória e espaço de armazenamento. Enfim, toda a infra-estrutura
computacional necessária para a execução de aplicações. Esse cenário é bastante favorável
para atender demandas de curta duração de empresas que não desejam investir capital para
aquisição de equipamentos.
Os consumidores, ao optarem por utilizar esse tipo de serviço, desejam obter uma
infra-estrutura computacional em nuvem que seja de fácil integração e utilização, sem que
haja a necessidade de grandes modificações no seu próprio ambiente de TI.
O nível de abrangência Open Cloud corresponde à total usabilidade dos recursos por
parte dos consumidores. Ou seja, não deverá haver quaisquer restrições ao uso dos recursos
disponibilizados em forma de serviço. Essa característica é fundamental para o sucesso desse
modelo, pois consumidores que buscam o consumo de Cloud Computing como ambiente de
infra-estrutura desejam executar suas aplicações sem ter que se preocupar com certas
imposições ou limitações tecnológicas da plataforma.
Esse modelo é uma grande oportunidade para o mercado corporativo, uma vez que as
empresas buscam alternativas para contornar os altos investimentos em infra-estrutura
computacional. Os equipamentos adquiridos muitas vezes apresentam capacidade excedente,
ou seja, o proprietário não utiliza a total capacidade do produto mesmo tendo pago por isso.
Outro grande desafio é a rápida desvalorização dos equipamentos eletrônicos com base na
depreciação.
Todas essas características são influências positivas para adoção de um ambiente
computacional baseado no modelo de Open Utility Cloud Computing, onde os consumidores
não precisam se preocupar com a operação da infra-estrutura e pagam apenas pelos serviços
utilizados, modelo extremamente positivo para a diminuição do custo total de propriedade
(TCO).
Um dos grandes exemplos deste modelo de serviço disponível, baseado em Cloud
Computing, é o Amazon Elastic Compute Cloud (Amazon EC2), que tem como objetivo
fornecer recursos computacionais como serviços para clientes finais com um rápido e fácil
provisionamento.
127
O objetivo desse estudo de caso é levantar informações sobre o modelo de negócios do
Amazon EC2, suas vantagens competitivas, bem como as tendências de adoção deste serviço
por inúmeras organizações no mercado corporativo.
4.3.2.1 Coleta de dados
Todos os dados foram coletados a partir do portal do sistema do Amazon Elastic
Compute Cloud (AMAZON, 2009), também denominado Amazon EC2.
Visão Geral
O serviço da Amazon, denominado Amazon Elastic Compute Cloud (Amazon EC2),
provê um ambiente computacional virtual para que o consumidor possa executar aplicações
baseadas nos sistemas operacionais Linux e Windows. Esse serviço permite ao consumidor
total controle sobre os recursos computacionais, possibilitando que o usuário inicie e pare
suas instâncias sempre que desejar. O Amazon EC2 também reduz para minutos o tempo
necessário para obter novos servidores e iniciar suas instâncias, permitindo assim que os
ambientes sejam escaláveis de acordo com mudanças nos requerimentos computacionais.
(AMAZON, 2009).
O formato de cobrança dos serviços baseado no conceito pay-as-you-go é uma das
características fundamentais para o sucesso do Amazon EC2. Nesse modelo, o usuário é
cobrado somente pela capacidade computacional realmente utilizada, ou seja, o consumidor
não paga pela capacidade excedente ou pela capacidade ociosa dos seus recursos
computacionais.
O Amazon EC2 é atualmente um dos serviços de Open Utility Cloud mais aceito no
mercado de Tecnologia da Informação, principalmente por oferecer um ambiente escalável,
seguro e de fácil habilitação, características fundamentais para um ambiente de Computação
em Nuvem. Devido ao crescente sucesso do EC2, a Amazon lançou uma família completa de
serviços para integrar seu ambiente de Cloud Computing, como o Amazon Simple Storage
Service e Amazon Simple DB.
Para utilizar o Amazon EC2, os usuários podem administrar os seus sistemas
operacionais, customizar suas aplicações e gerenciar as conexões de redes a partir de uma
128
interface web. Basta apenas criar uma imagem de máquina da Amazon (AMI) contendo suas
aplicações, bibliotecas e dados, fazer o upload da mesma para o ambiente do EC2. Os
usuários ainda têm a habilidade de escolher os tipos de sistemas operacionais que queiram
utilizar, podem iniciar, monitorar e terminar quantas instâncias de sua AMI forem necessárias
utilizando API's web ou uma variedade de ferramentas disponibilizadas pela própria Amazon.
Serviços de destaque
O Amazon EC2 fornece alguns serviços que apresentam uma maior vantagem
competitiva e facilidades para seus usuários.
•
Elasticidade: permite que o usuário possa aumentar ou diminuir a capacidade de
processamento do seu ambiente em apenas alguns minutos. Também é possível
comissionar uma, centenas e até mesmo milhares de instâncias simultaneamente.
•
Flexibilidade: o usuário pode escolher por múltiplos tipos de instância (configuração
de hardware), sistemas operacionais, softwares e pacotes. O Amazon EC2 permite
selecionar a configuração de memória, CPU e armazenamento mais adequado para um
determinado tipo de sistema operacional e aplicação.
•
Integração com outros Web Services da Amazon: trabalha em conjunto com o
Amazon Simple Storage Service (S3), Amazon SimpleDB e Amazon Simple Queue
Service (SQS) para prover um solução completa de computação.
•
Confiança: oferece um ambiente extremamente confiável onde instâncias substitutas
podem rapidamente serem realocadas. O indicador de alta-disponibilidade do serviço
especificado no SLA estima 99.95% de disponibilidade.
•
Segurança: provê serviços para configurar opções de firewall que controla o acesso de
rede entre os grupos de instância.
•
Baixo custo: o serviço EC2 fornece os benefícios do ambiente de larga escala de
computação da Amazon. O usuário paga uma taxa menor para consumir a mesma
129
capacidade se tivesse que adquirir o próprio equipamento.
Tipos de i nstâncias
O Amazon EC2 também fornece dois tipos principais de instâncias: Standard e HighCPU. A instância padrão (Standard) está de acordo com a maioria das aplicações existentes, e
corresponde a três principais configurações:
•
Small: 1.7 GB de memória RAM, 1 unidade de computação EC2 21 (1 core virtual com
1 unidade de computação EC2), 160 GB de espaço para armazenamento e plataforma
de 32-bit.
•
Large: 7.5 GB de memória RAM, 4 unidades de computação EC2 (2 cores virtuais
com 2 unidades de computação EC2 cada), 850 GB de espaço para armazenamento e
plataforma de 64-bit.
•
Extra-Large: 15 GB de memória RAM, 8 unidades de computação EC2 (4 cores
virtuais com 2 unidades de computação EC2 cada), 1690 GB de espaço para
armazenamento e plataforma de 64-bit.
Já as instâncias de High-CPU têm mais recursos de CPU do que memória RAM, sendo
indicada para uso de aplicações que requerem intensiva computação. Estão disponíveis em
duas configurações principais:
•
Medium: 1.7 GB de memória RAM, 5 unidades de computação EC2 (2 cores virtuais
com 2.5 unidades de computação EC2 cada), 350 GB de espaço para armazenamento e
plataforma de 32-bit.
•
Extra-Large: 7GB de memória RAM, 20 unidades de computação EC2 (8 cores
virtuais com 2.5 unidades de computação EC2 cada), 1690 GB de espaço para
armazenamento e plataforma de 64-bit.
21 Unidade de computação EC2 – Uma unidade de computação EC2 corresponde a capacidade de CPU de um processador Opteron 1.0­1.2 GHz 2007 ou Xeon 2007.
130
Sistemas operacionais e softwares
As imagens de máquinas da Amazon (AMIs) são configuradas com uma lista dos
sistemas operacionais que mais cresceram em utilização nos últimos anos. A Tabela 7 traz os
sistemas operacionais disponíveis no Amazon Elastic Compute Cloud:
Sistema Operacional
Red Hat Enterprise Linux
OpenSolaris
Fedora
Windows Server 2003
openSuse Linux
Gentoo Linux
Oracle Enterprise Linux
Ubuntu Linux
Debian
Tabela 7 – Sistemas Operacionais disponíveis no Amazon EC2 (AMAZON, 2009)
A Amazon EC2 também disponibiliza alguns softwares que podem ser aplicados à
AMIs, tanto pagas quanto livres. Uma amostra dos softwares disponíveis no Amazon EC2 é
listado na Tabela 8:
Databases Batch Processing Web Hosting
IBM DB2
Hadoop
Apache HTTP
IBMInformix Dynamic
Condor Server
IIS/Asp.Net
MySQL Enterprise
Open MPI
IBMLotus Web Content Management
Oracle 11g
IBMWebSphere Portal Server
Microsoft SQLServer Standard 2005
Application Development
Java Application Server
JBoss Enterprise Application Platform
IBMsMash
Ruby on Rails
Oracle WebLogic Server
Tabela 8 – Softwares disponíveis no Amazon EC2 (AMAZON, 2009)
Preços
Os preços da Tabela 9 referem-se às instâncias on-demand, ou seja, uma configuração
que possibilita que o usuário pague, por hora, pela capacidade de processamento, sem a
necessidade de acordos de longo prazo. Essas características são positivas para promover a
mudança de um cenário de altos custos, com planejamentos complexos, aquisições e
manutenção de máquinas, por custos variáveis extremamente menores. Os preços abaixo são
referentes a AMIs privadas e públicas para os sistemas operacionais Linux e Windows.
131
Padrão
Small
(Default)
Large
Extra Large
High CPU
Medium
Extra Large
Linux/UNIX
$0.10 por
hora
$0.40 por
hora
$0.80 por
hora
Linux/UNIX
$0.20 por
hora
$0.80 por
hora
Windows
$0.125 por hora
$0.50 por hora
$1.00 por hora
Windows
$0.30 por hora
$1.20 por hora
Tabela 9 – Preços de instâncias On-demand do Amazon EC2 (AMAZON, 2009)
Os preços especificados são cobrados por cada hora de consumo de cada instância, desde o momento que é iniciada até o seu término. O consumo referente ao período menor do que uma hora (por exemplo, 45 minutos) é cobrado como uma hora cheia.
A Tabela 10 está populada com os preços referentes à transferência de dados na Internet:
Dados de Entrada
Todos os dados
Dados de Saída
Primeiros 10 TB por Mês
Próximos 40 TB por mês
Próximos 100 TB por mês
Mais de 150 TB por mês
Preço
$0.10 por GB
Preço
$0.17 por GB
$0.13 por GB
$0.11 por GB
$0.10 por GB
Tabela 10 – Preço de transferência de dados na Internet através do Amazon EC2
(AMAZON, 2009)
4.3.2.2 Análise
Os benefícios de Cloud Computing tornam-se notórios principalmente para as
pequenas e médias empresas, as quais muitas vezes não dispõem de recursos para
investimentos em tecnologias da informação, como aquisição de hardware e software. Com o
conceito do Open Utility Cloud Computing, essas organizações podem optar por ter um
parque tecnológico hospedado em um provedor de serviço, como a Amazon EC2, sendo
132
necessário pagar somente o utilizado, sem a necessidade de grandes projetos de
implementação e sem custos de operação.
A vantagem competitiva de Cloud Computing é o seu modelo pay-as-you-go, ou seja,
os clientes pagam somente pelos recursos consumidos, situação que se mostra bastante
interessante, uma vez que foi visto em seções anteriores que a utilização da capacidade de
servidores geralmente circula em torno dos 20%.
Outra característica bastante importante é a facilidade para o provisionamento de um
novo serviço. Uma organização quando precisar de um ambiente computacional para o
processamento de uma determinada aplicação, basta apenas contratar o serviço via Web (como
é o caso do Amazon EC2) e em alguns minutos a capacidade computacional já estará
disponível para a utilização.
A questão de operação de uma infra-estrutura computacional é algo que também deve
ser levado em consideração, principalmente em pequenas e médias empresas, as quais
geralmente não têm uma organização de TI para cuidar de tarefas desse propósito. Pode-se
exemplificar esse cenário citando uma organização de pequeno porte especializada em
prestação de serviços de recursos humanos e que não tem uma estrutura para administrar e
operar o seu ambiente de tecnologia da informação no padrão 24/7, ou seja, 24 horas durante
todos os dias da semana.
Mesmo que haja organização de TI na empresa, para garantir uma operação 24/7 dos
seus serviços tecnológicos, seria necessário um maior investimento em ferramentas e pessoal,
o que consequentemente acarretaria um maior custo. Entretanto, no modelo de Open Utility
Cloud Computing o responsável pela operação do ambiente tecnológico e por garantir a alta
disponibilidade é do próprio provedor do serviço. Nesse cenário, a empresa cliente é
responsável apenas por utilizar e administrar suas próprias aplicações, mas não é necessário
preocupar-se com os recursos físicos, problemas de hardware e também configurações de
redes.
Perante todas essas características do Open Utility Cloud Computing, nota-se que esse
modelo é também atraente para atender demandas sazonais de empresas de todos os
tamanhos. As organizações podem administrar o aumento da demanda em um determinado
período, como festa de fim de ano, sem a necessidade de aquisição de novos equipamentos e
ferramentas. É possível apenas contratar um serviço especializado no modelo Cloud
Computing durante o tempo da demanda sazonal, pagar apenas pelo utilizado e finalizar o
133
contrato após esse período.
Outro ponto de destaque é o fato que, no caso de aquisição de dispositivos
computacionais, as organizações precisam arcar com a taxa de depreciação,22 a qual varia em
torno de 20% ao ano em equipamentos de informática. Já com o modelo de serviços baseado
em Cloud, o consumidor não é proprietário de nenhum equipamento, apenas utiliza a
capacidade computacional como um serviço, sem a necessidade de se preocupar com a
depreciação dos equipamentos, instalações físicas e suporte de hardware.
4.3.2.3 Resultados e contribuições
A emergência do modelo de Cloud Computing tem acarretado benefícios no contexto
econômico em dois principais modos – geração de novos negócios para empresas de
tecnologias e também novas formas mais atraentes de investimentos em tecnologia por parte
dos clientes.
Conforme foi abordado no último estudo de caso, a Amazon é uma empresa de
comercio eletrônico que tem um ambiente computacional de larga escala, o qual não estava
sendo utilizado por completo para suprir a sua demanda. A empresa então identificou uma
oportunidade de negócio através de Cloud Computing, como vender a capacidade excedente
de seus data centers em forma de serviços na Internet. Hoje em dia esse serviço está
ganhando evidência e a Amazon tem investido para ampliar seu parque tecnológico.
É importante citar que outras empresas também estão seguindo a mesma linha e
iniciando serviços baseados em todos os tipos de Cloud Computing. A Salesforce.com é uma
organização que já tem uma marca consolidada em tecnologia de CRM, sendo que os seus
principais serviços são providos através da Internet.
Essa alternativa de disponibilização de software torna-se uma excelente oportunidade
para empresas que necessitam de um ambiente de CRM de forma simples e ágil, sem a
necessidade de comprar equipamentos, licenças e gastar com os projetos de implementação.
Em alguns minutos, uma empresa pode ter acesso a uma ferramenta de CRM completa com o
Salesforce.com através de um portal Web.
É importante também ressaltar a tendência de Cloud Computing alinhada com a
22 Depreciação - Corresponde à diminuição do valor dos bens devido ao desgaste pelo uso, ação da natureza ou
obsolescência normal.
134
globalização, facilitando ainda mais a quebra de barreiras geográficas. Os seus serviços são,
na maioria das vezes, orientados à Internet, o que permite que os seus clientes não estejam
apenas em sua abrangência local, podendo estar em qualquer país. Uma empresa do Brasil
pode facilmente contratar os serviços da Amazon EC2 e alocar parte de sua infra-estrutura de
TI nos domínios da empresa Americana, que por sinal poderia disponibilizar os seus serviços
a partir de outros locais, como países de baixo custo, muito fáceis de encontrar na prática de
offshoring23.
Já do ponto de vista dos usuários de Cloud Computing, foi visto até o momento
diversos benefícios da tecnologia em termos de redução de investimentos, tanto em relação à
aquisição de equipamentos, licença, contratação de mão-de-obra e suporte. Esse cenário é
mais evidente em países emergentes, como o Brasil, onde a tecnologia para ser adquirida e
implementada pode ter a necessidade de importação de produtos. É esperada uma mudança na
economia das tecnologias computacionais com o avanço de Cloud Computing, principalmente
por esse modelo permitir a migração da entrega de recursos computacionais através de
serviços, e não mais produtos.
23 Offshoring - Modelo de realocação de processos de negócio de um país para outro buscando vantagens
competitivas, como redução do custo de mão-de-obra, matéria-prima e até mesmo impostos.
135
5. Considerações finais
Nessa dissertação foi apresentada a importância da colaboração com foco na
tecnologia de Grid Computing no contexto social, ambiental e econômico. Para isso, buscouse inicialmente um embasamento teórico nas novas formas de interações que emergiram a
partir da constante evolução das tecnologias. Foi possível notar que a concepção da Internet
teve um papel fundamental para influenciar a formação de redes sociais mais abrangentes,
permitindo que pessoas pudessem estabelecer novos contatos independentemente de sua
localização geográfica.
O surgimento das redes sociais na Internet foi importante para que os indivíduos
pudessem interagir de acordo com seus interesses, e não mais baseados em sua localização
física. Nos dias de hoje, é mais fácil encontrar pessoas que se relacionam por compartilhar
interesses através da Internet, mesmo estando em localidades diferentes, do que pessoas que
moram em uma mesma vizinhança, influenciando assim a determinação das comunidades
virtuais.
As redes sociais, assim como as comunidades virtuais, são conceitos que favorecem o
coletivo. Ou seja, permitem que as pessoas possam interagir e trabalhar por um objetivo
comum, sem a necessidade de estarem juntas em um mesmo espaço e tempo. Isso fortaleceu o
crescimento dos projetos colaborativos na Internet, ocasionando a criação de diversos
conteúdos, serviços e produtos de domínio público. A evolução do desenvolvimento do
software livre é um dos exemplos clássicos deste novo modelo produtivo, focado nos
interesses de um grupo, sem a necessidade de serem guiados por orientações de mercado das
grandes indústrias.
É importante citar que as novas tecnologias, principalmente as emergentes da Internet,
também possibilitam que qualquer indivíduo possa criar e divulgar seus conteúdos e produtos
de forma rápida, simples e sem a necessidade de grandes investimentos. O surgimento do
Youtube pode ser considerado um dos grandes exemplos de destaque na atualidade. Um
usuário desse serviço não é simplesmente um consumidor, mas passa a ser um prossumidor.
Ou seja, ao mesmo tempo em que ele pode assistir a um vídeo publicado por uma empresa,
uma instituição ou um usuário, ele também pode criar seus vídeos e disponibilizá-los de forma
com que todos os demais usuários possam assisti-lo, situação contrária ao sistema de televisão
tradicional.
136
Os benefícios das tecnologias em contraste com as formas de interações impulsionadas
pela Internet estimulam um novo modelo produtivo capaz de concorrer com as principais
indústrias. Isso significa que a Internet possibilita que, a partir das redes sociais e também das
comunidades virtuais, pessoas com diferentes competências e distribuídas por diversos países
possam trabalhar em conjunto, com base nas ferramentas
disponibilizadas pelas novas
tecnologias, para a constituição de conteúdos, produtos e serviços com qualidade similar, e
muitas vezes superior, aos promovidos pelas indústrias especializadas.
Grid Computing é uma tecnologia que surgiu do coletivo, a partir da comunidade
científica, e hoje já é adotado pelas grandes empresas como um produto promissor. Nessa
dissertação foram analisados os seus benefícios em relação a três principais contextos: social,
ambiental e econômico.
No contexto social, é notório destacar a importância da relação da tecnologia com o
conceito de colaboração. Determina-se um termo denominado 2-ways collaboration,
defendendo que a colaboração é essencial para a formação de um ambiente computacional
com capacidade de larga escala, principalmente no modelo baseado em computação
voluntária, através da integração de máquinas ociosas de usuários espalhados por diversos
países. Também devido a sua arquitetura descentralizada, a tecnologia promove um ambiente
que estimula a colaboração, permitindo que pessoas compartilhem suas aplicações, dados e
resultados.
A tecnologia é de extrema importância também para a inclusão científica. O estudo de
caso do projeto do World LHC Computing Grid (WLCG) do superacelerador de partículas
demonstrou a necessidade por Grid Computing durante a realização de um dos projetos de
pesquisa mais evidente na atualidade. O WLCG foi o responsável pela construção de um
ambiente computacional de larga escala capaz de processar a grande quantidade de dados
gerada pelo experimento do superacelerador de partículas. Também permitiu a inclusão de
inúmeras instituições ao redor do mundo através do compartilhamento da capacidade
computacional, aplicações, dados e resultados científicos.
No contexto ambiental, destaca-se que Grid Computing tem um papel interessante em
data centers de empresas e demais instituições para reduzir a quantidade total de servidores, e
consequentemente diminuir o consumo de energia. No modelo de computação voluntária, é
possível constatar que existe uma grande quantidade de computadores pessoais com
capacidade excedente, a qual poderia estar ser utilizada para outros projetos e finalidades.
137
Grid Computing surge como uma alternativa para aplicar essa capacidade de processamento
ociosa para outro fim, aumentando assim a sua utilização e tornando os recursos
computacionais mais eficientes em relação ao consumo de energia.
No contexto econômico, é possível destacar a crescente adoção de Grid Computing,
por parte das grandes indústrias, como uma tecnologia com potencial significativo para a
geração de novos negócios através do lançamento de produtos e serviços. Pode-se também
identificar a sinergia da tecnologia de Grid Computing com o conceito de Cloud Computing, o
qual está em crescente avanço e vem transformando o modelo de entrega de recursos
tecnológicos como serviços, e não mais produtos. Este conceito apresenta uma abrangência
interessante para a evolução de novos modelos de negócios, permitindo a criação de serviços
que variam desde a entrega de capacidade de processamento, até modelos mais complexos de
softwares e plataformas.
Com base em todas as características analisadas da tecnologia, pode-se afirmar Grid
Computing como uma tecnologia inovadora, capaz de alcançar um poder de computação
extremamente elevado e também possibilitar formas de interações nunca antes observadas em
nenhuma outra tecnologia. A sua arquitetura descentralizada permite uma abrangência global,
capaz de integrar recursos pertencentes a diversos domínios e espaços geográficos sem
grandes investimentos, características importantes para o trabalho colaborativo, a economia
de recursos, o meio-ambiente e a ciência.
5.1 Tendências e trabalhos futuros
Os mais notáveis casos de sucesso de Grid Computing ainda estão voltados para o meio
científico. Entretanto, essa é uma tecnologia que apresenta grande potencial para ser aplicada em
diversos contextos, podendo ser destacado a inclusão digital. Conforme analisado, a tecnologia de
Grid Computing tem como principal objetivo estabelecer um ambiente computacional de larga escala
com baixo custo. Essa característica pode-se tornar essencial para projetos nessa área, os quais podem
necessitar de servidores com alta capacidade, que podem ter um custo elevado, e consequentemente
impactar negativamente a realização de projetos.
A questão de inclusão digital citada aqui não se remete simplesmente a viabilização de
acesso à Web. Pelo contrário, abordam-se projetos que visam à produção de conteúdos e a
utilização de tecnologias em larga escala para algum propósito definido, como a renderização
138
de um vídeo, por exemplo.
Outra tendência que se pode observar é a integração da tecnologia com o conceito de
mobilidade. Hoje em dia, os dispositivos móveis já avançaram em sua capacidade de
processamento e de armazenamento. Entretanto, eles ainda podem apresentar ineficiências
para determinadas finalidades. A integração de recursos móveis com um ambiente de Grid
Computing, baseado no conceito de Cloud Computing, também aparenta ser uma alternativa
para driblar essas limitações. Os usuários podem, a partir de seus dispositivos móveis, iniciar
e monitorar suas aplicações que estão sendo executadas em um ambiente de Cloud
Computing, o qual permite acesso ubíquo.
A disponibilização de capacidade de processamento computacional disponibilizada por
essa tecnologia em forma de serviços na Internet, encapsulados por uma Nuvem
Computacional (Cloud Computing), também é uma tendência que está em ascensão na
atualidade. Os usuários passarão a usar esse ambiente para implementar suas aplicações e
armazenar seus dados, podendo acessá-los a partir de qualquer dispositivo, sem importar sua
localização geográfica.
Essa evolução já começa a ser observada nos dias de hoje, e muitos serviços,
especialmente os disponibilizados pelo Google, tem embasamento nessa filosofia. O serviço
chamado Google Docs é um exemplo dessa tendência: ele disponibiliza uma suíte de
aplicativos de escritórios, permitindo que os usuários possam criar, editar e armazenar seus
arquivos de texto, planilhas eletrônicas, apresentações, sem a necessidade de instalação de
qualquer aplicativo em seus dispositivos, bastando apenas acessar o ambiente disponibilizado
por essa nuvem computacional.
Essas características também tem potencial para reformular o mercado de tecnologia,
uma vez que plataformas e softwares são disponibilizados em forma de serviços na Internet.
Como esse ambiente não possui limites geográficos, pode influenciar muito a prática de
offshoring. Portanto, sugere-se abordar em trabalhos futuros o impacto de Cloud Computing
no desenvolvimento sócio-econômico de países como Brasil, Rússia, Índia e China (BRICs).
139
REFERÊNCIAS BIBLIOGRÁFICAS
AVIZIENIS, A.; LAPRIE, J.-C.; RANDELL, B. Fundamental Concepts of Dependability.
Research Report No 1145, LAAS-CNRS, 2001.
BAUMAN, Z. Comunidade: a busca por segurança no mundo atual.
Rio de Janeiro: Jorge Zahar, 2003.
BENKLER, Y. Sharing Nicely: On Shareable Goods and the Emergence of Sharing as a
Modality of Economic Production. Yale Law Journal, p. 273-358, 2004.
BENKLER, Y. The Wealth of Networks. 1.ed. Massachusetts: Yale University Press, 2006.
BERMAN, F.; FOX, G.; HEY, T. Grid Computing: Making the Global Infrastructure a
Reality. Wiley, 2003.
BLACKBURN, M. Five Ways to Save Server Power: The Green Grid Technical Forum,
2008.
BONDI, A. B. Characteristics of scalability and their impact on performance. In: 2nd
INTERNATIONALl WORKSHOP ON SOFTWARE AND PERFORMANCE, 2002, Otawa.
Anais, Otawa, 2000.
BUYYA, R; YEO, C. S; VENUGOPAL, S. Market-Oriented Cloud Computing: Vision,
Hype, and Reality for Delivering IT Services as Computing Utilities. IEEE Computer
Society, 2008.
CASTELLS, M. A sociedade em rede. 5.ed. São Paulo: Paz e Terra, 2001.
CASTELLS, M. A Galáxia da Internet. Reflexões sobre a Internet, os Negócios e a
Sociedade. Rio de Janeiro: Jorge Zahar Editor, 2003.
CETIC. Pesquisa sobre o Uso das Tecnologias da Informação e da Comunicação no
Brasil: A evolução da Internet no Brasil. Pesquisa TIC Domicílios 2008. Apresentação dos
dados, 2009.
CHETTY, M.; BUYYA, R. Weaving Computational Grids: How Analogous Are They with
Electrical Grids?. Computing in Science and Engineering, v.4, n.4, p.61-71, 2002.
COULOURIS, G. F.; DOLLIMORE, J.; KINDBERG, T. Distributed Systems: Concepts
and Design. 3.ed. Addison-Wesley, 2002.
DE KERCKHOVE, D. Connected Intelligence: The Arrival of the Web Society. Toronto:
Somerville House, 1997.
FISCHER, M.; LYNCH N.; PETERSON, M. Impossibility of Distributed Consensus with
One Faulty Process. Journal of the ACM, v.32, n.2, p.374-382, 1985.
140
FOSTER, I. et al. The Physiology of the Grid: An Open Grid - Services Architecture for
Distributed Systems Integration. Global Grid Forum, 2002.
FOSTER, I. The grid: a new infrastructure for 21st century science. Physics Today, v.55, n.2,
p.42-47, 2002a.
FOSTER, I.; KESSELMAN, C.; TUECKE, S. The Anatomy of the Grid: Enabling Scalable
Virtual Organizations. 7TH INTERNATIONAL EURO-PAR CONFERENCE MANCHESTER
ON PARALLEL PROCESSING, 2001, Manchester. Anais, Londres: Springer-Verlag, 2001.
GAREN, K. Software Portability: Weighing Options, Making Choices. The CPA Journal,
v.77, n.11, p.10-12, 2007.
GRAY, J. Distributed Computing Economics. Technical Report, Washignton, 2003.
IEEE - Institute of Electrical and Electronics Engineers. IEEE Standard Computer
Dictionary: A Compilation of IEEE Standard Computer Glossaries. Nova Iorque, 1990.
GRIDTALK. LHC Grid Fest – Media Pack. In: SEMINÁRIO CERN LHC GRID, 2008,
Genebra. Anais, Genebra, 2008.
MUNGIOLI, A. S. R. UMA PROPOSTA DE TECNOLOGIA PARA VIDEOCONFERÊNCIA
INTEGRANDO TECNOLOGIAS GRID. 2005. 121 f. Tese (Doutorado) - Departamento de
Escola Politécnica, São Paulo:Universidade de São Paulo, São Paulo, 2005.
JENKINS, H. Cultura da Convergência. 1.ed. São Paulo: Aleph, 2006.
JOSEPH, E.; HUMPHREYS, J. Base One: Grid Computing for Database-Centric
Applications. 2004.
LEVY, P. Tecnologias da Inteligencia: O pensamento na era da Informática. São Paulo:
Editora 34, 1990.
____________. A inteligência coletiva: por uma antropologia do ciberespaço. 2.ed. São
Paulo: Loyola, 1999.
MCGUINNESS, D. L. et al. Investigations into Trust for Collaborative Information
Repositories: A Wikipedia Case Study. In: WWW2006, Edimburgo, 2006. Anais, 2006.
RECUERO, R. C. Comunidades em Redes Sociais na Internet: Proposta de Tipologia
baseada no Fotolog.com. 2006. 334 f. Tese (Doutorado) - Departamento de Faculdade de
Biblioteconomia e Comunicação, Programa de Pós-graduação em Comunicação e
Informação, Ufrgs, Porto Alegre, 2006.
RHEINGOLD, H. Smart Mobs: The next social revolution. Cambridge, Mass.: Perseus
Publishing, 2002.
SILVA, F. C. C.; BLATTMANN, U. A colaboração e a interação na web 2.0. In:
141
CONGRESSO BRASILEIRO DE BIBLIOTECONOMIA, DOCUMENTAÇÃO E CIÊNCIA
DA INFORMAÇÃO, 2007, Brasilia. Anais, Brasília, 2007.
SUROWIECKI, J. A Sabedoria das Multidões. 1.ed. São Paulo:Record, 2006.
TANENBAUM, A. S. Distributed Operating Systems. 1.ed. Nova Jersey: Prentice Hall,
1994.
TANENBAUM, A. S.;STEEN, M. Distributed Systems Principles and Paradigms. Nova
Jersey: Prentice Hall. 2002.
WANG, L et al. Cloud Computing: a Perspective Study. RIT Digital Media Library, 2008
WEISS, A. Computing in the Clouds. Networker, v. 11, n. 4, p.61-71, 2007.
WELLMAN, B. An Electronic Group is Virtually a Social Network. In: KIESLER, S.
(org.) Culture of Internet. (p. 179-205) Hilsdale, NJ: Lawrence Erlbaum, 1997.
YIN, R. K. Case study research: Design and Methods. 3. ed. Sage, 2002.
142
WEBGRAFIA
ALLEN, P. (2006). Banks Take Their Places on the Grid. Disponível em:
<http://www.wallstreetandtech.com/story/showArticle.jhtml?articleID=187203197&pgno=1>.
Acesso em: 20 mai. 2009.
ALMANAC. PCs In-Use Reached nearly 1.2B in 2008. Disponível em: <http://www.c-ia.com/pr0109.htm>. Acesso em: 20 mai. 2009.
AMAZON. Elastic Compute Cloud. Disponível em: <http://aws.amazon.com/ec2/>. Acesso
em: 18 mai. 2009.
BAUWENS, M. (2002). Peer-to-peer: from technology to politics to a new
civilization? Disponível em: <http://docs.google.com/View?
docid=ajkpjkn5qh5j_427ftwgvh>. Acesso em: 19 abr. 2009.
BOINC. Open-source software for volunteer computing and grid computing. Disponível
em: <http://boinc.berkeley.edu/>. Acesso em: 15 dez. 2008.
BUYYA, R. Grid Computing Info Centre (GRID Infoware), 2002. Disponível em <http://
www.gridcomputing.com>. Acesso em 11 nov. 2008.
CARNEIRO, L. (2009). Crescimento do uso de computadores aumenta necessidade de
economia de energia. Disponível em: <http://moglobo.globo.com/integra.asp?
txtUrl=/economia/seubolso/mat/2009/05/16/crescimento-do-uso-de-computadores-aumentanecessidade-de-economia-de-energia-755895872.asp>. Acesso em: 21 mai. 2009.
CLIFFORD, B. Gt4 monitoring and discovery, 2005. Disponível em:
http://www.globus.org/toolkit/presentations/GlobusWorld_2005_Session_9c.pdf. Acesso em:
10 dez. 2006.
CLIMATEPREDICTION. The world's largest climate forecasting experiment for the 21st
century. Disponível em: <http://www.climateprediction.net/>. Acesso em: 18 mai. 2009.
CORNELL. Computer Energy Usage Facts. Disponível em:
<http://computing.fs.cornell.edu/fsit/Sustainable/fsit_facts.cfm>. Acesso em: 20 mai. 2009.
CUNNINGHAM, W. Wiki design principles. Disponível em: <http://c2.com/cgi/wiki?
WikiDesignPrinciples>. Acesso em: 28 jan. 2009.
DE KERCKHOVE, D. Semiosfera: Entrevista com Derrick de Kerckhove. Disponível
em:<http://www.eco.ufrj.br/semiosfera/anteriores/semiosfera01/perfil/entrevis/txtentre.htm#a
utor>. Acesso em: 21 abr. 2009.
DELANDA, M. (2001) Open-Source: A Movement in Search of a Philosophy. Princeton,
Nova Jersey. Disponível em: http://www.cddc.vt.edu/host/delanda/pages/opensource.htm>.
Acesso em: 20 abr. 2009.
143
EELA. E-Science grid facility for Europe and Latin America. Disponível em:
<http://www.eu-eela.eu/>. Acesso em: 18 dez. 2008.
EGEE. Enabling Grids for E-sciencE. Disponível em: <http://eu-egee.org/>. Acesso em: 18
dez. 2008.
FOSTER, I. (2002b). What is the Grid? A Three Point Checklist. Disponível em
<http://www-fp.mcs.anl.gov/~foster/Articles/WhatIsTheGrid.pdf>. Acesso em 11 nov. 2008.
GARTNER. (2006). Gartner Urges IT and Business Leaders to Wake up to IT's Energy
Crisis. Disponível em <https://gartner.com/it/page.jsp?id=496819>. Acesso em 10 mai. 2009.
GARTNER. A relação entre Computação em nuvem e SaaS. Disponível em:
<http://info.abril.com.br/corporate/gartner/a-relacao-entre-computacao-em-nuvem-esaas.shtml>. Acesso em: 06 jan. 2009a.
GENTZSCH, W. Response To Ian Foster's "What Is The Grid?", 2002. Disponível em:
<http://www.gridtoday.com/02/0805/100191.html>. Acesso em 05 dez. 2009
gLITE. Lightweight Middleware for Grid Computing. Disponível em:
<http://glite.web.cern.ch/glite/>. Acesso em: 10 abr. 2009.
GLOBUS. Dev.Globus Wiki. Disponível em: <http://dev.globus.org/wiki/Welcome>. Acesso
em: 10 fev. 2009.
GLOBUS. Globus Toolkit Homepage. Disponível em: <http://www.globus.org/>. Acesso
em: 15 dez. 2008.
GREENIT. Sustainable Information Technology. Disponível em: <http://www.greenit.net>.
Acesso em: 10 mai. 2009.
HARVARD. Http://cleanenergy.harvard.edu/. Disponível em:
<http://cleanenergy.harvard.edu/>. Acesso em: 10 mai. 2009.
HUGHES, D. (2005). BOINC: Berkeley Open Infrastructure for Network Computing.
Disponível
em:<www.comp.lancs.ac.uk/computing/research/mpg/reflection/papers/Middleware07112005
.ppt>. Acesso em:. 4 mai. 2009.
IBM. New To Grid Computing. Disponível em:
<http://www.ibm.com/developerworks/grid/newto/>. Acesso em: 08 dez. 2008.
IWS. Internet World Stats: Usage and Population Statistics . Disponível em:
<http://www.internetworldstats.com/stats.htm>. Acesso em: 12 mai. 2009.
144
JACOB, B. et al. IBM Redbook Enabling Applications for Grid Computing with Globus.
Disponível em:
<http://publibb.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/SG246936.html>. Acesso
em: 08 dez. 2008.
LHC. THE LARGE HADRON COLLIDER. Disponível em: <http://lhc.web.cern.ch/lhc/>.
Acesso em: 29 abr. 2009.
LHC@HOME. LHC@HOME Volunteer Computing. Disponível em:
<http://lhcathome.cern.ch/>. Acesso em: 02 maio 2009.
MAROWKA, A. Scalable Computing: Practice and Experience. V. 5 N. 1, 2002. Editorial.
Disponível em: <http://www.scpe.org/vols/vol05/vol05no1editorial.html>. Acesso em: 12
nov. 2008.
MAURER, A. (2009). Parabon Computation puts idle processing power to work.
Disponível em: <http://www.techjournalsouth.com/news/article.html?item_id=6784>. Acesso
em: 21 mai. 2009.
OASIS. (2006). Reference Model for Service Oriented Architecture 1.0. Disponível em:
<http://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf>. Acesso em: 10
jan. 2009.
OSG. Open Science Grid. Disponível em: <http://www.opensciencegrid.org/>. Acesso em:
19 dez. 2008.
OPENLAB. CERN openlab. Disponível em: <www.cern.ch/openlab>. Acesso em: 05 mai.
2009.
O'REILLY, Tim. What Is Web 2.0. Disponível em:
<http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/whatisweb20.html>. Acesso
em: 10 jan. 2009
O'REILLY, Tim. Web 2.0 and Cloud Computing. Disponível em:
<http://radar.oreilly.com/2008/10/web-20-and-cloud-computing.html>. Acesso em: 09 jan.
2009b.
OURGRID. The OurGrid Community. Disponível em: <http://www.ourgrid.org>. Acesso
em: 10 abr. 2009.
REUTERS (2008). Computers in use pass 1 billion mark: Gartner. Disponível em: <http://
www.reuters.com/article/technologyNews/idUSL2324525420080623>. Acesso em: 20 mai.
2009.
RHEINGOLD, H. (1996). A Comunidade Virtual. Lisboa: Gradiva.
Disponível em: <http://www.rheingold.com/vc/book>. Acesso em 10 abr. 2009.
145
RHEINGOLD, H. (2000). Rethinking Virtual Communities. Disponível em:
<http://www.rheingold.com/VirtualCommunity.html>. Acesso em 10 abr. 2009.
RHEINGOLD, H. (2008). A Smart Mob Is Not Necessarily a Wise Mob.
Disponível em: <http://english.ohmynews.com/ArticleView/article_view.asp?
menu=&no=382983&rel_no=1&back_url>. Acesso em: 20 abr. 2009.
SALESFORCE.COM. Salesforce CRM. Disponível em: <https://www.salesforce.com/>.
Acesso em: 06 jan. 2009.
SCHMID, P. (2005). Energy Consumption Measurements. tom's hardware web page.
Disponível em: <http://www.tomshardware.com/reviews/intels-65-nm-process-breathes-firedouble-core-extreme-edition,1197-14.html>. Acesso em: 25 mai. 2009.
SYS-CON. Twenty-One Experts Define Cloud Computing. Disponível em
<http://cloudcomputing.sys-con.com/node/612375/print>. Acesso em: 05 jan. 2009.
UNESP. (2009) São Paulo assegura participação no LHC. Disponível em:
<http://www.unesp.br/int_noticia_imgesq.php?artigo=4108>. Acesso em: 2 mai. 2009.
WCG. World Community Grid. Disponível em: <http://www.worldcommunitygrid.org/>.
Acesso em: 20 abr. 2009.
WLCG. Worldwide LHC Computing Grid. Disponível em:<http://lcg.web.cern.ch/LCG/>.
Acesso em: 29 abr. 2009.
WELLMAN, B et al. (1996). Computer Networks as Social Networks:
Collaborative Work, Telework, and Virtual Community. Annu. Rev.
Sociol. 22:213–38. Disponível em:
<http://www.chass.utoronto.ca/~wellman/publications/computernetworks/computernetworks2
.pdf> Acesso em: 14 abr. 2009
WELLMAN, B.; GULIA, M. (1999). Net Surfers don't Ride Alone: Virtual Communities
as Communities. Disponível em <http://chass.utoronto.ca/~wellman/publications/netsurfers/
netsurfers.pdf>. Acesso em: 16 abr. 2009
WELLMAN, B.; CHEN, W.; WEIZHEN, D. (2001). The Social Network Approach.
Disponível em:
<http://www.chass.utoronto.ca/~wellman/publications/guanxi/guanxi3a1.htm>. Acesso em:
16 abr. 2009.
ZDNET. Five fearless predictions for SOA 2009. Disponível em:
<http://blogs.zdnet.com/service-oriented/?p=1239>. Acesso em: 04 jan. 2009.
Download

grid computing e cloud computing - Biblioteca Digital da PUC-SP