Da New Scientist - 21/12/2010
Agendar revolução
Depois de décadas de crescimento vertiginoso, o aumento no desempenho dos computadores está prestes a sofrer um travamento.
A única forma de evitar essa parada brusca em um ritmo de avanços tido pela maioria das pessoas como algo certo está em um conjunto de mudanças revolucionárias no desenvolvimento dos programas e no projeto dos processadores.
Esta dura advertência está nas conclusões de um novo relatório elaborado pelo Conselho Nacional de Pesquisas dos EUA, intitulado O Futuro do Desempenho da Computação: Fim do Jogo ou Próximo Nível?
A notícia não poderia ser pior em uma época de crise e incerteza econômica, uma vez que a predição afeta uma indústria com um faturamento na casa do trilhão de dólares, e que já se tornou um elemento dinâmico do crescimento econômico mundial.
Inventar novos transistores
Os microprocessadores aumentaram de velocidade por um fator de 10.000 durante os anos 1980 e 1990. Mas dois obstáculos podem fazer com que o poder de processamento bata de frente com um muro na próxima década.
Conforme os transistores se tornaram cada vez menores e mais densamente empacotados dentro dos chips, a velocidade dos processadores se estabilizou. Eles atingiram a casa dos 3 gigahertz em 2005, e ficaram aí desde então. Isto ocorre porque chips com clocks maiores geram calor demais.
Esse patamar na velocidade de clock ameaça acabar com a tendência que chamamos de Lei de Moore - a duplicação do número de transistores em um chip a cada dois anos.
Para tentar sair desse planalto sem graça, e voltar a escalar novos picos de processamento, os fabricantes começaram a fabricar processadores com vários núcleos.
Mas o relatório adverte que processadores multicore não são o bastante para salvar a Lei de Moore: a eficiência energética dos transistores atuais não pode ser melhorada muito mais, e o desempenho "irá se tornar limitado pelo consumo de energia dentro de uma década".
E, para isso, só há uma saída, segundo o documento: inventar uma nova arquitetura para os transistores, ou seja, usar transistores melhores, que ainda não foram inventados.
Programas paralelos
E os processadores multicore também revelam que o outro calcanhar desse Aquiles computacional também é deficiente: os programas de computador ainda são feitos segundo o paradigma anterior, em que as tarefas eram executadas sequencialmente.
Para que supercomputadores e minicomputadores com processadores de múltiplos núcleos funcionem bem, é necessário projetar os softwares para que eles sejam capazes de executar as tarefas de forma paralela.
Isso parece soar mais promissor, já que a programação paralela, ao contrário de uma nova arquitetura de transistores, já foi inventada.
"A computação paralela oferece um caminho claro rumo ao futuro" para sustentar o crescimento na velocidade dos computadores, afirmou Samuel Fuller, que coordenou a elaboração do relatório.
Alguns processamentos científicos já trabalham bem em paralelo, como os simuladores, seja na previsão do clima ou de grandes explosões de supernovas.
Até mesmo o Google já desenvolveu um conjunto de ferramentas de programação paralela, chamada MapReduce, para processar as grandes massas de dados coletadas pelo seu rastreador, que indexa a internet.
Mas o relatório adverte que a conversão da grande maioria dos softwares, escritos para serem executados sequencialmente, em aplicações paralelas, "será extremamente difícil".
Isso exigirá novos processos de engenharia de software e novas ferramentas. E os programadores terão de passar por uma reciclagem completa para serem capazes de usá-los.