Professional Documents
Culture Documents
Comutao Paralela....................................................................................... 3
Computao Distribuda............................................................................... 3
Arquitetura................................................................................................. 4
Um Pouco de Histria..................................................................................... 4
Conceitos...................................................................................................... 5
Arquitetura.................................................................................................... 6
GRID X Clusters............................................................................................ 8
Grid Peer to Peer........................................................................................... 9
Grid x Supercomputadores............................................................................ 10
Exemplos de Grid......................................................................................... 10
Global Grid Frum........................................................................................... 10
Globus Alliance............................................................................................... 11
Globus Toolkit................................................................................................. 11
Arquitetura.................................................................................................. 12
Common Runtime..................................................................................... 13
Bibliotecas Comuns C................................................................................ 13
C Web Services Core................................................................................ 13
Java WS Core.......................................................................................... 14
Globus XIO eXtensible Input Output..........................................................14
Camada de Segurana................................................................................. 15
CAS........................................................................................................ 15
Camada de Gerenciamento de Dados..........................................................15
Grid FTP.................................................................................................. 15
RFT Public Interface.................................................................................. 16
RLS Public Interface.................................................................................. 16
Camada de Gerenciamento de Execuo........................................................17
Informaes de Servios............................................................................... 17
WS MDS.................................................................................................. 17
BOINC........................................................................................................... 17
Concluso...................................................................................................... 19
Referencias Bibliogrficas................................................................................. 20
Introduo
ser
resolvidos
utilizando-se
de
grids.
Comutao Paralela
Computao paralela uma tcnica de programao cujo objetivo executar
operaes em paralelo, desta maneira obtendo maior desempenho em sistemas
multiprocessador, grids, etc. De modo geral o trabalho de tornar um programa capaz
de ser executado em paralelo consiste basicamente em quebrar suas tarefas em
partes menores. importante notar, porm, que nem todos os programas podem ser
otimizados desta maneira.
Computao Distribuda
Computao distribuda um sub-ramo da computao paralela na qual parte
das operaes ocorre em mquinas diferentes daquela executando o fluxo principal de
um programa. Duas das propriedades da computao distribuda so: abertura:
Arquitetura
O conceito de Computao Distribuda bastante amplo, deste modo,
conveniente dividi-lo em arquiteturas visando um melhor entendimento, bem como
endereando suas particularidades em conceitos distintos.
Entre as arquiteturas de computao distribuda existentes importante citar:
Cliente/Servidor: arquitetura na qual uma parte do processamento
executada no cliente e a outra parte executada no servidor, podendo o servidor
atender 1 ou mais clientes simultaneamente. Ex.: servidor ftp e cliente ftp.
3-Camadas: arquitetura semelhante cliente/servidor, entretanto lgica
especfica da aplicao executada em um agente intermedirio.
Peer To Peer: arquitetura na qual no existe um agente responsvel por
gerenciar ou prover recursos. Neste caso estas responsabilidades so divididas entre
todos os agentes da rede.
Entretanto, essas 3 arquiteturas no so as nicas existentes, embora sejam
as mais importantes e conhecidas. Para a completude do artigo conveniente citar,
tambm, a existncia das seguintes arquiteturas: n-camadas, orientada servio,
cdigo mvel, repositrio replicvel, etc.
Um Pouco de Histria
Embora o Grid como este concebido atualmente seja uma ideia
relativamente nova, os conceitos nos quais esta tecnologia se baseia no so to
novos assim e j fazem parte da histria da computao algum tempo. Como
exemplo disso pode-se citar o conceito de compartilhamento de processamento, muito
popular nas dcadas de sessenta e setenta, quando a capacidade de processamento
dos mainframes ainda era muito limitada em relao sua aplicao. Outro conceito
importante baseado na ideia de meta computao (metacomputing), ideia esta,
popular na dcada de 90, e consistia em compartilhar processamento atravs de
centros de supercomputadores. Por volta desta mesma poca 2 projetos recm
Conceitos
Assim como nos clusters, muito do poder computacional de um Grid est
dvido em diversas mquinas (tambm chamadas de membros). Desta forma
possvel assegurar que o trabalho de um sistema Grid no est relacionado apenas ao
processamento de dados, mas tambm ao gerenciamento dos recursos alocados ao
sistema. Por fim, isto torna possvel dividir o funcionamento bsico de um Grid em
camadas: camada de rede, camada de recursos, middleware, aplicao e servios.
Esta diviso alm de tornar mais simples o entendimento do funcionamento
de um grid, torna possvel a criao de grids de propsito geral. Grids de propsito
geral so um tipo especfico de implementao de grid em que a parte utilizada para o
processamento dos dados est separada da parte utilizada para gerenciar o
funcionamento do grid. Uma vez que um grid constitudo de membros heterogneos
fcil perceber que a interoperabilidade um conceito chave no funcionamento de um
Grid. Em geral os Grids resolvem este problema atravs da utilizao de protocolos
abertos (TCP, UDP, IP, Globus Toolkit, etc). Isto acaba levando alguns dos tericos,
como o caso de Foster, considerarem este como um conceito chave no
funcionamento e implementao de grids.
Ainda, o CERN, define 5 conceitos bsicos para a definio de um cluster:
Compartilhamento de recursos: refere-se ao compartilhamento de recursos
computacionais.
Uso de recursos: refere-se ao uso eficiente dos recursos disponveis e est
ligado ao princpio da alocao eficiente de recursos.
Acesso seguro: devido a necessidade de garantir a confiabilidade e a
segurana dos dados, um cluster deve enderear os problemas inerentes poltica de
Arquitetura
Como mencionado anteriormente, a arquitetura de um grid pode ser dividida
em arquiteturas, visando facilitar seu design e entendimento. Entretanto no existe
apenas uma maneira de descrever um grid em camadas, assim sendo ser analisado
as duas mais comuns. Uma maneira mais simples de descrever a arquitetura de um
grid baseia-se na diviso do mesmo em camadas de acordo com o seu recurso.
Desta maneira tornando possvel dividir um Grid seguintes quatro camadas:
Rede: define a conectividade entre os membros do grid, e pode ser
considerado o sistema nervoso de um grid. interessante notar, tambm, que na
grande maioria das vezes os sistemas em grids utilizam os mesmos tipos de links
disponveis para qualquer usurio comum: links internet, ethernet 10/100/1000Mbps,
etc.
Recursos: definem os recursos membros do grid, como computadores,
sistemas de armazenamento, sensores, etc.
Middleware: responsvel pela interconectividade entre os recursos do grid,
bem como a segurana dos dados e comunicao, etc. Entre suas funes tambm se
pode citar as negociaes mquina-a-maquina (M2M Machine 2 Machine). Esta
camada , muitas vezes, constituda de um grande conjunto de softwares. Como
exemplo disso, possvel citar o projeto europeu de grid de dados: European Data
Grid, o qual constitudo de aproximadamente 300 mil linhas de cdigo fonte. Muitos
desses softwares atuam negociando transaes de dados e outros recebendo e
gerenciando-os. Fazendo, novamente, uma analogia com relao ao corpo humano,
pode-se dizer que a camada Middleware o crebro do Grid.
Aplicao e Servios: aplicaes (cientficas, econmicas, de engenharia,
etc.) que rodam no grid, ferramentas de desenvolvimento, portais, etc.
Utilizao
Sistemas em Grid so utilizados para os mais diversos fins. Entre alguns dos
problemas que os sistemas em Grid so capazes de resolver encontram-se os
problemas de grande desafio (Grand Challenge). Um problema de grande desafio
um tipo especfico de problema para o qual no existe soluo conhecida e que se
caracteriza, basicamente, por pelo menos uma das seguintes caractersticas:
requer avanos significativos na capacidade requerida para resolv-lo.
deve ter uma soluo, idealmente deve fornecer uma maneira plausvel de
quantificar o progresso em relao soluo final do problema.
a soluo do problema tem um impacto econmico ou social significativo.
Entre os problemas de grande desafio, pode-se citar: enovelamento de
protenas (processo pelo qual uma protena assume sua forma funcional), modelagens
financeira e climtica, simulaes complexas em geral, etc. Para tornar ainda mais
simples o entendimento, podemos separar os problemas que os clusters podem
resolver, da seguinte maneira:
de acordo com o seu grau de paralelismo, isto , de acordo com a
quantidade de pequenas operaes que podem ocorrer simultaneamente.
de acordo com a sua granularidade, ou seja, de acordo com a interdependncia do resultado de pequenas operaes em curso, variveis armazenadas
no sistema. Este ainda se subdivide em fine-grained e coarse-grained (tambm
conhecidos como embarassingly parallel). Grosseiramente falando, problemas
puramente
fine-grained
se
saem
melhor
em
grandes,
monolticos
importante notar, porm, que peer to peer diz respeito infraestrutura e design de uma
rede. Portanto possvel afirmar que peer to peer diz respeito infraestrutura de
acesso, compartilhamento e busca de informaes, ao passo que Grid diz respeito ao
acesso e compartilhamento de recursos computacionais.
Grid x Supercomputadores
Supercomputador um termo, de uso amplo, utilizado para definir recursos
computacionais de altssimo desempenho. Independente da sua estrutura fsica e
lgica, este termo utilizado para definir recursos computacionais como: clusters,
grids, etc. Supercomputadores, do ponto de vista de uma estrutura fsica e
computacional nica, tambm podem fazer parte de um Grid.
Exemplos de Grid
Finalizando a introduo sobre Grids, interessante exemplificar a sua
utilizao atual, de modo a poder avaliar um pouco da sua aplicao prtica. Como
exemplo de sistemas em Grid, podem ser citados:
Seti@home: Search for ExtraTerrestrial Intelligence (Busca por Inteligncia
Extraterrestre). Este projeto utilizado para analisar os dados recebidos pelo
radiotelescpio Arecibo, localizado em Arecibo Porto Rico.
LHC@home: utilizado para melhorar o acelerador de partculas LHC (Large
Hadron* Collider Grande Colisor de Hadrons). Obs.: Hadron uma partcula
subatmica de grande fora nuclear.
Climaprection.net: visa melhorar a previso do clima longo prazo.
Predictor@home: utilizado para prever a estrutura de uma protena a partir
de uma sequncia proteica.
computao em grid. O GGF a entidade que produz o GGF Document Series, uma
srie de documentos que definem os padres de funcionamento (por exemplo,
autenticao, comunicao, transmisso de dados, etc.) de um grid. baseado nestes
padres que a Globus Alliance desenvolveu o Globus Toolkit.
Globus Alliance
A Globus Alliance uma comunidade internacional cujo objetivo pesquisar e
desenvolver as tecnologias fundamentais para o desenvolvimento e implantao de
um grid. Entre os participantes membros to core team do projeto encontram-se: o
Laboratrio Nacional Argonne da Universidade de Chicago, Universidade de
Endinburgo (EPCC), Centro Nacional de Aplicaes de Supercomputadores (NCSA),
Laboratrio de Computao de Alta Performance da Universidade do Norte de Illinois,
Instituto Real de Tecnologia da Sucia, Corporao Univa e o Instituto de Informaes
da Universidade do Sul da California. Alm destes participantes, inmeras outras
universidades ao redor do mundo contribuem para o projeto. Membros da Globus
Alliance participam em uma grande variedade de projetos de computao em Grid,
nas mais diversas reas: astronomia, qumica, engenharia civil, meteorologia,
geologia, medicina, etc. A grande contribuio da Globus Alliance para a pesquisa e
desenvolvimento de grids chama-se Globus Toolkit, que um conjunto de bibliotecas e
programas utilizados no desenvolvimento e implantao de Grids.
Globus Toolkit
O Globus Toolkit, tambm conhecido como GT4, onde 4 refere-se a sua
verso, um dos mais famosos e usados conjuntos de ferramentas para
desenvolvimento e implementao de Grids. O GT um projeto de cdigo-fonte
aberto/livre iniciado por volta de 1998 pela Globus Alliance e inteiramente
desenvolvido implementando padres abertos.
O GT permite que se compartilhe, com segurana atravs de uma rede,
banco de dados, poder de processamento e muito mais.
O GT4 prov ferramentas e meios para gerenciamento de recursos,
segurana, infraestrutura, portabilidade, tolerncia a falhas e muito mais, ao mesmo
tempo respeitando a singularidade de cada entidade que possa vir a utiliza-lo.
Arquitetura
O GT4, como mencionado anteriormente, um conjunto de ferramentas
(aplicativos e bibliotecas) para desenvolvimento de sistemas distribudos.
De modo geral, o GT4 estruturalmente dividido em:
camada de segurana
camada de gerenciamento de dados
camada de gerenciamento de execuo
informaes de servios
common runtime (sistemas de execuo comuns)
Por fim, ainda divide-se entre as componentes Webs Services e pr Web
Services.
Common Runtime
O Common Runtime um conjunto de bibliotecas e ferramentas cujos
objetivos so prover um conjunto de servios Web e pr-web independente de
plataforma, permitir a construo e o desenvolvimento desses servios em mltiplas
Bibliotecas Comuns C
O conjunto de bibliotecas comuns C fornece uma camada de abstrao entre
a aplicao e o sistema operacional, a biblioteca C existente e estruturas de dados
utilizados por todo o toolkit. importante lembrar, tambm, que estas bibliotecas
comuns funcionam em diversos sistemas operacionais, tornando mais fcil o porte de
um aplicativo para outra plataforma. As plataformas atualmente suportadas so: Linux,
FreeBSD, HP/UX, AIX, Tru64 Unix, Windows, Solaris. Por fim, interessante ressaltar
a importncia deste componente, uma vez que este conjunto de bibliotecas usado
em praticamente todo o toolkit, devido as camadas de abstrao serem desenvolvidas
na linguagem C.
Camada de Segurana
Esta a camada responsvel pela autorizao e autenticao dentro do
Globus Toolkit. Ela subdividida em duas partes menores: CAS (Central
Authentication Service Servio Central de Autenticao) e Delegation Service
(Servio de Delegao).
CAS
o responsvel por gerenciar as polticas de acesso em uma VO (Virtual
Organization Organizao Virtual).
As polticas de acesso so armazenadas em um banco de dados, que
acessados atravs de uma interface de administrao.
Servio de Delegao
Atravs da utilizao de uma estrutura de chaves pblico-privadas, permite a
delegao de credenciais utilizadas para acessar recursos no/do grid.
Grid FTP
O GridFTP um das ferramentas/biblioteca utilizadas pelo Globus Toolkit para
implementar transferncia de arquivos de maneira eficiente. O GridFTP suporta no
apenas o protocolo FTP tradicional, mas tambm algumas extenses cuja finalidade
deixa-lo mais seguro. Alm disso, permite a incluso de plug-ins cujo objetivo
aumentar a funcionalidade e a tolerncia a falhas do conjunto. Por fim, importante
notar que o GridFTP um protocolo padro, conforme definido pelo Global GridForum
em conjunto com uma srie de RFCs (Requests For Comments) da IETF (Internet
Engineering Task Force). Embora o GridFTP com toda sua simplicidade seja uma
ferramenta poderosa, em muitos casos ele no um servio eficiente para
transferncia de dados, alm de contar com algumas pontos negativos que podem ser
de ferramentas que permite este controle conhecido como Gram. Em muitos casos
desejado pelos usurios de um sistema de monitorar e verificar a execuo de dos
dados relacionados a um job. Atender a esses requisitos, no Globus Toolkit, funo
da camada de gerenciamento de execuo.
Informaes de Servios
a camada responsvel por, entre outras coisas monitorao e
descobrimento de sistemas e recursos disponveis no Grid. No Globus Toolkit
composto pelos WS MDS e Pre WS MDS.
WS MDS
O WS MDS (Monitoring and Discovery System) o sistema cuja finalidade
permitir e facilitar aos usurios a descoberta e monitorao de recursos disponveis
em uma organizao virtual. No Globus Toolkit composto pelos seguintes
componentes:
Agregator Framework: utilizado para construir servios de coleta e
agregao de dados.
Information Providers: uma fonte de dados utilizada pelo servio agregador.
Index Service: um servio de agregao e indexao de dados.
WebMDS: um front-end web para o Index Service.
BOINC
O
BOINC
(Berkley Open
Infraestructure
for
Network
Computing
Concluso
A tecnologia de computao em Grid um exemplo magnifico de como o a
extensa criatividade e inteligncia dos cientistas resulta em solues prticas e,
principalmente, acessveis, capazes de resolver mesmo os mais complexos
problemas. Por fim, o apanhado geral sobre o Globus Toolkit, oferece uma viso do
Referencias Bibliogrficas
BOINC:
http://boinc.berkeley.edu/
Grid Caf:
http://gridcafe.web.cern.ch/
ClimaPrediction.net:
http://climateprediction.net/
Predictor@home:
http://predictor.scripps.edu/