Anda di halaman 1dari 30

CLUSTER X GRID

Alunos: Andr Campos Bruno Henrique Thiago de Paula

Goinia, 29/06/2009

Contedo
CLUSTER...............................................................................................................................1 X..............................................................................................................................................1 GRID.......................................................................................................................................1 Contedo.................................................................................................................................2 Cluster x Grid .........................................................................................................................3 Computao distribuda..........................................................................................................3 Cluster.....................................................................................................................................6 Grid.......................................................................................................................................22 Referncias............................................................................................................................29

Cluster x Grid

Computao distribuda
A computao distribuda, ou sistema distribudo, uma referncia computao paralela e descentralizada, realizada por dois ou mais computadores conectados atravs de uma rede, cujo objetivo concluir uma tarefa em comum. Um sistema distribudo uma coleo de computadores independentes que se apresenta ao usurio como um sistema nico e consistente, geralmente estas mquinas so interligadas por uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados. Organizar a interao entre cada computador primordial. Visando poder usar o maior nmero possvel de mquinas e tipos de computadores, independendo da plataforma, do Sistema Operacional ou do Banco de Dados. O protocolo ou canal de comunicao no pode conter ou usar nenhuma informao que possa no ser entendida por certas mquinas. Cuidados especiais tambm devem ser tomados para que as mensagens sejam entregues corretamente e que as mensagens invlidas sejam rejeitadas, caso contrrio, levaria o sistema a cair ou at o resto da rede. Outro fator de importncia a habilidade de mandar softwares para outros computadores de uma maneira portvel de tal forma que ele possa executar e interagir com a rede existente. Isso pode no ser possvel ou prtico quando usando hardware e recursos diferentes, onde cada caso deve ser tratado separadamente com cross-compiling ou reescrevendo software. Existem vrios modelos de computao distribuda, dentre eles destaca-se: Cliente/Servidor: O cliente manda um pedido para o servidor e o servidor o retorna o resultado processado. Ex.: Servidores web (HTTP) , FTP, DNS, Proxy, e-mail... 3

Peer-to-peer (P2P): Unidades de processamento no possuem um papel fixo de cliente ou servidor, hora so clientes, hora servidores. Ex.: Servios de compartilhamento de arquivos (Napster, BitTorrent, eMule), DNS, OpenFT, JXTA

Objetos distribudos: Semelhante ao peer-to-peer, mas com um software intermediando o processo de comunicao. Ex.: CORBA, RemoteSync, Ginga Em geral os sistemas de processamento distribudo ou paralelo que

interligam vrios ns de

processamento

(computadores individuais, no

necessariamente homogneos) de maneira que um processo de grande consumo seja executado no n "mais disponvel", ou mesmo subdividido por vrios ns. Conseguindo-se, portanto, ganhos considerveis nestas solues: uma tarefa qualquer, se dividida em vrias subtarefas pode ser realizada em paralelo. Este um assunto muito vasto e, embora com alguma idade, somente a pouco tempo comeou a se falar em padres para estas solues, que so utilizadas (em larga escala) geralmente nos meios cientficos e outros de clculo intensivo pela sua extensibilidade. So bastante flexveis, j que permitem a coexistncia de sistemas desenhados especificamente para isso e de sistemas desktop, e mesmo de sistemas considerados obsoletos, mas no o suficiente para permitir a coexistncia de solues semelhantes.

Arquitetura Bsica
A figura abaixo ilustra as vrias camadas de interoperabilidade de um sistema distribudo. Atravs do gateway a rede pblica tem acesso a um supercomputador, sem ter conhecimento disso, dado que s conhece o gateway.

Figura 1 - Arquitetura bsica de um sistema distribudo

Qualquer

aplicao

executada

no

gateway

(preparada

para

ser

paralelizada) pode ser distribuda por vrios ns, entregando os resultados mais rpido do que se fosse processada por apenas um n.

Cluster
Um cluster um conjunto de computadores, interligados como um sistema distribudo. Muitas vezes construdo a partir de computadores convencionais (personal computers), os quais so ligados em rede e comunicam-se atravs do sistema, trabalhando como se fossem uma nica mquina de grande porte.

Histrico
A idia inicial da congregao do "PC SHOW" da Microsoft, era que um buffer entre a memria e o processador fosse chamado de cluster. Mas foi desenvolvida na dcada de 1960 pela IBM como uma forma de interligar grandes mainframes, visando obter uma soluo comercialmente vivel de paralelismo no Paquisto. Nesta poca o sistema HASP (Houston Automated Spooling Program) da IBM e seu sucessor o JES (Job Entry System) proviam uma maneira de distribuir tarefas nos mainframes interligados. A IBM ainda hoje (2001) suporta o cluster de mainframes atravs do Parallel Sysplex System, que permite ao hardware, sistema operacional, middleware e software de gerenciamento do sistema prover uma melhora dramtica na performance e custo ao permitir que usurios de grandes mainframes continuem utilizando suas aplicaes existentes. Entretanto, o cluster ganhou fora at que trs tendncias convergiram nos anos 1980: microprocessadores de alta performance, redes de alta velocidade, e ferramentas padronizadas para computao distribuda de alto desempenho. Uma quarta tendncia possvel a crescente necessidade de poder de processamento para aplicaes cientficas e comerciais unida ao alto custo e a baixa acessibilidade dos tradicionais supercomputadores. No final de 1993, Donald Becker e Thomas Sterling iniciaram um esboo de um sistema de processamento distribudo construdo a partir de hardware convencional como uma medida de combate aos custos dos supercomputadores. No incio de 1994, trabalhando no CESDIS, com o patrocnio do projecto HTPCC/ESS, criaram o primeiro cluster desse tipo, o projecto Beowulf. O prottipo inicial era um cluster de 16 processadores DX4 ligados por dois canais Ethernet 6

