set
16
2008

Simulações Computacionais: Grid? Cluster? Não são a mesma coisa ?

No Gravatar

Mais uma vez estamos aqui para continuar a discussão sobre simulações computacionais. Para isso convidei novamente o estudante de pós-graduação Weslley Souza Patrocinio, aquele que escreveu, aqui no TecnoSapiens, o artigo  A Elite das Simulações Computacionais: Os Supercomputadores, para nos dar mais algumas informações sobre ferramentas que são usadas em computação de alto desempenho. Como já foi dito no outro artigo, ele é formado em Física computacional e mestrando na mesma área no Instituto de Física da USP – São Carlos, para maiores informações acesse seu currículo Lattes. Segue o artigo!

Por Weslley Souza Patrocinio

Olá caros leitores. Estou aqui para continuar a fazer um panorama dos equipamentos usados em simulações computacionais no meio científico/tecnológico. Em nosso último encontro falamos sobre o que há de high-tec no mercado: os supercomputadores. Entretanto, apenas uma fatia muito pequena dos pesquisadores/desenvolvedores tem acesso a essas máquinas turbinadas, afinal não é todo mundo que tem um limite de US$ 100.000.000,00 no cartão de crédito pra comprar um brinquedinho desses. E acredite, a falta de poder computacional é o limitante de bons resultados de pesquisa em muitas simulações.

Cabe à “massa” então usar de alternativas factíveis a nossa (sim, eu também faço parte dela) realidade financeira. Um dos caminhos mais explorados pelos usuários da computação de alto desempenho (HPC – high performance computing) é “copiar” a idéia de um supercomputador, construindo uma máquina composta por vários computadores existentes no mercado (off the shelf). Entretanto, existem duas possibilidades de construir uma máquina dessa forma, e ambas as formas são bastante confundidas entre elas; os clusters e os grids.

Os clusters são um conjunto de computadores (onde cada computador é chamado “nó”) construídos especificamente para os cálculos envolvidos em uma dada simulação/modelagem, ou seja, são máquinas extremamente aplicadas. Embora seja constituído de arquiteturas “comuns”, geralmente é usada tecnologia de ponta. Atualmente quase todo cluster montado é composto por processadores multi-cores, muitos e muitos gigaBytes de memória, rede Gigabit Ethernet e por aí vai. Fora o hardware envolvido, um cluster envolve a utilização de bibliotecas e protocolos de comunicação entre os processadores para utilizar todos os nós da melhor forma possível.

Os grids já incluem uma idéia (bastante interessante, por sinal) um pouco diferente dos clusters. Um grid seria um cluster “heterogêneo”, ou seja, cada nó possui uma arquitetura diferente, e muitas vezes um nó é um computador pessoal instalado no seu escritório, ou seja, os nós não são máquinas dedicadas. Com a evolução da internet, muitos grids têm sido construídos com os computadores de usuários comuns. Um software é instalado em seu computador, e quando ele estiver ocioso, alguns cálculos são realizados nele, sem atrapalhar suas tarefas em sua própria máquina. Um dos grids mais famosos baseado nesta idéia é o FightAIDS@Home, usado para buscar a cura da AIDS, constituído por mais de 170 mil nós.

Dessa forma, os pequenos núcleos de pesquisa e desenvolvimento podem contribuir com os avanços tecnológicos, e quem sabe crescerem até o ponto de realizar cálculos em um supercomputador, ou então desenvolver novas tecnologias de cálculos massivos (como o GP/GPU, FPGA e outros).

Vimos então algumas das alternativas mais usadas para aumentar o poder computacional com baixo custo. Caso algum leitor tenha limitação de recursos computacionais para realização de alguns cálculos desejados, pode usar dos artifícios discutidos acima para minimizar tal fato. Que tal construir um grid com os computadores do seu laboratório/sala? Está aí uma boa chance de entrar de cabeça no mundo da computação de alto desempenho, e de brinde você ganhará tempo no processamento de dados.

  • Share/Bookmark

