Domingo, 29 de outubro de 2017
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 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.
Paraíba.com