acoplados (Ethernet bonding). A mquina foi um sucesso instantneo e esta idia rapidamente se espalhou pelos meios acadmicos, pela NASA e por outras comunidades de pesquisa.

Performance de Clusters
Em computao, FLOPS (ou flops) um acrnimo que significa Floating point Operations Per Second que, em portugus, quer dizer operaes de ponto flutuante por segundo. Isto usado para determinar o desempenho de um computador, especificamente no campo de clculos cientficos, que fazem grande uso de clculos com ponto flutuante; similar a instrues por segundo. Dispositivos de computao possuem uma enorme capacidade de processamento, ento faz sentido utilizar unidades maiores que FLOPS. Para isso colocado um prefixo que determina o mltiplo da unidade, assim como acontece com outras unidades de medida. Os mltiplos mais utilizados so: megaflops (MFLOPS), gigaflops (GFLOPS), teraflops (TFLOPS), petaflops (PFLOPS) e exaflops (EFLOPS). Em 2007 o mais rpido supercomputador, criado para empresa japonesa Riken, atingiu 1 petaflop. O supercomputador resultado de uma parceria da Hitachi, da Intel e da NEC, e nele foram associados 4808 processadores Xeon Dual-Core (Dempsey). Uma calculadora bsica de 4 operaes possui um desempenho de 10 FLOPS. H muitos fatores na performance do computador para medir da velocidade do calculo de pontos-flutuantes, como a performance de Entrada/Sada, comunicao do interprocessador, coerncia de cache, e a hierarquia de memria. Isso significa que supercomputadores, em geral, so apenas capazes duma pequena frao do seu desempenho terico(obtido adiconando junto o pico de performance terico de FLOPS de todos os elementos do sistema). Mesmo quando operando em paralelo clculos muito grandes, o seu desempenho ser lento, principalmente devido ao efeito residual da Lei de Amdahl. A Lei de Amdahl a lei que governa o ganho na utilizao de processadores paralelos em relao ao uso de apenas um processador. Seu nome deriva do arquiteto de computadores Gene Amdahl.O ganho de 7

desempenho que pode ser obtido melhorando uma determinada parte do sistema limitado pela frao de tempo que essa parte utilizada pelo sistema durante a sua operao. O ganho depende de dois fatores: Frao de melhoria (Fm): frao de tempo da computao que pode tirar proveito da melhoria feita. Esta frao sempre menor ou igual a 1. Ganho de execuo (Ge): ganho obtido com a melhoria na parte especfica modificada do sistema. Este ganho sempre maior que 1.

Frmula da Lei de Amdahl

Tipos de Cluster
Existem Vrios tipos de cluster, dentre eles destacam-se: Cluster de Alto Desempenho Tambm conhecido como cluster de alta performance ele funciona permitindo que ocorra uma grande carga de processamento com um volume alto de gigaflops em computadores comuns, alguns utilizando sistema operacional gratuito o que diminui seu custo. Cluster de Alta Disponibilidade So clusters os quais seus sistemas conseguem permanecer ativos por um longo perodo de tempo e em plena condio de uso, sendo assim, podemos dizer que eles nunca param seu funcionamento, alm disso, conseguem detectar erros se protegendo de possveis falhas. Cluster para Balanceamento de Carga Esse tipo de cluster tem como funo controlar a distribuio equilibrada do processamento. Requer um monitoramento constante na sua comunicao e em seus mecanismos de redundncia, pois se ocorrer alguma falha haver uma interrupo no seu funcionamento. 8

Cluster de Alta disponibilidade


Cada vez mais necessrio garantir a disponibilidade de um servio, mas muitos componentes dos sistemas de informao atuais contm partes sensveis (podem falhar software, hardware, energia e tudo que sofre desgaste ou depende do ambiente); e a fiabilidade destes componentes relativamente insuficiente, para o caso de o servio ser crtico. Para garantir a ausncia de interrupes de servio necessrio, muitas vezes, dispor de hardware redundante que entre em funcionamento automaticamente quando da falha de um dos componentes em utilizao. Quanto mais redundncia existir, menores sero os SPOF (Single Point Of Failure), e menor ser a probabilidade de interrupes no servio. At a poucos anos tais sistemas eram muito dispendiosos, e a procura em solues alternativas intensifica-se cada vez mais. Surgem ento os sistemas construdos com hardware acessvel (clusters), altamente escalveis e de custo mnimo. A figura abaixo ilustra a configurao tpica de um sistema de alta disponibilidade dual-node:

