The high-level language of the compiler makes use of differential equations, which are frequently used to describe biological systems. (Image courtesy of Jose-Luis Olivares/MIT.)
Researchers from MIT have presented a new compiler designed for analog computers. The compiler, called Arco, takes sets of differential equations as its input and translates them into circuits in programmable analog devices.
Exploring the Potential of Analog
In digital computing, individual transistors are only considered to be in one of two states: on or off, 1 or 0. While the advantages of this paradigm are numerous, there are actually an infinite number of analog states that a transistor can be in. Taking advantage of this extra informational capacity in analog has proven to be more efficient than digital computing in certain domains, notably for simulating biological systems.
However, actually implementing simulations on analog computers has until now been a complex and time-consuming process. Arco is hoping to simplify analog programming by allowing researchers to write high-level instructions instead of programming the computers by hand. Arco’s job is to take the human-readable instructions and generate the appropriate circuit.
The high-level instructions take the form of differential equations, which are frequently used to describe cell dynamics in biological systems. Electric circuit elements are also described with differential equations, meaning there’s a clear isomorphism between cells and circuits that can be exploited.
An example of the dynamical system specification language (DSSL) used in Arco that describes the system to model. For an explanation of DSSL, see the full paper
. (Image courtesy of Achour et. al.)
“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 Rahul Sarpeshkar, a coauthor of the team’s paper on Arco
The team tested Arco on five sets of differential equations, which were selected for their common use in biological research. The simplest test set included only four equations and Arco managed to create the appropriate circuit in just under a minute. The largest set, containing 75 equations, required slightly less than 54 minutes for Arco to design.
The team’s work on Arco is a promising start to one day being able to simulate highly accurate biological systems, such as organs or possibly full organisms. There may even be further applications of analog computing that are yet to be explored. Adrian Sampson, a computer scientist at Cornell University, summed up the potential impact of the research.
“Everybody knows that analog hardware can be incredibly efficient—if we could use it productively,” Sampson said. “This paper is the most promising compiler work I can remember that could let mere mortals program analog computers.”
For more cutting-edge programming, find out how engineers program human cells to record analog memories.