{"id":9092,"date":"2016-06-22T06:38:42","date_gmt":"2016-06-22T06:38:42","guid":{"rendered":"http:\/\/revoscience.com\/en\/?p=9092"},"modified":"2016-06-22T06:38:42","modified_gmt":"2016-06-22T06:38:42","slug":"analog-computing-returns","status":"publish","type":"post","link":"https:\/\/www.revoscience.com\/en\/analog-computing-returns\/","title":{"rendered":"Analog computing returns"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><em><strong style=\"color: #222222;\">New analog compiler could help enable simulation of whole organs and even organisms.<\/strong><\/em><\/span><\/p>\n<figure id=\"attachment_9093\" aria-describedby=\"caption-attachment-9093\" style=\"width: 639px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-9093\" src=\"http:\/\/revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg\" alt=\"The researchers\u2019 compiler takes as input differential equations and translates them into voltages and current flows across an analog chip. Illustration: Jose-Luis Olivares\/MIT\" width=\"639\" height=\"426\" title=\"\" srcset=\"https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg 639w, https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0-300x200.jpg 300w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/a><figcaption id=\"caption-attachment-9093\" class=\"wp-caption-text\">The researchers\u2019 compiler takes as input differential equations and translates them into voltages and current flows across an analog chip.<br \/>Illustration: Jose-Luis Olivares\/MIT<\/figcaption><\/figure>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong>CAMBRIDGE, Mass<\/strong>. &#8212;\u00a0A transistor, conceived of in digital terms, has two states: on and off, which can represent the 1s and 0s of binary arithmetic.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">But in analog terms, the transistor has an infinite number of states, which could, in principle, represent an infinite range of mathematical values. Digital computing, for all its advantages, leaves most of transistors\u2019 informational capacity on the table.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">In recent years, analog computers have proven to be much more efficient at\u00a0<a style=\"color: #1155cc;\" href=\"http:\/\/mit.pr-optout.com\/Tracking.aspx?Data=HHL%3d804092-%3eLCE9%3b4%3b8%3f%26SDG%3c90%3a.&amp;RE=MC&amp;RI=4334046&amp;Preview=False&amp;DistributionActionID=30078&amp;Action=Follow+Link\" target=\"_blank\" data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=en&amp;q=http:\/\/mit.pr-optout.com\/Tracking.aspx?Data%3DHHL%253d804092-%253eLCE9%253b4%253b8%253f%2526SDG%253c90%253a.%26RE%3DMC%26RI%3D4334046%26Preview%3DFalse%26DistributionActionID%3D30078%26Action%3DFollow%2BLink&amp;source=gmail&amp;ust=1466662428763000&amp;usg=AFQjCNGbGHTmZ-0rf14vrmqZQd6G4vwxwQ\" rel=\"noopener\"><span style=\"color: #000000;\">simulating biological systems<\/span><\/a>\u00a0than digital computers. But existing analog computers have to be programmed by hand, a complex process that would be prohibitively time consuming for large-scale simulations.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Last week, at the Association for Computing Machinery\u2019s conference on Programming Language Design and Implementation, researchers at MIT\u2019s Computer Science and Artificial Intelligence Laboratory and Dartmouth College presented a new compiler for analog computers, a program that translates between high-level instructions written in a language intelligible to humans and the low-level specifications of circuit connections in an analog computer.<\/span><\/p>\n<p style=\"text-align: justify;\">[pullquote]Differential equations are equations that include both mathematical functions and their derivatives, which describe the rate at which the function\u2019s output values change.[\/pullquote]<\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The work could help pave the way to highly efficient, highly accurate analog simulations of entire organs, if not organisms.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">\u201cAt some point, I just got tired of the old digital hardware platform,\u201d says Martin Rinard, an MIT professor of electrical engineering and computer science and a co-author on the paper describing the new compiler. \u201cThe digital hardware platform has been very heavily optimized for the current set of applications. I want to go off and fundamentally change things and see where I can get.\u201d<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The first author on the paper is Sara Achour, a graduate student in electrical engineering and computer science, advised by Rinard. They\u2019re joined by Rahul Sarpeshkar, the Thomas E. Kurtz Professor and professor of engineering, physics, and microbiology and immunology at Dartmouth.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Sarpeshkar, a former MIT professor and currently a visiting scientist at the Research Lab of Electronics, has long studied the use of analog circuits to simulate cells. \u201cI happened to run into Rahul at a party, and he told me about this platform he had,\u201d Rinard says. \u201cAnd it seemed like a very exciting new platform.\u201d<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong>Continuities<\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The researchers\u2019 compiler takes as input differential equations, which biologists frequently use to describe cell dynamics, and translates them into voltages and current flows across an analog chip. In principle, it works with any programmable analog device for which it has a detailed technical specification, but in their experiments, the researchers used the specifications for an analog chip that Sarpeshkar developed.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The researchers tested their compiler on five sets of differential equations commonly used in biological research. On the simplest test set, with only four equations, the compiler took less than a minute to produce an analog implementation; with the most complicated, with 75 differential equations, it took close to an hour. But designing an implementation by hand would have taken much longer.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Differential equations are equations that include both mathematical functions and their derivatives, which describe the rate at which the function\u2019s output values change. As such, differential equations are ideally suited to describing chemical reactions in the cell, since the rate at which two chemicals react is a function of their concentrations.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">According to the laws of physics, the voltages and currents across an analog circuit need to balance out. If those voltages and currents encode variables in a set of differential equations, then varying one will automatically vary the others. If the equations describe changes in chemical concentration over time, then varying the inputs over time yields a complete solution to the full set of equations.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">A digital circuit, by contrast, needs to slice time into thousands or even millions of tiny intervals and solve the full set of equations for each of them. And each transistor in the circuit can represent only one of two values, instead of a continuous range of values. \u201cWith a few transistors, cytomorphic analog circuits can solve complicated differential equations \u2014 including the effects of noise \u2014 that would take millions of digital transistors and millions of digital clock cycles,\u201d Sarpeshkar says.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\"><strong>Mapmaking<\/strong><\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">From the specification of a circuit, the researchers\u2019 compiler determines what basic computational operations are available to it; Sarpeshkar\u2019s chip includes circuits that are already optimized for types of differential equations that recur frequently in models of cells.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">The compiler includes an algebraic engine that can redescribe an input equation in terms that make it easier to compile. To take a simple example, the expressions\u00a0<em>a(x + y)<\/em>\u00a0and\u00a0<em>ax + ay<\/em>\u00a0are algebraically equivalent, but one might prove much more straightforward than the other to represent within a particular circuit layout.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">Once it has a promising algebraic redescription of a set of differential equations, the compiler begins mapping elements of the equations onto circuit elements. Sometimes, when it\u2019s trying to construct circuits that solve multiple equations simultaneously, it will run into snags and will need to backtrack and try alternative mappings.<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"color: #000000;\">But in the researchers\u2019 experiments, the compiler took between 14 and 40 seconds per equation to produce workable mappings, which suggests that it\u2019s not getting hung up on fruitless hypotheses.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The researchers\u2019 compiler takes as input differential equations, which biologists frequently use to describe cell dynamics, and translates them into voltages and current flows across an analog chip.<\/p>\n","protected":false},"author":6,"featured_media":9093,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-9092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer-science"],"featured_image_urls":{"full":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0-150x150.jpg",150,150,true],"medium":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"1536x1536":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"2048x2048":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"ultp_layout_landscape_large":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"ultp_layout_landscape":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"ultp_layout_portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",600,400,false],"ultp_layout_square":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",600,400,false],"newspaper-x-single-post":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"newspaper-x-recent-post-big":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",540,360,false],"newspaper-x-recent-post-list-image":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",95,63,false],"web-stories-poster-portrait":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",639,426,false],"web-stories-publisher-logo":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",96,64,false],"web-stories-thumbnail":["https:\/\/www.revoscience.com\/en\/wp-content\/uploads\/2016\/06\/MIT-Analog-Compiler_0.jpg",150,100,false]},"author_info":{"info":["Amrita Tuladhar"]},"category_info":"<a href=\"https:\/\/www.revoscience.com\/en\/category\/computer-science\/\" rel=\"category tag\">Computer Science<\/a>","tag_info":"Computer Science","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/9092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/comments?post=9092"}],"version-history":[{"count":0,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/posts\/9092\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media\/9093"}],"wp:attachment":[{"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/media?parent=9092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/categories?post=9092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.revoscience.com\/en\/wp-json\/wp\/v2\/tags?post=9092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}