Com informações da New Scientist - 20/02/2013
Computação aleatória
Uma nova arquitetura de computador, baseada no aparente caos da natureza, é capaz de reprogramar a si mesmo ao se deparar com uma falha de software.
Foi o que demonstraram Christos Sakellariou e Peter Bentley, da Universidade College Londres, na Inglaterra.
A dupla batizou sua arquitetura de "computador sistêmico".
Os computadores atuais são inadequados para modelar processos naturais, tais como a forma como os neurônios trabalham ou como as abelhas formam enxames, porque eles trabalham sequencialmente, executando uma instrução de cada vez.
"A natureza não é assim", diz Peter Bentley. "Seus processos são distribuídos, descentralizados e probabilísticos. E eles são tolerantes a falhas, capazes de curar-se. Um computador deve ser capaz de fazer isso também."
Mas os computadores tradicionais trabalham de forma sequencial, enquanto a natureza trabalha de forma paralela.
"Mesmo quando parece que o seu computador está executando todos os seus programas ao mesmo tempo, ele está apenas fingindo fazer isso, desviando a atenção muito rapidamente entre cada programa," diz Bentley.
Computador sistêmico
O computador sistêmico imita justamente a aleatoriedade da natureza.
Para isso, ele atrela a cada dado as instruções sobre o que fazer com esse dado - essas entidades digitais são os chamados "sistemas", que dão o nome à arquitetura.
Cada sistema tem uma memória contendo dados sensíveis ao contexto, o que significa que ele só pode interagir com outros sistemas similares a ele próprio.
No computador tradicional, as instruções são executadas em uma sequência que acompanha as batidas de um relógio interno - o famoso "clock" do computador.
Já os sistemas são executados em momentos determinados por um gerador de números pseudo-aleatórios, projetado para imitar a aleatoriedade da natureza.
Como cada sistema tem seu próprio conjunto de instruções - as instruções são replicadas em todos os sistemas onde são necessárias -, não há precedência entre eles. "O conjunto de sistemas interage em paralelo e de forma aleatório, e o resultado de uma computação simplesmente emerge dessas interações," explica o pesquisador.
Antitravamento
Se houver problema em um dos sistemas, o computador simplesmente recupera as instruções de um sistema relacionado, remontando o bloco perdido - assim, ele virtualmente nunca trava por problemas de software.
Por estranho que pareça, a coisa funciona, e funciona melhor do que os próprios pesquisadores haviam previsto.
Depois de testar o computador sistêmico em máquinas virtuais, rodando em computadores tradicionais, eles partiram para um hardware específico, usando nós de rede sem fio, do tipo usado em redes de sensores, FPGAs e GPUs (processadores gráficos).
Os resultados ainda não foram publicados, mas Bentley afirma que eles serão detalhados em uma conferência sobre sistemas evolutivos em Cingapura, em Abril.
E ele também já adiantou os dois próximos objetivos: fazer com que o computador sistêmico reescreva seu próprio código em resposta a mudanças no ambiente, e usar o cérebro eletrônico Spinnaker para simular o computador realmente paralelo.
Se é verdade que só uma revolução pode garantir os futuros avanços da computação, então talvez esta revolução já esteja em andamento.