A IBM anunciou recentemente que criou um sistema de “in-memory” computing (computação dentro da memória). Esse sistema permite que computadores realizem diversas tarefas, como rodar algoritmos de aprendizagem de máquina e encontrar correlações entre diferentes bancos de dados, de maneira até 200 vezes mais rápida e eficiente em termos de energia do que placas de vídeo atuais, por exemplo.
Para desenvolver esse sistema, os pesquisadores da empresa usaram um tipo de memória chamada de PCM, sigla em inglês que significa “Phase Change Memory” (memória de mudança de fase) – a mesma que é usada em CDs-RW, por exemplo. Segundo o estudo recém-publicado, o sistema criado pela IBM conseguiu usar um milhão de dispositivos de memória desse tipo para realizar cálculos sem a necessidade de um processador. O vídeo abaixo mostra mais sobre a nova tecnologia:
O material se lembra
Esse tipo de memória se aproveita das propriedades físicas de seu material para armazenar dados. Segundo o Ars Technica, ela é feita de um material que pode assumir duas estruturas atômicas diferentes. Uma delas é uma estrutura cristalina que conduz bem eletricidade; a outra, mais amorfa, não conduz. Ao esquentar uma célula do material, ele muda de um estado para o outro.
Com isso, é possível organizar o material de maneira binária: o estado cristalino condutivo representa um 0, e o estado amorfo representa um 1. E como essa estrutura se mantém mesmo quando não há energia circulando no sistema, a memória consegue armazenar esses estados mesmo que o circuito que a alimenta seja desligado.
Bom e velho “vai e vem” de informações
Diversos dispositivos de memória se aproveitam dessa propriedade. O problema é que os dados armazenados neles precisam ser levados ao processador para serem computados; o resultado desses cálculos, por sua vez, precisa voltar à memória antes de ser processado novamente. Isso é parte da arquitetura von Neumann de computação, que é usada por praticamente todos os aparelhos eletrônicos que nós usamos – desde computadores até celulares e tablets.
No entanto, esse “vai e vem” de dados acaba gerando um gargalo computacional, já que levar a informação de um ponto até o outro leva tempo. Mais que isso – leva energia, o que faz com que os dispositivos sejam menos eficientes. A ideia da IBM, portanto, era usar a própria estrutura material da memória PCM para realizar cálculos, criando o que ela chama de “memória computacional”.
Além do 0 e 1
Para fazer isso, os pesquisadores usaram as propriedades físicas do material de maneira diferente. Eles organizaram o sistema para procurar correlações entre diversos conjuntos de dados. Os dados estavam armazenados nos dispositivos de PCM. Quando o sistema percebia uma correlação entre os dados alguns conjuntos, ele enviava um impulso que fazia com que uma das células de uma das memórias se aquecesse um pouco – mas não o suficiente para ir de 0 para 1.
O sistema então seguia buscando correlações e, sempre que as encontrava, aquecia aquela célula um pouco mais. Se um número suficiente de correlações fosse encontrada, a célula acabaria mudando de 0 para 1, confirmando que a correlação existia. Se esse número suficiente não fosse atingido, ela continuaria sendo 0, o que indicaria que os dados não eram suficientes para permitir afirmar que havia uma correlação ali. Dessa maneira, o sistema funcionava como uma espécie de computador analógico.
Desafios
Foram feitos dois testes diferentes para confirmar a eficácia desse sistema. Nos dois, ele demonstrou praticamente a mesma precisão do que um sistema “tradicional” com memória e CPU – embora tenha também dado alguns falsos positivos e falsos negativos. Isso se deve, segundo os pesquisadores, à natureza do processo de aquecimento que muda as células. Ele é sujeito a variações aleatórias que os pesquisadores ainda não conseguem controlar, e que podem acabar alterando o resultado.
Há ainda a questão de que o sistema depende de calor, e o calor acaba se acumulando com o tempo. Por esse motivo, se os processos de avaliação de correlação de dados demorarem muito, todas as células acabam se aquecendo e mudando de 0 para 1, o que estraga o teste.
Aplicações
Mesmo com esses obstáculos a serem superados, no entanto, a IBM acredita que esse método pode ser desenvolvido até se tornar uma forma extremamente rápida e eficiente de realizar tarefas de Big Data. Essas tarefas consistem basicamente em encontrar correlações entre grandes quantidades de dados: num sistema convencional, o processador precisa acessar cada célula da memória, conferir seu estado e comparar com todas as outras; nesse método, a memória praticamente se compara consigo mesma.
Uma das aplicações mais interessantes para essa tecnologia, segundo o MIT Tech Review, é a aprendizagem de máquina, essencial para sistemas de inteligência artificial. Nela, o computador é treinado com conjuntos imensos de dados de interações passadas para saber a melhor maneira de agir. Se o processo de “treinamento” desses sistemas puder ser feito de maneira 200 vezes mais rápida e eficiente do que atualmente, com placas de vídeo, esse método pode acabar representando uma verdadeira revolução para os data centers.