nucleos.Fazer programas capazes disso e uma tarefa dificil, e essa dificuldade so aumenta conforme aumenta o numero de nucleos.Muitos especialistas defenderam que, para aproveitar a geracao multicore seria necessario reinventar a computacao, incluindo reescrever as linguagens de programacao e os sistemas operacionais para permitir tirar proveito dos multiplos nucleos em um unico processador.Linux multicoreMas um grupo de pesquisadores do MIT, nos Estados Unidos, acaba de demonstrar que pode nao ser necessario tal revolucao, pelo menos a curto prazo.Especificamente no caso do sistema operacional Linux, os pesquisadores demonstraram que a arquitetura de software atual podera sobreviver muito bem a um aumento crescente de nucleos dentro de um mesmo processador - pelo menos ate 48 nucleos por processador.Para ter uma nocao de como o Linux podera rodar nos chips do futuro, os pesquisadores do MIT desenvolveram um sistema no qual oito processadores de seis nucleos simulam o funcionamento e o desempenho de um processador de 48 nucleos.Usando esta plataforma, eles testaram uma bateria de aplicativos e testes de benchmarking que demandam fortemente o sistema operacional.Em seguida, eles foram ativando os 48 nucleos, um por um, e observaram as consequencias sobre o funcionamento do sistema operacional e sobre o seu desempenho.Gargalo no contadorNum determinado ponto, a adicao de mais nucleos comecou a tornar o sistema operacional mais lento.Mas, segundo os pesquisadores, o problema teve uma explicacao surpreendentemente simples e pode ser resolvido igualmente sem complicacoes.Em um sistema multicore, os multiplos nucleos muitas vezes executam calculos que envolvem os mesmos dados. Enquanto os dados sao necessarios para algum nucleo, eles nao podem ser apagados da memoria. Assim, quando um nucleo comeca a trabalhar com os dados, ele incrementa um contador central; quando ele termina a sua tarefa, ele decrementa o contador.O contador, portanto, mantem uma contagem do numero total de nucleos usando os dados. Quando a contagem chega a zero, o sistema operacional fica sabendo que pode apagar os dados, liberando memoria para outros processos.Conforme aumenta o numero de nucleos, contudo, tarefas que dependem dos mesmos dados sao divididas em pedacos cada vez menores. Os pesquisadores do MIT descobriram que, a partir dai, os nucleos comecam a gastar tempo demais incrementando e decrementando o contador e acabam tendo menos tempo para realizar seu trabalho.Depois de fazer uma alteracao simples no codigo do Linux, para que cada nucleo mantivesse um contador local, que apenas ocasionalmente era sincronizado com o contador dos outros nucleos, o desempenho geral do sistema melhorou muito, e o acrescimo de nucleos voltou a melhorar o rendimento total do sistema.Evolucao em lugar de revolucaoNo futuro, se o numero de nucleos em um processador for "significativamente maior do que 48", novas arquiteturas e sistemas operacionais poderao tornar-se necessarios.Para os proximos anos, argumentam os pesquisadores, o experimento mostra que um dos principais sistemas operacionais do mercado esta pronto para continuar usufruindo dos progressos do hardware sem exigir uma revolucao na area do software. A evolucao sera suficiente.Contudo, apesar do problema com o contador de referencia ter sido facil de consertar, ele nao foi nada facil de identificar."Ha um bocado de pesquisa interessante a ser feita na