Início > Computer Science, Computers, cs, IT, Physics, Science > Computação Científica e de Alta Performance…

Computação Científica e de Alta Performance…

terça-feira, 25 nov 2008; \48\UTC\UTC\k 48 Deixe um comentário Go to comments

O termo Computação de Alta Performance (HPC na sigla em Inglês) é usado para designar um determinado tipo particular de hardware, usado para atacar problemas que demandam o máximo da máquina, como “Teorias Quânticas de Campos na Rede“, “Enovelamento de Proteínas“, “Paleoclimatologia“, etc.

Um dos primeiros “galhos” dessa árvore da HPC foi a chamada “computação voluntária“, onde um usuário comum pode doar os ciclos inativos do seu computador para cálculos científicos, e.g.:

Tecnicamente falando, o nome dessa técnica é Computação em Gride — e, atualmente, no melhor espírito da Web2.0, fala-se também em termos de Computação na Nuvem.

O resumão dessa história começa há tempos atrás, enquanto as CPUs ainda eram oficialmente divididas em 2 tipos:

E, dentre esses 2 tipos, há mais algumas subdivisões:

Isso determina, essencialmente, o tipo de CPU que vc tem… aí é hora de falar em paralelização…😉

Ou seja, a coisa fica bem complicada bem rápido… e, como se pode esperar, navegar nessas águas não é fácil… (Apesar de que o Sam Fulcomer ganhou o prêmio de ‘Ultimate HPC Geek’ desse ano!)

Historicamente falando, os problemas mais complicados sempre eram atacados com hardware que, essencialmente, era construído para o problema em questão (vários dos Cray foram construídos para o cálculo de Campos Quânticos na Rede, ditto para os BlueGene da IBM, etc)… porém, com a descoberta dos Clusters Beowulf, essa arte de se construir “supercomputadores” acabou sendo posta de lado, em favor da massificação desse tipo de clusters — aliás, numa palestra na Brown, ParalleX: A New Execution Model for Sustainable HPC Design, o Thomas Sterling (um dos inventores dos Beowulf) disse claramente que se arrependia de tê-lo feito, uma vez que aquilo que era pra ser apenas uma alternativa barata, passou a virar o foco central e, essencialmente, acabou com o desenvolvimento e pesquisa na área de supercomputação!

Um dos últimos CPUs a serem desnvolvidos ainda nesse aspecto, foi o MULTIFLOW, do qual participaram ativamente Gerry Guralnik e Jim O’Dell — o Jim, aliás, foi um dos primeiros desenvolvedores do Macsyma, no Project MAC do MIT, o precurssor dos CAS modernos.

Por isso, foi muito bom ter visto as notícia abaixo:

O primeiro deles fala do Jaguar, o primeiro computador a quebrar a barreira dos PetaFLOPS! Enquanto que o segundo artigo fala do NVIDIA Tesla, que é um supercomputador pessoal, com até 960 cores!

É inacreditável, mas depois que os clusters tomaram conta do mercado de HPC (como bem disse o Thomas, acima), a única atividade que ainda demandava uma quantidade de processamento tamanha que necessitava de processadores vetoriais era a dos gráficos dos jogos de vídeo-game! E, como era de se esperar, o crescimento e avanço desse setor impulsionou o desenvolvimento de HPC que já estava estagnado em clusters há anos. Então, do mesmo modo que a indústria pornográfica impulsionou a demanda por banda-larga e possibilitou que a Internet chegasse até cada um de nós, em nossas casas; a indústria de vídeo-games propulsionou o desenvolvimento de HPC dum modo completamente inesperado.🙂

A lição a ser aprendida é que não adianta, alguns problemas só podem ser atacados com investimento em pesquisa básica e fundamental… não dá pra querer baratear tudo, sucateando tecnologia de ponta no processo.😉

É isso aí: diversão garantida para o feriado!😈

[]’s.

  1. terça-feira, 25 nov 2008; \48\UTC\UTC\k 48 às 14:07:34 EST

    Hmmm… Descobriram que um bando de macaquinhos com lanças era capaz de vencer um poderoso mamute?… (Não sei por que, mas eu acho que já vi essa história antes…😉 )

  2. terça-feira, 25 nov 2008; \48\UTC\UTC\k 48 às 15:10:23 EST

    João,

    De fato, é verdade… essencialmente, esse é o paradigma por detrás dos clusters [Beowulf].

    Porém, infelizmente, o mundo não é tão “simples” assim… e, no final das contas, existem tarefas que só “poderosos mamutes” conseguem fazer.😛

    Claro, tudo depende do problema a ser tratado e do método para melhor atacar o danado… mas, o que não pode se justificar, é vc simplesmente parar toda uma linha importante de pesquisa básica por causa duma descoberta que parece ser “promissora”.

    Essa é uma questão que, vou dizer, é complicada de se digerir… em Física Básica menos do que em Engenharia Elétrica ou Ciência da Computação… mas, mesmo assim… [foges de mim😉 ]

    []’s!

  3. etbarros
    terça-feira, 25 nov 2008; \48\UTC\UTC\k 48 às 19:05:20 EST

    Excelente post, Daniel. Queria colocar uma questão: Nessa história onde entra a “Connection Machine” do Daniel Hillis, que contou inclusive com a colaboração do Feynman?
    Alguns links:
    http://en.wikipedia.org/wiki/Danny_Hillis
    http://en.wikipedia.org/wiki/Connection_Machine
    http://www.longnow.org/views/essays/articles/ArtFeynman.php

    []’s

  4. terça-feira, 25 nov 2008; \48\UTC\UTC\k 48 às 19:30:22 EST

    No caso o “mamute” era o problema, não o supercomputador. Mas não existe um probleminha de curva de sino no negócio também?… Senão, o passo lógico seguinte seria construir uma “cluster” de Crays.

    Ou eu me perdi em algum filp/flop?…😉

  5. quarta-feira, 26 nov 2008; \48\UTC\UTC\k 48 às 10:29:17 EST

    ETBarros: A “Connection Machine“, que ficou conhecida como “Thinking Machine“, se esmeirou em processamento massivamente paralelo… na mesma direção do Cray. Em 1994 ela foi à falência e as divisões de “hardware” e “software de computação paralela” foram compradas pela Sun — o que formou a base para a entrada da Sun em HPC.

    João: Pô, tô tão gasto que não tô entendendo nem as piadas mais… que cazzo!😦

    Agora, já construiram clusters de Crays: X1! E, realmente, a coisa funciona bala… estava entre os “mais-mais” da top500 até pouco tempo atrás. Atualmente, a companhia tem focado mais em soluções como o CX1.

    Ou seja, estão apenas repetindo o ciclo que já foi feito há uns 40 anos atrás: quando havia apenas um “computador/mainframe”, o primeiro passo foi se conectar um bando de “terminais” (chamados “terminal burro“, ‘dumb terminal’) ao danado. Depois disso, com o aumento do poder de processamento, a idéia dum “elefante branco com vários tentáculos” foi deixada de lado e cada um passou a ter seu “Desktop/Workstation” em cima da mesa… e o conceito de “server/workstation” foi criado. Atualmente, depois da criação dos clusters [Beowulf] e da recente re-descoberta dos processadores vetoriais (Cell, POWER6), o caminho ficou óbvio: voltou-se às origens,❗ , mas, agora, usando clusters como “mainframes” e “thick clients” como “terminais”.

    Assim, fica absolutamente claro de ver o que está acontecendo: a tal “Web2.0” nada mais é do que a “evolução” dos conceitos UNIX para o patamar da Internet, i.e., ao invés de se lidar com redes locais (LAN) e afins, está se lidando com uma “rede global” (a Internet: a maior WAN de todas😎 ) e, nesse sentido, a tal “cloud computing” (computação nas nuvens) nada mais é do que esse paradigma de “clusters/thick clients” que eu descrevi acima, onde “clusters” são os aplicativos/companhias como Google, Amazon, Yahoo, e “thick clients” são os computadores caseiros, que se conectam aos servidores dessas companhias para rodarem os aplicativos [Web2.0] desejados.😉

    Esse é o poder duma idéia: Os conceitos fundamentais e básicos que sempre estiveram presentes no UNIX, agora estão simplesmente sendo aplicados num contexto mais abrangente… e, mais uma vez, mostrando o quão robustos esses conceitos são! Esse é o valor prático, tecnológico, de pesquisa básica e fundamental!😛

    []’s.

  6. quarta-feira, 26 nov 2008; \48\UTC\UTC\k 48 às 10:39:45 EST

    Só pra fazer um “PS” a mim mesmo: esses processadores POWER6 (e os da próxima geração, POWER7) são tão poderosos que a IBM decidiu simplesmente substituir completamente a linha de servidores deles: não se roda mais nenhuma outra arquitetura ou processador que não seja POWER6, todos os novos seridores IBM são P6 — o que eles fazem é usar amplamente a virtualização [de plataformas]!

    Ou seja, mais um nível de “recursividade” a imagem que eu já pintei acima: vc passa a construir clusters de um único processador (no caso, P6 ou P7) e usa virtualização pra emular o sistema operacional que bem quiser! E, a partir daí, cada ‘máquina virtual’ é um servidor completamente independente.

    Ou seja, como eu disse, estamos caminhando para o paradigma original, de se ter um “mainframe” num “CPD“… mas, agora, numa versão “reloaded“: o “mainframe” é um cluster onde vc têm várias máquinas virtuais sendo seus servidores, aos quais se conectam vários “thick clients”, que são os Desktops dos seus usuários.

    Libertaram o “computador”, na forma de “micro-computador” que se pode ter em casa, um eletrodoméstico, apenas pra poder voltar ao passado!😉

    []’s.

  7. Gabriela
    quarta-feira, 13 mar 2013; \11\UTC\UTC\k 11 às 20:17:00 EST

    Ola gostaria de fazer iniciação cientifica em computação de alta perfomance. Alguem poderia me dizer a linha de estudo que tenho q seguir e livros para ja ir estudando… sou leiga no assunto mas pretendo me aprimorar.
    Desde já, grata.

    • sábado, 16 mar 2013; \11\UTC\UTC\k 11 às 10:19:03 EST

      Oi Gabriela,

      Eu não sei qual seria o melhor caminho nessa situação, assumindo que vc esteja se referindo à computação de alta performance do ponto-de-vista da Ciência da Computação. Mas eu acho que vc poderia se informar melhor com o pessoal que trabalha com “Computer Graphics” na Ciência da Computação: dado a proximidade com o desenvolvimento de jogos, eu acho que vc pode obter informações mais precisas.

      Do ponto-de-vista da Computação Científica, a situação é um pouco diferente: campos como “Lattice Field Theory” (ou “Lattice QCD”), Relatividade Numérica, Dinâmica de Fluídos, Turbulência, etc, são os que mais canonicamente tendem a se valer de poder computacional e numérico. Então, se vc escolher alguma dessas áreas, vc certamente vai acabar se deparando com a necessidade de altas performances computacionais. Portanto, conversar com pesquisadores nessas áreas pode ser uma boa opção pra vc começar a procurar o que gosta.

      Espero que isso ajude.

  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: