quarta-feira, 29 de junho de 2016

Criado primeiro compilador para computadores analógicos

Criado primeiro compilador para computadores analógicos

Criado um compilador para computadores analógicos
O processador analógico resolve naturalmente as equações diferenciais que os biólogos usam para descrever a dinâmica dos seres vivos. [Imagem: Jose-Luis Olivares/MIT]
Compilador analógico
Os processadores analógicos podem ter vantagens em várias áreas em relação aos processadores digitais, como imitar o cérebro, por exemplo.
O grande problema é programá-los.
Um problema que agora começa a se tornar menor, graças a um compilador para computadores analógicos, um programa que traduz instruções de alto nível, escritas em uma linguagem compreensível para os seres humanos - as bem conhecidas linguagens de programação - para as especificações de baixo nível dos componentes do circuito analógico - a também bem conhecida linguagem de máquina.
Transístor analógico
Um transístor, um componente concebido em termos digitais, tem dois estados: ligado e desligado, que podem representar os 0s e 1s da aritmética binária.
Em termos analógicos, contudo, um transistor tem um número infinito de tensões, o que poderia, em princípio, representar uma gama infinita de valores matemáticos. A computação digital, com todas as suas vantagens, traça uma linha "no meio" desses valores, estabelecendo um limite para o que significa ligado e desligado, e deixa de lado toda a potencialidade informacional das demais tensões.
Inúmeros experimentos já comprovaram que os computadores analógicos são muito mais eficientes na simulação de sistemas biológicos do que os computadores digitais, já que tudo na natureza é tipicamente analógico. Mas esses protótipos precisam ser programados manualmente, um processo complexo que seria proibitivamente demorado para aplicações em grande escala - seria um pouco mais complexo do que fazer todos os programas dos computadores digitais em linguagem Assembly.
Desta forma, o novo compilador abre o caminho para aplicações analógicas como a simulação de alta eficiência e de alta precisão de órgãos biológicos inteiros - eventualmente até mesmo de organismos inteiros.
Criado um compilador para computadores analógicos
O grande interesse nos processadores analógicos está na simulação do funcionamento de organismos vivos - que são tipicamente analógicos. [Imagem: Christine Daniloff]
Equações diferenciais
O compilador analógico recebe como entrada equações diferenciais que os biólogos usam para descrever a dinâmica celular, e as traduz em tensões e correntes que fluem através de um processador analógico.
Em princípio o compilador é genérico, funcionando com qualquer chip analógico programável que disponha de uma especificação técnica detalhada, mas os experimentos iniciais foram feitos em umchip analógico desenvolvido pela própria equipe há alguns anos e que vem sendo aprimorado desde então.
O compilador foi testado em cinco conjuntos de equações diferenciais frequentemente utilizados em pesquisa biológica. No conjunto de teste mais simples, com apenas quatro equações, o compilador levou menos de um minuto para gerar uma implementação analógica; no mais complicado, com 75 equações diferenciais, ele levou perto de uma hora. Mas projetar uma aplicação similar à mão levaria de semanas a meses.
Como funciona um processador analógico
De acordo com as leis da física, as tensões e correntes em um circuito analógico precisam se equilibrar. Se essas tensões e correntes codificam variáveis em um conjunto de equações diferenciais, então variar uma irá automaticamente variar as outras. Se as equações descrevem alterações de uma concentração química ao longo do tempo, por exemplo, então fazer variar as entradas ao longo do tempo resultará em uma solução completa para o conjunto completo de equações.
Um circuito digital, por outro lado, precisa fatiar o tempo em milhares ou mesmo milhões de pequenos intervalos e resolver o conjunto completo de equações para cada um deles. E cada transístor no circuito pode representar apenas um de dois valores, em vez de uma faixa contínua de valores.
"Com poucos transistores, circuitos analógicos citomórficos podem resolver equações diferenciais complexas - incluindo os efeitos do ruído - que exigiriam milhões de transistores digitais e milhões de ciclos de relógio digitais," disse o professor Rahul Sarpeshkar, que construiu o compilador analógico juntamente com Sara Achour e Martin Rinard, todos do MIT, nos EUA.
É curioso que o compilador para processadores analógicos, que são capazes de imitar a biologia - que é tipicamente analógica - foi anunciado poucos dias depois do simulador quântico, que é capaz de simular o mundo subatômico e suas partículas porque funciona com base na mecânica quântica, que rege o comportamento dessas partículas - os computadores digitais não são talhados para nenhum dos dois casos.

Bibliografia:

Configuration Synthesis for Programmable Analog Devices with Arco
Sara Achour, Rahul Sarpeshkar, Martin C. Rinard
DOI: 10.1145/2908080.2908116
https://people.csail.mit.edu/sachour/res/pldi16_arco.pdf

Nenhum comentário:

Postar um comentário