16 Comentários »

  • Simone Souza disse:

    Olá Weslley e Claudinei

    Adorei o Artigo! Eu não fazia idéia da diferença entre clusters e grids, mas agora deu para entender quais os caminhos explorados pelos usuários da computação de alto desempenho.

    Eu não sabia da existência de grids usados para buscar a cura da AIDS… tentei acessar o link, mas não consegui. Fiquei curiosa…

    Mais uma vez, parabéns!
    Simone Souza

  • Claudinei Caetano de Souza disse:

    Olá Simone,

    Talvez eles estivessem com problemas no servidor no instante em que você tentou acessar, pois neste momento acabei de conferir e está tudo ok!

    Até mais!

  • Felipe S disse:

    Olá Claudinei e Weslley.

    Me agrada ver que que existe um esforço para divulgar a computação de alto desempenho (soube deste texto através do BR-Linux.org).
    Porém, acho que cabe aqui algumas pequenas alterações no texto, para auxiliar a compreensão dos leitores sobre o assunto.
    Eu considero como uma gritante característica do grid (além da possível, não obrigatória, heterogeneidade) é a distribuição geográfica. Enquanto os clusters ficam, normalmente, em uma mesma sala ou prédio, um grid espalha-se através de diversas regiões geográficas (cidades, estados, países e até continentes). Além disso, um cluster tem, normalmente, um único dono (ou administrador), enquanto um grid pode contar com diversas instituições, que utilizam diferentes políticas para acesso, disponibilidade, etc…

    Outra frase que julguei que seria mal interpretada pelo leitor é o uso de computadores pessoais. Os agregados do tipo NOW também podem fazer uso deste tipo de máquina. Entretanto, há uma certa discussão se o uso de máquinas de trabalho ociosas realmente compõe um grid (confesso que não estou atualizado quanto a esta discussão).

    Espero que entenda estas críticas como uma forma de discussão para crescimento mútuo (e não uma ofensa gratuita).

    Parabéns pelo artigo (está bem escrito e acessível) e pela iniciativa.

    Felipe

  • Lauro César disse:

    Claudinei, só uma coreçãozinha:
    Está faltando um “i” no “mas”, onde está escrito “Mas uma vez estamos aqui…”, deveria ser “Mais uma vez…”

    Um abraço.

  • Lauro César disse:

    ihhh…
    Coreçãozinha?!rs

    Correção da correção: eu quis dizer “correçãozinha”

  • Thalles disse:

    Muito bom o artigo! Meus parabéns!

  • Claudinei disse:

    Olá Lauro César!

    Muito obrigado pelas correções!

    Claudinei Caetano de Souza

  • Claudinei disse:

    Bom dia Felipe,

    Achei suas observações super pertinentes e vou discutir com o Weslley para postar algum complemento aqui! E quanto as críticas, acho que é assim que podemos aperfeiçoar e elucidar melhor essas questões. Continue fazendo suas análises e postando aqui!

    Obrigado!

    Claudinei Caetano de Souza

  • Muito legal este artigo.
    Nem todo mundo tem acesso a este tipo de informação, e foi bastante exclarecedora !
    Também não sabia a diferença, e agora estou apar !
    Parabéns….

  • Patola disse:

    Ok, desculpa pela observação um pouco impertinente mas… Cluster não é somente usado para a computação paralela de massa; é também usado em pelo menos outros dois contextos: clusters de alta disponibilidade (High Availability Cluster Multi-Processing – HACMP – da IBM e Veritas Cluster Server, da Veritas, entre outros) e de Load Balancing. Esses dois outros usos constam inclusive do artigo da wikipedia sobre o tema. Sei que cada ramo da computação tenta puxar a sardinha para seu lado, mas deixar de falar dos outros usos de cluster num artigo que visa justamente esclarecer o tema não é uma omissão despropositada?

  • Weslley disse:

    Olá Felipe!

    Concordo plenamente quanto a sua observação da distribuição geográfica de um grid, mas eu não dei muita ênfase nesse ponto porque existem grids onde os nós estão concentrados num mesmo local. Dado este fato, eu quis enfatizar mais o fato da heterogeneidade dos nós.

  • Weslley disse:

    Olá Patola!

    Sim, os clusters não são usados somente em aplicação de processamento massivo e/ou paralelo, é usados em várias aplicações que envolvem multi-usuários, ou então processamento concorrente de diferentes processos. Vejo uma falha minha nesse ponto. Vou prestar mais atenção nesses detalhes.

    Entretanto, chamar isso de “omissão despropositada” é demasiado. Em momento algum eu quis fazer propaganda do meu trabalho ou da minha área de pesquisa (e o objetivo deste site não é este, definitivamente!), e sim transmitir o meu conhecimento sobre o assunto às pessoas interessadas, mesmo que eu não seja uma lenda no assunto. Na minha opinião, o compartilhamento da informação é essencial para uma evolução conjunta.

  • Uau! Fico até baratinado com tanta informação. Preciso instalar uns grids e uns clusters no meu cérebro, rs.

  • Claudinei disse:

    Que isso Renato, seu cerébro já é um supercomputador! (risos)

  • Clecio disse:

    artigo muito legal, fácil de entender….Parabens

  • [...] Software livre para rastrear laptops 02- História: Semicondutor a partir de 1900 03- Simulações Computacionais: Grid? Cluster? Não são a mesma coisa? 04- Google anuncia os vencedores do desafio de desenvolvedores Android 05- Simulação [...]

RSS feed for comments on this post. TrackBack URL


Leave a Reply

Template: TheBuckmaker.com Website Templates | Kostenloses Konto, PHP Scriptarchive

No TecnoSapiens você encontra artigos sobre:

adeona apple Backup bloomberg brasileiro broffice cabos submarinos calendário computador CUDA eficiência expandir gmail google google chrome guerra dos browsers hacker História home-office instalar laptop Latex Linux localização mecanismos de busca microsoft mpi navegadores obituario openmpi openoffice orkut pdf produtividade programação paralela rastrear redes sociais Semicondutores simulação computacional Software livre steve jobs tecnologia transistor Ubuntu windows