Figura 2 Esquema de um cluster de disponibilidade

Como se pode observar, no existe um nico ponto nesta arquitectura que, ao falhar, implique a indisponibilidade de outro ponto qualquer (SPOF). O fato de ambos servidores se encontram em funcionamento e ligados rede no implica, porm, que se encontrem a desempenhar as mesmas tarefas.

Balanceamento de Carga
O balanceamento da utilizao da rede passa sobretudo por reencaminhar o trfego por caminhos alternativos a fim de descongestionar os acessos aos servidores. Este balanceamento pode ocorrer a qualquer nvel da camada OSI (Open Systems Interconnection - forma comum de conectar computadores).

Figura 3 - Balanceamento de carga (NAT).

A acima sugere a existncia de um mecanismo/dispositivo responsvel pelo balanceamento (diretor). Na verdade, ele pode existir sob vrias formas, dependendo do(s) servio(s) que se pretende balancear. Este diretor serve

10

tambm de interface entre o cluster de servidores e os clientes do(s) servio(s) tudo o que os clientes conhecem o endereo semi-pblico deste servidor. Esta abordagem (clssica) algo limitado, em termos de escalabilidade, ao nmero de tramas que o diretor consegue redirecionar, principalmente devido velocidade dos canais de comunicao das placas de rede. Existem, no entanto, outras solues mais complexas que tiram melhor proveito das caractersticas do protocolo TCP/IP em conjunto com roteamento especializado (NAT, IP Tunneling, Direct Routing). Todo o hardware tem o seu limite, e muitas vezes o mesmo servio tem que ser repartido por vrias mquinas, sob pena de se tornar congestionado. Estas solues podem-se especializar em pequenos grupos sobre os quais se faz um balanceamento de carga: utilizao do CPU, de armazenamento, ou de rede. Exemplo: Um exemplo de um site a utilizar tcnicas de balanceamento de carga a Wikimedia Foundation e os seus projetos. Em Junho de 2004, a carga era balanceada usando uma combinao de: Round robin DNS, que distribui os pedidos uniformemente para um dos trs servidores de cache Squid; Estes servidores de cache usam os tempos de resposta para distribuir os pedidos para cada um dos sete servidores de pginas. Em mdia, os servidores Squid j tm em cache pginas suficientes para satisfazer 75% dos pedidos sem sequer consultar os servidores de pginas; Os scripts PHP que formam a aplicao distribuem a carga para um de vrios servidores de base de dados dependendo do tipo do pedido, com as atualizaes indo para um servidor primrio e as consultas para um ou mais servidores secundrios.

11

Modelos e organizaao de clusters


Beowulf
Um das primeiras classes de cluster, originada em 1994, similar ao sistema original da NASA. constitudo por diversos ns escravos gerenciados por um s computador. Originalmente desenvolvido por Thomas Sterling e Donald Becker na NASA, o sistema Beowulf agora desenvolvido e mantido internacionalmente, e seu uso mais comum computao cientfica. As mquinas interligadas so idnticas, rodando um software livre e gratuito Unix-like, sob rede TCP/IP com bibliotecas especficas que permitem que o os dados de processamento sejam compartilhados entre eles. No existe nenhum elemento especfico de software que define um cluster como Beowulf. Comumente utiliza-se processamento paralelo, que incluem bibliotecas MPI (Message Passing Interface) e PVM (Parallel Virtual Machine). Ambas permitem ao programador dividir uma tarefa entre um grupo de computadores em rede, e recolher o resultado do processamento. Um exemplo de software MPI Open Source Cluster Application Resources (OSCAR) - um conjunto de ferramentas para a implementao de um cluster. OSCAR instalado em cima de uma distribuio padro de Linux. Em 1998 Jacek Radajewski e Douglas Eadline publicaram um guia de como montar configurar e tambm o cdigo fonte das bibliotecas necessrias, este est disponvel em: http://www.ibiblio.org/pub/linux/docs/HOWTO/archive/Beowulf-HOWTO.html

12

Figura 4 Esquema do cluster Beowulf

Figura 5 Um cluster Beowulf montado

13

OpenMosix
O openMosix uma extenso ao kernel Linux para clustering em single system image, que possibilita a converso de uma rede clssica de computadores desktop num super-computador para aplicaes Linux. Uma vez instalado, os ns do cluster mantm comunicaes entre eles sobre a disponibilidade dos recursos (processador e memria), permitindo a cada n ter conhecimento se outro n est mais ou menos disponvel para disponibilizar os seus recursos. Desta forma, se um n com vrios processos (a utilizar um destes dois recursos concorrentemente) detecta que outro n tem disponibilidade superior, ie., tem menos carga de processador/RAM, ento o OpenMosix encarrega-se de transladar/migrar um desses processos para esse n, dando origem ao processamento distribudo. O OpenMosix tenta continuamente classificar os custos de transladao e fazer previses sobre a viabilidade da mesma. Estes algoritmos tm a sua base em algoritmos de clculo financeiro. O OpenMosix utiliza o seu prprio sistema de arquivos, o OpenMosix Filesystem (oMFS) para permitir as trocas de dados entre vrios processos. Este mecanismo suporta algumas das funcionalidades de Inter Process Communication (IPC) mais simples, como pipes, fifos, e redireccionamento de arquivos. Utilizando oMFS e uma configurao adequada, ainda possvel permitir aos processos remotos o acesso diretos a arquivos e dados, ainda que estes no existam no n anfitrio do processo, como ilustra a figura abaixo.

