Rodrigo Kumpera Weblog

Meus achados sobre tecnologia

Tem gente que ainda acha que programação paralela é facil

March 30th, 2007 · No Comments

Parece que o memory leak existente no util.concurrent tem atrapalhado bastante gente: aqui e aqui. Segundo o bug report, a Sun levou um belo tempo para corrigir parcialmente o problema e só pro Java6. Quem precisa de prova maior que programação com shared memory é uma empreitada fracassada?

Programação paralela com shared memory é muito dificil, vide a evidencia dada, e a enorme maioria dos desenvolvedores não consegue usar, quem dirá direito. Todo programa construído dessa forma tem no mínimo um race condition desastroso – escondido atras de outro um pouco menos. Não vejo como resolver isso sem mudar fundamentalmente o paradigma utilizado.

Quem acompanha este blog já imagina qual solução proponho – troca assíncrona de mensagens entre processos leves. Esse modelo é usado pela comunidade Erlang a mais de uma década com enorme sucesso. Se trata de um modelo simples, facíl de testar e depurar, concentra todo trabalho dificil em um único lugar – o runtime.

Está na hora desse problema ser resolvido, pois em questão de poucos anos nem mesmo nossas aplicações server-side estarão a salvo. Hoje todo AS atende a mais requisições simultâneas que o número de contextos do hardware, mas amanha com servidores suportando dúzias de cores com centenas de threads via SMT, isso deixa de ser a regra. Nesse ponto, seremos obrigados a paralelizar o processamento individual de cada requisição, coisa hoje que poucos estão aptos a fazer.

Tags: Programming

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment