Life, uh, finds a way. And more often than not, that way is analog, not digital. Even the impulse-like action potentials in the brain are more complex than computers’ 1s and 0s — and digital simulations of cells and systems struggle to take that into account. Analog electronic circuits are a powerful tool to bring to bear on these difficult problems — and a new compiler from MIT makes programming them much, much easier.
An analog circuit doesn’t pass on a binary signal, but rather involve the interactions of inputs with an effectively infinite variety of values. And they’re uniquely suited to the question of simulating cells, in which there are many such interdependent values — chemical concentrations, pH, temperature and the like.
These complex relationship are often modeled by scientists in differential equations, which of course can be solved digitally — but a digital computer would have to perform the same work thousands or millions of times sequentially; the thinner it slices the data, the better its results.
An analog circuit, however, correctly configured with certain voltages corresponding to the equations’ values, each affecting this or that current and so on, will solve itself simply because the laws of electrodynamics require it. A complete and continuous solution is found quickly and easily — but figuring out how those circuits must be configured is far from trivial. In fact, it seems to be surpassingly difficult, and more so as complexity increases.
MIT CSAIL grad student Sara Achour, along with her professor and adviser Martin Rinard and Dartmouth’s Rahul Sarpeshkar, have created a compiler called Arco that essentially turns human-readable digital code into a configuration for analog computing circuits.
“With a few transistors, cytomorphic analog circuits can solve complicated differential equations — including the effects of noise — that would take millions of digital transistors and millions of digital clock cycles,” said Sarpeshkar in a MIT news release. Cytomorphic means cell-resembling, by the way.
The compiler looks at the equations involved and creates circuits that produce correct results — taking between 14 and 40 seconds per equation, which is a big improvement over human-provided solutions. And it’s not just a time improvement; the analog circuit arrangements can scale to larger sizes than any human could possibly hope to work out a solution for — an entire organ or organism rather than a single cell, for instance.
You probably won’t be seeing any analog computers firsthand unless you work in a bioinformatics lab, but improved simulations of biological processes is an end of its own as well as a means to further research in medical fields.
The researchers’ paper describing the new compiler was presented at an Association for Computing Machinery conference last week.