14

Figura 6 - Transferncias num cluster openMosix

openSSI e Kerrighed
OpenSSI uma soluo de clustering de Sistema de Imagem nica (SSI) baseado em Linux. O projeto OpenSSI baseado nas tecnologias NonStop da HP para Unixware e outras modalidades open source para fornecer um ambiente completo, de alta disponibilidade e SSI para Linux. Os objetivos do cluster OpenSSI incluem alta disponibilidade, escalabilidade e gerenciabilidade, construdos sobre servidores padro. Baseia-se nos servios oferecidos pela camada CI (Infraestrutura de Cluster) para fazer a gesto conjunta dos recursos disponveis nos vrios ns do cluster. Esta gesto procura fornecer ao utilizador/administrador noo de que o "cluster" uma mquina nica. O Kerrighed uma base operacional para Sistema de Imagem nica (Single System Image Operating System (SSI OS)) destinado para cluster construdos a partir de PCs padres de mercado. Um sistema operacional SSI d 15

a iluso de uma mquina de SMP aos programas que so executados em cima dele. Kerrighed uma extenso kernel do Linux. No obstante, um cluster rodando Kerrighed no uma mquina de SMP fsica real. Foi iniciado em outubro de 1998 no grupo de pesquisa de Paris em IRISA, sob o comando de Christine Morin. A sua maior originalidade est no uso intensivo que faz de Distributed Shared Memory (DSM). Os sistemas DSM simulam a existncia de memria comum aos vrios ns, sem que fisicamente tal memria exista. As metas do Kerrighed so alto desempenho de aplicaes, alta disponibilidade do cluster, administrao de recursos eficiente, alta customizabilidade do sistema operacional e facilidade de uso. Kerrighed implementado como uma extenso a sistema operacional GNU/Linux (uma coleo de mdulos e um pequeno patch para o kernel Linux). As principais caractersticas do Kerrighed so: Escalonador customizvel para o cluster Processos e threads so automaticamente escalonados atravs dos ns do cluster para balancear o uso de CPU atravs do escalonador padro do Kerrighed. Porm, Kerrighed oferece um toolkit para escrever escalonadores sob encomenda com facilidade, que podem serem adicionados 'a quente' nos mdulos do kernel. Memria Compartilhada Threads e segmentos de memria do sistema podem ser operados atravs do cluster, como em uma mquina SMP. Mecanismos de migrao de fluxo de alta performance Podem ser migrados processos que usam fluxos (socket, pipe, fifo, char device, etc) sem penalidade no desempenho de comunicao depois de migrao. Sistema de arquivo distribudo

16

Um nico espao de nome de arquivo visto no cluster. Todos os discos do cluster so fundidos em um nico disco virtual em um customizao parecida como um RAID.

Verificao de processos Os processos podem ser verificados e reiniciados em qualquer um n do cluster. Interface de Thread Posix completa A interface de Thread Posix pode ser operada com threads espalhadas pelos ns do cluster. Interface de processos Unix visvel em todo o cluster Toda a interface tradicional de comandos de gerenciamento de processos Unix (top, ps, kill, etc) so operados pelo cluster. Alm disso, os identificadores de processos (pid) so nicos no cluster.

Caractersticas customizveis da imagem nica de sistema. o As caractersticas do SSI (memria compartilhada, escalonador global, migrao de fluxos, etc) podem ser ativados ou no por base de processos.

Sistema de arquivos
Para um cluster funcionar, tem-se que compartilhar e controlar dados para processamento, para isso existem vrias solues destinadas a cada tipo de cluster. Destes convm citar:

RAID
Redundant Array of Independent Drives (ou Disks), mais conhecido como RAID, em portugus: Conjunto Redundante de Discos Independentes, um meio de se criar um sub-sistema de armazenamento composta por vrios discos individuais, com a finalidade de ganhar segurana e desempenho. Esta soluo mais utilizada em clusters de alta disponibilidade, afim de diminuir a probabilidade de perdas de dados ou paradas de servio. Porm pode ser muito til num cluster de balanceamento de carga. 17

