Artigo Java Magazine 59 - Quick Update: A Crise dos Threads
Artigo da Revista Java Magazine Edição 59.
Clique aqui para ler esse artigo em PDF.
Quick Update: A Crise dos Threads
Paralelizar ou não paralelizar... Há escolha? E como?
Muitos estão insatisfeitos com a guinada da indústria em direção às arquiteturas multi-core, exigindo processamento concorrente. Precisamos de melhores ferramentas, e elas estão vindo
Na Edição 31 (“Novas Fronteiras na Evolução do Java”), escrevi: “a escalada dos Gigahertz está nos últimos suspiros. Acabou a facilidade de tornar suas aplicações duas vezes mais rápidas a cada 18 meses, simplesmente instalando uma CPU com freqüência duas vezes maior. Será preciso instalar um número maior de CPUs para continuar ganhando desempenho”. Na época em que escrevi esse texto, CPUs dual-core eram novidade. Hoje temos laptops dual-core de baixo custo, desktops quad-core acessíveis, e no high-end, servidores comerciais disponibilizando até 768 núcleos num único sistema[1]. Em vários artigos falando do assunto, tenho advertido ao leitor da importância desse assunto – e agora o faço de forma mais explícita: fique logo “fera” em concorrência, pois logo isso será tão importante quanto algoritmos, estruturas de dados, OO...
Mas, alto lá! Esse já é um discurso antigo. Mais de três anos já se passaram, desde que Herb Sutter nos avisou que “The Free Lunch is Over”[2]. E agora? O que aconteceu? O que mudou? Como estão as ferramentas, linguagens, desenvolvedores? Vamos fazer um estado da arte da questão do paralelismo no desenvolvimento de software.
Os descontentes
O fato que me motivou a escrever este artigo foi ver um número crescente de artigos, blogs e discussões “do contra”. Nem todo mundo está satisfeito com a necessidade de empregar paralelismo em toda parte. E não me refiro apenas a programadores iniciantes, preguiçosos, ou pouco talentosos.
Veja, por exemplo, o guru da programação Donald Knuth, reclamando do seu “desgosto” com a tendência para arquiteturas multicore: “Me parece que os designers de hardware esgotaram suas idéias, e estão tentando passar o abacaxi para os programadores dando-nos máquinas que só são mais rápidas para uns poucos benchmarks! Eu não ficaria surpreso se toda a idéia de multithreading acabe se revelando um fiasco, pior que o do Itanium. (...) Nos últimos 50 anos eu escrevi mais de mil programas, muitos dos quais com tamanho considerável. Não consigo pensar sequer em cinco desses programas que se beneficiariam muito de paralelismo." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo