A história dos computadores digitais, desde que eles foram inventados na década dos 40s, é uma incessante corrida em direção a velocidades cada vez maiores de processamento. Certamente os inventores do ENIAC, o primeiro computador eletrônico do mundo, não foram capazes de imaginar, em 1947 (o ano em que eu nasci), que um computador pudesse atingir a espantosa velocidade de um teraFLOPS.
E o que é um teraFLOPS ?
Explicando melhor: existem várias maneiras de se medir a velocidade de processamento de um computador. A mais conhecida, que não tem muito sentido usar para computadores científicos, é a famosa "mipagem", ou seja quantos MIPS, ou milhões de instruções por segundo, um computador é capaz de executar. Uma instrução é um comando simples da linguagem de máquina, os códigos binários que constituem a forma mais primitiva de programação de um processador digital. Não tem muito sentido usar o MIPS atualmente, pois existem instruções simples e complexas, algumas tomando um ciclo de máquina (uma "batida" do relógio interno do processador, que marca o passo, ou cadência, de execução das operações), outras tomando muitos ciclos.
Assim, como o objetivo do computador é essencialmente processar números reais, adotou-se mais recentemente uma medida denominada FLOPS, que significa, em inglês, floating operations per second, ou operações em ponto flutuante por segundo. Antes que os leitores menos inclinados tecnicamente me abandonem neste ponto, volto a explicar em língua de gente: operação em ponto flutuante é uma operação matemática elementar, como soma ou subtração, etc., entre dois números fracionários quaisquer. Por exemplo, os primeiros supercomputadores, na década dos 70s, executavam cerca de 150 MFLOPS (e custavam 10 ou 12 milhões de dólares). Hoje em dia, um mero microcomputador Pentium 200 é cerca de 30 % mais rápido do que isso, custando 3 mil vezes menos !
Para poder comparar os computadores entre si, os especialistas inventaram uma série de testes computacionais, que são chamados de "benchmark" (teste de bancada). Alguns são simples, como somar vários números em seqüência, outros são bastante complexos, matematicamente. O desempenho do computador é avaliado na forma de uma média de todos os testes. Assim, mesmo que o desempenho de pico (máximo) de um computador seja, por exemplo, de um GFLOPS (um bilhão de operações por segundo), ele dificilmente obterá essa média ao final do benchmark.
Pois bem, o alvo aparentemente impossível dos construtores de computadores nos últimos dez anos tem sido um trilhão de operações por segundo, ou o famoso teraFLOPS do título deste artigo. Essa é uma velocidade realmente brutal. Basta o leitor imaginar, que, no tempo que demora para executar uma operação à esta velocidade, um raio de luz atravessa apenas 0,36 milímetros !! É algo inimaginável, do ponto de vista da engenharia, mas já é uma realidade. Os primeiros supercomputadores com capacidade de um ou mais teraFLOPS já estão saindo das fábricas, segundo notícias desta semana na Internet.
O segredo de como os engenheiros de computação chegaram a este limite aparentemente impossível (e. que, certamente, será multiplicado por centenas ou milhares de vezes nas próximas décadas) é simples: é a chamada computação paralela. Ao invés de tentar fazer um único processador, que faz uma operação de cada vez, atingir essa velocidade (o que é fisicamente impossível, pois os circuitos eletrônicos, por mais miniaturizados que sejam, têm um limite físico de tamanho, imposto pela sua própria estrutura molecular), constrói-se um computador formado de milhares ou dezenas de milhares de Pentiums em paralelo, operando simultaneamente. Assim, uma tarefa computacional complexa, é quebrada em milhões de pedacinhos, que são resolvidos pelos computadores em paralelo, e a velocidade média de resolução do benchmark aproxima-se do teraFLOPS. A coisa é estranha: se você der para esse computador apenas uma simples soma de dois números para ele fazer, a conta será feita em "apenas" um sobre 200 milhões de avos de segundo. Mas, se você der um problema contendo um trilhão de contas, e que pode ser dividido na forma de uma conta para cada um dos computadores em paralelo, ele resolverá o problema à velocidade média de um teraFLOPS...
Quem tem uso para um computador tão bestialmente rápido ? É um mercado restrito, mas em plena expansão. Simulações numéricas complicadas, como por exemplo, o fluxo aerodinâmico de um novo avião da Boeing, exigem essa capacidade de processamento. O progresso científico moderno seria inimaginável sem os supercomputadores. E, como era difícil imaginar, no passado, que um microcomputador chegasse a exibir velocidades de 100 ou 200 MFLOPS, custando pouco, pode ser perfeitamente possível que os PCs do futuro cheguem a ter um TFLOPS.
Sem dúvida, é um espetacular feito tecnológico executar um trilhão de operações matemáticas por segundo (um teraFLOPS). Para se ter uma idéia do que isso significa em termos de velocidade, se cada homem, mulher e criança dos EUA trabalhassem ininterruptamente com calculadoras de bolso, demoraria cerca de 125 anos para fazer os cálculos que este computador faz em um segundo !
O computador ainda não está a venda, mas está sendo construído por encomenda do Departamento de Energia dos EUA, pela empresa Intel, a maior fabricante de chips microprocessadores do mundo (486, Pentium, etc.), em sua fábrica de Beaverton. No primeiro semestre de 1997, ele será instalado no Laboratório Nacional Sandia, no Novo México, onde se desenvolve e se testa as armas nucleares do futuro. A velocidade máxia de 1,06 trilhõs de operações por segundo foi conseguida com uma máquina incompleta, pois espera-se um desempenho de cerca de 1,6 teraFLOPS quando ela estiver pronta.
O computador da Intel tem uma arquitetura denominada super-paralela, pois realiza os cálculos com um conjunto de 9.260 processadores Pentium em paralelo. A máquina que bateu o novo recorde de velocidade (o anterior é de uma máquina Fujtsu, japonesa, que atingiu 368 gigaFLOPS), tem dois terços da configuração final, ou seja, "apenas" 7264 Pentiums. O recorde foi batido exatamente 25 anos depois que a Intel lançou o primeiro microprocessador do mundo, o 8008, que tinha a velocidade de apenas 60 mil operações por segundo. Um único chip Pentium 200 (o mais moderno da linha da Intel) atinge velocidades de quase 200 megaFLOPS.
Como se pode imaginar, o novo computador não é nada pequeno. Segundo o que a Intel divulgou, ocupa 86 armários, em 150 metros quadrados, pesa 44 toneladas e tem 3,5 km de cabos de interconexão. Além dos 9260 processadores Pentium Pro 200, o sistema tem 573 gigabytes de memória e 2,25 terabytes de espaço em disco. Seu consumo de energia é de 850 kW, o que exige um aparelho de ar condicionado que pesa 300 toneladas !
O desenvolvimento de supercomputadores é essencial para o progresso científico e tecnológico de uma nação moderna. Os maiores fabricantes de supercomputadores no mundo são os EUA (com 80 % da produção mundial) e o Japão. O Brasil, apesar dos esforços valorosos de alguns grupos, como o do Laboratório de Sistemas Integráveis da Escola Politécnica da USP, chefiado pelo Prof. Zuffo, ainda não tem uma indústria neste segmento, e se contenta em comprar supercomputadores americanos (mesmo assim, existem pouquíssimos por aqui, contrastando com o ranking de nossa economia).
Os supercomputadores estão sendo utilizados no que se convencionou chamar de "Os Grandes Desafios da Ciência", tais como hidrodinâmica aplicada, projeto de aviões, modelagem global do ambiente, simulações de ecosistemas, previsões metereológicas, processamento de imagens médicas digitais, biomecânica, biologia molecular, projeto de novas moléculas e medicamentos e otimização de processos em larga escala. O novo computador da Intel faz parte de uma iniciativa tecnológica do Ministério de Energia do governo americano, que desde o projeto Manhattan controla a fabricação e teste de bombas nucleares. Essa iniciativa, chamada Accelerated Strategic Computing Initiative (ASCI) desenvolverá tecnologias de simulação computacional da explosão de armas nucleares, que vão possibilitar o progresso nessa área, sem a necessidade de testes subterrâneos reais.
É lamentável que um progresso tão importante tenha sido conseguido com dinheiro destinado ao desenvolvimento de armas de genocídio e de aniquilação, em uma época em que o espectro da guerra nuclear total foi afastado com o fim da Guerra Fria. Mas, infelizmente, o progresso da tecnologia tem sido assim desde os primórdios da civilização. Boa parte da tecnologia de microcomputadores foi desenvolvida para projetos militares, e o próprio ENIAC, o primeiro computador eletrônico do mundo, foi montado com dinheiro do Exército Americano, com a finalidade de calcular tabelas de artilharia naval (mais tarde foi usado para fazer os cálculos da primeira bomba de hidrogênio, detonada em 1952, no atol de Eniwetok, no Pacífico Sul, e que deu origem à corrida armamentista nuclear).
Publicado em: Jornal Correio Popular, Campinas,.
Autor: Email: sabbatin@nib.unicamp.br