A primeira idia de RAID foi desenvolvida pela IBM em 1978, para melhorar a confiabilidade e segurana de sistemas atravs de redundncia. E tambm foi proposto em 1988 por David A. Patterson, Garth A. Gibson e Randy H. Katz na publicao "Um Caso para Conjuntos de Discos Redundantes Econmicos (RAID)". Publicado na Conferncia SIGMOD de 1988: pp. 10916. Popularmente, RAID seriam dois ou mais discos rgidos trabalhando simultaneamente para um mesmo fim, por exemplo, citando o exemplo de RAID-1, serviria como um espelhamento simples, rpido e confivel entre dois discos, para fazer o backup de um disco em outro. Apesar do RAID oferecer segurana e confiabilidade na adio de redundncia e evitar falhas dos discos, o RAID no protege contra falhas de energia ou erros de operao. Falhas de energia, cdigo errado de kernel ou erros operacionais podem danificar os dados de forma irrecupervel. Existem vrios tipos e implementaes de RAID: Via software o Mais flexveis que os via hardware. o Exigem mais da CPU. o Configurao complicada Via hardware o Configurao facilitada o Melhor tratamento de erros pela BIOS o Preo muito elevado Fake RAID o Intermedirio entre Hardware e Software o "Controladora barata" o Em vez de um chip controlador RAID utiliza funes da BIOS em conjunto com drivers instalados no sistema operacional

18

Storage area network


Um Storage Area Network (rea de armazenamento em rede) ou SAN uma rede projetada para agrupar dispositivos de armazenamento de computador. Os SANs so mais comuns nos armazenamentos de grande porte. Existem duas variaes de SANs: 1. Uma rede na qual o propsito principal a transferncia de dados entre computadores e dispositivos de armazenamento. Um SAN consiste em uma infra-estrutura de comunicao que prov conexes fsicas com uma camada de gerenciamento, que organiza as conexes, os dispositivos de armazenamento e os computadores, tornando a transferncia de dados robusta e segura. 2. Um sistema de armazenamento formado por dispositivos de armazenamento, computadores e/ou aplicaes, e todo um controle via software, comunicando-se atravs de uma rede de computadores. Os storage networks, ou redes de armazenamento, so diferenciadas de outras formas de armazenamento em rede pelo mtodo de acesso em baixo nvel que eles apresentam. O trfego de dados nessas redes bastante similar queles usados internamente em discos, como ATA e SCSI. Porm nesta rede de armazenamento, o servidor envia pedidos por blocos especficos ou segmentos de dados de especficos discos. Esse mtodo conhecido como block storage (armazenamento de blocos). O dispositivo age similarmente a um drive interno, acessando o bloco especfico e enviando a resposta atravs da rede. Em alguns mtodos de acessos de arquivos mais tradicionais, como SMB/CIFS ou NFS, o servidor envia pedidos para um arquivo abstrato como o componente de um grande sistema de arquivos, gerenciados por um computador intermedirio. O intermedirio, ento, determina o local fsico do tal arquivo abstrato, obtem acesso em um dos drives internos e, por fim, envia o arquivo completo pela rede. A maioria dos SAN's usam o protocolo SCSI para a comunicao entre servidores e dispositivos. Compartilhar o armazenamento normalmente simplifica a administrao e proporciona flexibilidade, uma vez que cabos e dispositivos de armazenamento 19

no precisam ser movidos fisicamente para mudar armazenamento de um servidor para outro, por exemplo. Note, apesar, que com a exceo do sistema de arquivos SAN e clusters, o SAN ainda de relao um-a-um. Ou seja, cada dispositivo no SAN de propriedade de um nico computador. Oposto a isso, o NAS (Network-Attached Storage), permite que vrios computadores acessem ao mesmo conjunto de arquivos em uma rede. Os SANs tendem a aumentar a capacidade de armazenamento, uma vez que mltiplos servidores podem compartilhar da mesma reserva de crescimento. Outros benefcios incluem a habilidade de permitir que servidores efetuem boot pelo prprio SAN. Isto permite uma rpida e fcil reposio de servidores defeituosos, uma vez que o SAN pode ser reconfigurado para que o servidor de reposio use o LUN (Logical Unit Number, ou nmero lgico de unidade) do servidor defeituoso. Esse processo pode levar pouco mais de 30 minutos e uma idia relativamente nova que est sendo implantada em novos data centers. Os SANs tambm tendem a ser mais efetivos em processos de recuperao de dados. Um SAN pode replicar dados de vrios servidores para uma rea de armazenamento secundria. Essa rea secundria pode ser local ou remota. Os SANs normalmente so construdos em uma infra-estrutura especialmente projetada para comportar grande trfego de dados originados de armazenamento. Assim, eles proporcionam um acesso mais rpido e estvel do que protocolos de alto-nvel como os NAS. A tecnologia mais comum para SAN a rede de fibra tica com o conjunto de comandos SCSI. Um canal de fibra tica SAN padro feita de alguns switches que esto interligados, formando uma rede. Uma alternativa, e mais recente (2003), de protocolo SAN o iSCSI, que usa o mesmo conjunto de comandos SCSI sobre TCP/IP (e, tipicamente, Ethernet). Nesse caso, os switches, cabos e hubs seriam de protocolo TCP/IP. Conectado ao SAN estaro um ou mais servidores (hosts) e uma ou mais colees de discos, arquivos de fita ou outros dispositivos de armazenamento. 20

Por essas caractersticas gerais, os SANs podem ser usados para qualquer tipo de cluster.

Alguns sistemas de clusters notveis


Veritas Cluster Server
Veritas Cluster Server (ou VCS) um software para clusters de alta disponibilidade, para computadores Unix, Linux e Windows, criado por Veritas Software (agora parte da Symantec). Oferece aplicativos para os clusters rodarem bancos de dados, compartilhamento de arquivos numa rede, comrcio web de eletrnicos ou outros aplicativos.

