ZTOP

Zen e a arte de programar dezenas de núcleos

Pré-IDF San Francisco 2007: Boa parte do dia da imprensa com o grupo de Pesquisa e Desenvolvimento da Intel foi dedicada ao desafio de como criar programas tirando o máximo proveitos dos chips com mais de um núcleo, onde a lógica não é mais tão linear e sim paralela.

Para isso, a Intel desenvolveu uma estratégia que envolve os três aspectos da programação paralela, ou seja, o ensino de novas técnicas, o suporte í  programação e a pesquisas de novas ferramentas, compiladores e linguagens.

O ensino está sendo suprido pelo chamado Intel Software College, que incentiva e apóia cursos de programação paralela nas faculdades e hoje atende mais de 280 universidades, podendo chegar a 400 no final do ano.

O suporte í  programação segue o esquema tradicional da empresa, que oferece uma boa variedade de compiladores, ferramentas de programação e de ajuste fino para maximizar seu desempenho. A grande novidade dessa í rea foi o anúncio da versão 2.0 do TBB (Intel threading building blocks) for Open Source. O site threadingbuildingblocks.org é dedicado ao suporte de programação em C++ para a comunidade de software livre. Outro site que entrou no ar desde o iní­cio dessa semana é o Whatif.intel.com, ponto de encontro onde os programadores podem ter contato e trocar informações com os engenheiros da Intel.

O brinde de lançamento do site é a disponibilidade de uma versão preliminar de um compilador C++ com suporte a uma tecnologia que a Intel chama de STM (Software Transactional Memory), um método para lidar com processos concorrentes em sistemas multi-threaded. Todo esse esforço é para facilitar a vida do programador.

Tive a oportunidade de falar sobre isso com Jerry Bautista, diretor de gerenciamento de tecnologia e um dos pais do teraflop processor. Segundo Bautista, a interação de hardware e software nessa nova realidade de múltiplos núcleos está sendo um processo de desenvolvimento contí­nuo que acompanha o próprio desenvolvimento dos chips multicore, que começou com apenas dois núcleos e agora caminha para dezenas deles.

Bautista afirmou que o esforço de seu grupo é para que não existam diferenças fundamentais entre programar para dois ou dezenas de núcleos — ou até mais. Sob esse ponto de vista, ele acredita que a Intel está se dando melhor que, por exemplo, a IBM/Sony com seu processador Cell Broadband Engine (usado no Playstation 3), que exige um enorme esforço de programação para tirar proveito de todos os oito núcleos.

Quando perguntei se a Intel chegou a considerar a possibilidade de lançar um chip com vários núcleos logo de cara, Jerry me disse que sim, mas preferiram um caminho mais seguro, que seria a criação e o domí­nio da tecnologia de um chip dual core para depois pensar em mais núcleos. Pelo visto, seu trabalho vai bem, obrigado.

Desde o século passado Mario Nagano analisa produtos e já escreveu sobre hardware e tecnologia para veículos como PC Magazine, IDGNow!, Veja e PC World. Em 2007 ele fundou o Zumo junto com o Henrique assumindo o cargo de Segundo em Comando, Editor de Testes e Consigliere.