Logotipo do Site Inovação Tecnológica





Informática

Não tão rápido, supercomputadores, afirmam programadores

Baseado em artigo de Steve Tally - Purdue University - 30/07/2007

Não tão rápido  supercomputadores  afirmam programadores

Os supercomputadores aumentam de velocidade de forma estonteante e já possuem até ranking mundial. O mesmo parece estar acontecendo com os computadores menores, até mesmo com os domésticos, graças à utilização dos processadores de múltiplos núcleos e da ligação de PCs em clusters.

Programação paralela

Agora, um pesquisador da Universidade Purdue, Estados Unidos, afirma que de nada adianta esse poder computacional gigantesco, inimaginável há poucos anos, simplesmente porque o hardware se colocou muito à frente da capacidade dos programadores em fazer programas que os possam utilizar de forma eficiente.

Faisal Saied afirma que a programação paralela tem sido uma habilidade quase esotérica, limitada a pesquisadores que lidam diretamente com supercomputadores. "Especialistas em computação de alto desempenho aprenderam a lidar com isso, mas eles são uma fração dos programadores. No futuro você não vai conseguir comprar um computador que não seja 'multicore' e, à medida em que os chips 'multicore' se disseminarem, todos os programadores terão que aprender novas técnicas," diz ele.

O Dr. Saied parece até ser um pouco otimista. O fato é que há muitos supercomputadores na iniciativa privada e nenhuma empresa costuma jogar fora seus antigos programas. Apenas uma parte do código usado nessas empresas é paralelo, já que todos os programas antigos são seqüenciais.

O resultado é que os chips "multicore", embora sejam o sonho do poder ilimitado de processamento, estão se tornando o pesadelo da programação.

Computadores "multicore"

Computadores "multicore" - ou multinúcleo - têm mais do que uma CPU em cada chip. São verdadeiros PCs individuais, mas trabalhando juntos. O problema é explorar essa capacidade de trabalhar em conjunto, criando programas que dividam as tarefas entre os diversos núcleos.

"Imagine você ter quatro bolas de golfe e precisar atingir quatro buracos. Se você tem quatro pessoas atirando as bolas ao mesmo tempo, você poderá fazer isto mais rapidamente do que se contar com uma pessoa só. Esta é a vantagem da computação de múltiplos núcleos. Múltiplos PCs, todos no interior do mesmo chip, estão trabalhando em múltiplas tarefas. A dificuldade é quebrar a tarefa em múltiplos componentes," diz Saied.

Hiato da Lei de Moore

A criação de microprocessadores com múltiplos núcleos virou uma tendência quando a indústria percebeu que o aumento da freqüência de processamento - o "clock" - estava criando mais problemas do que resolvendo - principalmente problemas de superaquecimento dos chips.

O superaquecimento dos chips até criou o chamado "Hiato da Lei de Moore": embora a quantidade de transistores no interior dos chips continue crescendo como a Lei de Moore prevê - dobrando a cada 18 meses - o fato é que a velocidade de processamento não tem crescido nessa velocidade. Na verdade, em termos de chips individuais, de um núcleo apenas, ela tem se mantido estacionária há bastante tempo.

E, se não forem criados programas que utilizem os recursos da computação paralela, o desperdício de energia continuará. Isso acontece porque os transistores consomem energia mesmo quando não estão fazendo nada. Programas seqüenciais, rodando em processadores de múltiplos núcleos, nada mais estarão fazendo do que deixando transistores ociosos - desperdiçando energia e capacidade de processamento. Ou seja, a capacidade de processamento cresceu, mas não é utilizada.

Linguagens de programação paralela

E tudo indica que esse poder de processamento continuará crescendo. Os fabricantes de chips Intel, AMD, IBM e Sun todas anunciaram que vão produzir chips "multicore". Em Fevereiro deste ano a Intel anunciou detalhes de um chip com 80 núcleos - 80 PCs dentro de um único chip - capaz de fazer cálculos que há 10 anos atrás exigiam computadores que ocupavam salas inteiras.

Até mesmo as linguagens de programação estão sendo questionadas. Steve Kirsch, especialista em supercomputadores, afirma que novas linguagens são essenciais. "Hoje nós programamos em linguagens seqüenciais. Iremos precisar de expressar nossos algoritmos em um nível mais alto de abstração? Pesquisas nesta área são críticas para nosso sucesso," diz ele.

Seguir Site Inovação Tecnológica no Google Notícias





Outras notícias sobre:
  • Software e Programação
  • Supercomputadores
  • Computadores
  • Computação Quântica

Mais tópicos