Terracotta Cluster
Terracotta um software para clusters que rodam JAVA, trabalha em nvel da JVM (Java Virtual Machine). Oferece o agrupamento como um servio, o que facilita imensamente a tarefa de multiprocessar um aplicativo Java , por trabalhar diretamente na JVM, em vez de multiprocessar o aplicativo em si.

Solaris Cluster
Solaris Cluster (Sun Cluster ou SunCluster) um software para clusters do tipo alta disponibilidade produzido para o S.O. Solaris e criado pela Sun Microsystems. Como todo cluster de disponibilidade, preza pela segurana e mantenimento de servios gerais. Opera tendo computadores redudantes de maneira que se um falhar, o servio continuar sendo oferecido por outros. Esses ns podero estar alocados num mesmo data center ou em um outro remoto.

Red Hat Cluster Suite


O Red Hat Cluster Suite inclui software para criar um sistema de alta disponibilidade e balanceamento de carga, atualmente no contm funcionalidades para computadores distribudos. Ambas funcionalidades podem ser utilizadas no mesmo sistema, embora este caso tem utilizao pouco provvel. 21

Caractersticas tcnicas: Suporta at 128 ns Proteo contra falha de sistema de arquivos multi-sistemas operacionais: NFS (Unix) / CIFS (Windows) / GFS Subsistema de armazenamento totalmente compartilhado Integridade de dados completa Suporta canais SCSI e fibra

Grid
Computao em grelha ou Computao em grade (do ingls Grid Computing) um modelo computacional capaz de alcanar uma alta taxa de processamento dividindo as tarefas entre diversas mquinas, podendo ser em rede local ou rede de longa distncia, que formam uma mquina virtual. Esses processos podem ser executados no momento em que as mquinas no esto sendo utilizadas pelo usurio, assim evitando o desperdcio de processamento da mquina utilizada.

Histrico
Nos anos 90 uma nova infra-estrutura de computao distribuda foi proposta visando auxiliar atividades de pesquisa e desenvolvimento cientfico. Vrios modelos desta infra-estrutura foram especificados, dentre elas, a Tecnologia em Grade, em analogia s redes eltricas (power grids) se prope em apresentar ao usurio como um computador virtual, mascarando toda a infra-estrutura distribuda, assim como a rede eltrica para uma pessoa que utiliza uma tomada sem saber como a energia chega a ela. Seu objetivo era casar tecnologias heterogneas (e muitas vezes geograficamente dispersas) formando um sistema robusto, dinmico e escalvel onde se pudesse compartilhar processamento, espao de armazenamento, dados, aplicaes, dispositivos, entre outros. Pesquisadores da rea acreditam que a tecnologia de grades computacionais seja a evoluo dos sistemas computacionais atuais, no sendo 22

apenas um fenmeno tecnolgico mas tambm social pois num futuro prximo reuniria recursos e pessoas de vrias localidades, com vrias atividades diferentes, numa mesma infra-estrutura possibilitando sua interao de uma forma antes impossvel. A computao em grade vem ganhando destaque nos ltimos tempos com algumas empresas apostando alto nessa tecnologia. Um bom exemplo a IBM que tem feito grande investimento em pesquisa e desenvolvimento de ferramentas em grade para ambiente corporativo, e tambm uma das principais colaboradoras no desenvolvimento do Globus Toolkit. No meio cientfico j pode-se encontrar vrias grades em funcionamento espalhados por vrios pases, muitos sendo projetos multi-institucionais. Como exemplos tem-se: Datagrid, do CERN (Organizao Europia de Pesquisa Nuclear), um projeto financiado pela Comunidade Europia com o objetivo de atuar em reas de pesquisa como astronomia, fsica e biologia; BIRN, projeto multi-institucional que conta com quinze universidades norte-americanas, voltado para a pesquisa neurolgica e Mammogrid, uma iniciativa da comunidade europia para formar uma base de mamografias que abrange toda a Europa com intuito de fornecer material de estudo e campo para o desenvolvimento de tecnologias em grade. No Brasil um bom exemplo o Sprace, projeto de um grade do Instituto de Fsica da USP que participa no processamento dos dados provenientes do projeto D0 (projeto que rene pesquisadores do mundo todo para analisar os dados gerados pelo acelerador de alta energia Tevatron Collider, localizado em Illinois, Estados Unidos). A tecnologia em grade vem sendo aperfeioada, em grande parte pelo esforo do Global Grid Forum (GGF), uma comunidade formada por entidades do meio cientfico e corporativo que criam e padronizam tecnologias para ambientes em grade. Um dos trabalhos mais importantes do GGF atualmente vem sendo o desenvolvimento do OGSA (Open Grid Service Architecture), um padro cujo objetivo permitir interoperabilidade, portabilidade e reutilizao de servios em grade atravs da padronizao de interfaces, comportamentos e servios bsicos

23

obrigatrios, APIs, etc, assim viabilizando a utilizao conjunta de servios desenvolvidos em diferentes ambientes, por diferentes desenvolvedores.

Semelhanas e diferenas entre grids e clusters


Assim como os Clusters, os Grids de computadores esto se tornando algo popular. A idia por trs tanto dos clusters quanto dos grids basicamente a mesma: combinar o poder de processamento de vrios computadores ligados em rede para conseguir executar tarefas que no seria possvel (ou pelo menos no com um desempenho satisfatrio) executar utilizando um nico computador e ao mesmo tempo faz-lo a um custo mais baixo de o de um supercomputador de potncia semelhante. Os clusters e grids podem ser compostos tanto permanentes, quanto temporrios, formados para executar uma tarefa especfica e depois desfeitos. Presumindo que todos os computadores estejam previamente ligados em rede, a criao e dissoluo apenas questo de ativar e depois desativar o software responsvel em cada computador. A principal diferena entre um cluster e um grid que um cluster possui um controlador central, um nico ponto de onde possvel utilizar todo o poder de processamento do cluster. Os demais ns so apenas escravos que servem a este n central. Os clusters so mais usados em atividades de pesquisa, resolvendo problemas complicados e na renderizao de grficos 3D. Os grids por sua vez so uma arquitetura mais "democrtica" onde embora possa existir algum tipo de controle central, temos um ambiente fundamentalmente cooperativo, onde empresas, universidades ou mesmo grupos de usurios compartilham os ciclos ociosos de processamento em seus sistemas em troca de poder utilizar parte do tempo de processamento do grid. Por exemplo, duas empresas sediadas em pases com fuso-horrios diferentes poderiam formar um grid, combinando seus servidores web, de modo que uma possa utilizar os ciclos de processamento ociosos da outra em seus horrios de pico, j que com horrios diferentes os picos de acessos aos servidores de cada empresa ocorrero em horrios diferentes. 24

Caractersticas
H vrias plataformas tradicionais de computao distribuda, seja de propsito mais comercial (CORBA, DCOM, etc), seja de propsito mais tcnico (clusters, supercomputadores paralelos). Para esclarecer um pouco mais a diferena entre os Grids e outras plataformas de computao distribuda, podemos citar algumas caractersticas que so intrnsecas aos Grids. De modo geral, os Grids so mais distribudos, diversos e complexos que outras plataformas. Aspectos que evidenciam esta distribuio, diversidade e complexidade so: Heterogeneidade: Os componentes que formam a infraestrutura tendem ser extremamente heterogneos. Ou seja, importante ter em mente que qualquer soluo para Grids Computacionais dever lidar com recursos de vrias geraes, softwares de vrias verses, instrumentos e servios dos mais variados tipos. Alta disperso geogrfica: Essa caracterstica se refere a escala que um Grid pode atingir. Nesse sentido, Grids podem ter escala global, agregando servios localizados em vrias partes do planeta. Compartilhamento: Em contraste com solues space-shared, um Grid no pode ser dedicado a uma aplicao de forma exclusiva por um determinado perodo de tempo. Isso tem impacto no desenvolvimento de aplicaes que executam sobre a infraestrutura de um Grid Computacional. Mltiplos domnios administrativos: Grids congregam recursos de vrias instituies. Sendo assim, alm da heterogeneidade mencionada anteriormente, possvel tambm a existncia de vrias polticas de acesso e uso dos servios, de acordo com as diretrizes de cada domnio que faz parte do Grid. Controle distribudo: Tipicamente no h uma nica entidade que tenha poder sobre todo o Grid. Isso um reflexo da disperso dos componentes do Grid, pois cada instituio pode implementar sua poltica em seus recursos locais, mas no interfere diretamente na implementao de 25

polticas no acesso aos servios de outras instituies participantes. A ausncia de alguma das caractersticas no deve automaticamente desqualificar uma determinada plataforma como Grid, essas caractersticas servem como conceito de Grid e no como sua definio.

Grids para Alto Desempenho


Grids Computacionais so apresentados como uma plataforma de execuo para aplicaes paralelas, sendo assim ela possui algumas caractersticas que so adequadas para alguns tipos de aplicaes. Uma aplicao paralela composta por vrias tarefas. As tarefas que compem uma aplicao paralela executam em vrios processadores, caracterizando desta forma o paralelismo da execuo da aplicao e consequente reduo no seu tempo de execuo. Os processadores usados por uma determinada aplicao constituem a plataforma de execuo da aplicao. Plataformas de execuo de aplicaes paralelas variam em diversos aspectos, dos quais destacamos conectividade, heterogeneidade, compartilhamento, imagem do sistema e escala: Conectividade diz respeito aos canais de comunicao que interligam os processadores que compem a plataforma de execuo. Atributos que definem a conectividade de uma plataforma so a topologia, largura de banda, latncia e compartilhamento. Heterogeneidade trata das diferenas entre os processadores, que podem ser de velocidade e/ou arquitetura. Compartilhamento versa sobre a possibilidade dos recursos usados por uma aplicao serem compartilhados por outras aplicaes. Imagem do sistema se refere existncia de uma viso nica da plataforma, independente do processador sendo utilizado. Por exemplo, todos os processadores da plataforma enxergam o mesmo sistema de arquivos? 26

Escala estabelece quantos processadores tem a plataforma. Como vimos, as Grid possui caractersticas de grande heterogeneidade e

de serem muito dispersas. A comunicao entre os ns que compem a Grid geralmente feita atravs de redes de baixa velocidade, como a internet:

Figura 7 Esquema de um Grid

Vrios problemas devem ser contornados por aplicaes que pretendem ser executados em plataformas Grid. Basicamente as Grids computacionais possui um elevado nvel de processamento paralelo em que uma determinada tarefa deve ser dividida em vrias partes para ser executada. Como as Grids operam em redes de baixa velocidade, o compartilhamento de dados entre as diversas tarefas pode ser um fator de grande peso para a execuo. Aplicaes com design para essa plataforma devem contar que cada n pode realizar seu processamento, porm a entrada e sada de dados devem ser reduzidas. Essa caracteristica bem suprida por aplicaes cientficas, que geralmente requerem elevado processamento, porm todos dados de trabalho podem ser armazenados no prprio n de processamento, como por exemplo aplicaes de fatoramento 27

que trabalham com seu conjunto de dados e s possuem resposta se encontrar informaes pertinentes. Outras dificuldades encontradas esto ligadas ao escalonamento de tarefas para cada n da Grid. As Grids geral tendem a usar apenas o processamento que no usado pelo usurio da mquina, ou seja, apenas em tempos ociosos os softwares de controle da Grid so executados. A disponibilidade de processamento em cada n varivel, e um n pode sair da Grid sem aviso prvio o que dificulta a funo de escalar quais atividades devem ser realizadas em cada n. A segurana de dados uma requisio necessrias nessa plataforma e suas aplicaes. Como o processamento da aplicao dividido em vrios ns, autenticao e confiabilidade nos dados so de extrema importncia no s para o dono do recurso de processamento, como para a aplicao em geral. Caso dados maliciosos sejam introduzidos na rede de processamento, os ns podem ser lesados e a aplicao como um todo poder falhar. Segurana um grande tpico que deve ser discutido em computao distribuda, e com maior nfase em sistemas que podem ser executados em ns no conhecidos ou no seguros, como as redes Grids pblicas.

Projetos
PrimeGrid - Baseado na plataforma BOINC uma Grid voluntria que tenta fatorar os nmeros do RSA Factoring Challenge. Riesel-Sieve - O Riesel-Sieve, bem parecido com o PrimeGrid, quer provar qual dos 509203 o menor primo para qualquer nmero n >= 1, k*2^n-1 usando a Linguagem de Programao PERL. Alm de buscar os primos, o projeto pretende fornecer novos mtodos de trabalho para a plataforma BOINC. World Community Grid - um esforo para criar o maior supercomputador pblico do mundo para realizar pesquisas cientficas que beneficiem a humanidade. O projeto de autoria da IBM e atualmente est disponvel para Windows, Linux, and Mac OS X. 28

Referncias
1. http://en.wikipedia.org/wiki/Terracotta_Cluster 2. http://en.wikipedia.org/wiki/Solaris_Cluster 3. http://en.wikipedia.org/wiki/Red_Hat_Cluster_Suite 4. http://en.wikipedia.org/wiki/Veritas_Cluster_Server 5. http://pt.wikipedia.org/wiki/Storage_Area_Network 6. http://pt.wikipedia.org/wiki/RAID 7. http://pt.wikipedia.org/wiki/OpenSSI 8. http://pt.wikipedia.org/wiki/OpenMosix 9. http://en.wikipedia.org/wiki/Beowulf_(computing) 10. http://pt.wikipedia.org/wiki/Tipos_de_cluster 11. http://pt.wikipedia.org/wiki/FLOPS 12. http://pt.wikipedia.org/wiki/Cluster 13. http://pt.wikipedia.org/wiki/Categoria:Computao_distribuda 14. http://pt.wikipedia.org/wiki/Computao_distribuda http://pt.wikipedia.org/wiki/Sistema_Nacional_de_Processamento_de_alto_ Desempenho 15. http://en.wikipedia.org/wiki/GPU_cluster 16. http://www.cenapadne.br/noticia.do?method=select&id=31 17. http://en.wikipedia.org/wiki/Computer_cluster_in_virtual_machines 18. http://pt.wikipedia.org/wiki/Computao_em_grelha 19. http://en.wikipedia.org/wiki/Grid_computing 20. http://www.guiadohardware.net/termos/grid-computing 21. http://www.gridcomputing.com.br/tiki-index.php 22. http://walfredo.dsc.ufcg.edu.br/papers/SBRC.2005.v18.pdf 23. http://pt.wikipedia.org/wiki/PrimeGrid 24. http://pt.wikipedia.org/wiki/Riesel-Sieve 25. http://pt.wikipedia.org/wiki/World_Community_Grid 26. http://en.wikipedia.org/wiki/Sun_Grid 27. http://pt.wikipedia.org/wiki/Sistema_de_processamento_distribudo 29

28. http://pt.wikipedia.org/wiki/Sistema_de_alta_disponibilidade 29. http://pt.wikipedia.org/wiki/Balanceamento_de_Carga

30

Anda mungkin juga menyukai