For the past decade, engineers have come up against the harsh reality of physics in the pursuit of more powerful computers: transistors, the on-off switches that power the computer processor, cannot be made any smaller than they currently are. Looking beyond the silicon chip, an intuitive alternative is currently being developed using DNA to perform the same kinds of complex calculations that silicon transistors do now. But what is DNA computing, how does DNA computing work, and why is it such a big deal?
Beyond The Transistor
The issue with transistors is that they now exist at the scale of a few nanometers in size—only a few silicon atoms thick. They can't practically be made any smaller than they are now.
If they get any smaller, the electrical current flowing through the transistor easily leaks out into other components nearby or deforms the transistor due to heat, rendering it useless. You need a minimum number of atoms to make the transistor work and we've functionally reached that limit.
Engineers have found some work-arounds for this problem by using multicore and multiprocessing systems to increase computational power without having to shrink the transistors further, but this too comes with trade offs in terms of programming challenges and power requirements, so another solution is needed if we hope to see more powerful computers in the future.
While quantum computing is getting a lot of press lately, DNA computing can be just as—or even more—powerful than even quantum computing and it doesn’t run into nearly as many of the stability constraints that quantum computing has. Plus, we know it works; we ourselves are living examples of the data storage and computational power of DNA computing.
The challenge for DNA computing is that compared to classical computing, it is achingly slow. Evolution has had hundreds of millions of years to develop the complicated sequence of DNA that exists inside each and every one of our cells so that DNA is used to working according to geological timescales, not the multiple gigahertz of modern classical processors.
So how does DNA computing work then and why are we pursuing it if it’s so slow?
What Is DNA Computing, How Does It Work And Why Is It Such A Big Deal?
To understand what DNA computing is, how it works and why DNA computing is such a big deal, first we need to stop thinking about it as some kind of replacement for our everyday classical computer use; we won’t be playing games on a DNA computer any time soon, if such a thing were even possible. Silicon chips will be with us for a very long time yet.
DNA computing is what we would use to solve problems beyond the scope of what a classical computer can solve, the same way quantum computing can break RSA encryption in moments while it might take a classical computer thousands of years to do the same.
DNA computing was first described in 1994 by computer scientist Leonard Adleman of the University of Southern California. After reading up on the structure of DNA, he was inspired to write a paper in the journal Science showing how you could use DNA to an infamous mathematical and computer science problem known as the directed Hamilton Path problem, commonly called the “traveling salesman” problem (though the Hamilton Path problem is slightly different version of the traveling salesaman problem, for our purposes they are essentially interchangable).
What Is The Traveling Salesman Problem?
As the traveling salesman problem defines it, a company has a salesman that must visit n number of cities making calls and can only visit each city once. What sequence of visited cities provides the shortest, and therefore the cheapest, path?
When n equals 5, the problem can be worked out by hand on a piece of paper and a classical computer can test every possible path relatively quickly. But what if n equals 20? Finding the shortest path through 20 cities becomes much more computationally difficult and it would take a classical computer exponentially longer to find the answer.
Try to find the shortest path between 500 cities and it would take a classical computer longer than the entire lifetime of the Universe to find the shortest path since the only way to verify that we have found the shortest path is to check every single permutation of cities. Some algorithms exist using dynamic computing that can theoretically reduce the number of checks required (and the actual Hamilton Path problem doesn't require checking every node in a graph), but that might shave a few million years off the top; the problem will still be all but computationally impossible on a classical computer.
How DNA Computing Solves This Problem
What Adleman was able to demonstrate [PDF] is that DNA can be assembled in such a way that a test tube full of DNA blocks could assemble themselves to encode all of the possible paths in the traveling salesman problem at the same time.
In DNA, genetic coding is represented by four different molecules, called A, T, C, and G. These four “bits”, when chained together, can hold an incredible amount of data. After all, the human genome is encoded in something that can be packed into a single nucleus of a cell.
By mixing these four molecules into a test tube, the molecules naturally assembled themselves into strands of DNA. If some combination of these molecules represents a city and a flight path, each strand of DNA could represent a different flight path for the salesman, all being calculated at once in the synthesis of the DNA strands assembling themselves in parallel.
Then, it would simply be a matter of filtering out the longer paths until you have only the shortest path left. In his paper, he showed how this could be done with 7 cities and the solution to the problem would be encoded as soon as the DNA strands were synthesized.
The reason this generated excitement was that DNA structures are cheap, relatively easy to produce, and scalable. There is no limit to the power that DNA computing can theoretically have since its power increases the more molecules you add to the equation and unlike silicon transistors which can perform a single logical operation at a time, these DNA structures can theoretically perform as many calculations at a time as needed to solve a problem and do it all at once.
The problem however, is speed. Even though it took moments for Adleman’s solution to the traveling salesman problem to be encoded into his DNA strands in the test tube, it took days of filtering out bad solutions to find the optimal solution he was looking for—after meticulous preparation for this single computation.
Still, the concept was a sound one and the potential for incredible gains in storage capacity and computational speeds was obvious. This kicked off two decades of research into how to create practical DNA computing a reality.
What Are The Advantages to DNA Computing?
As demonstrated with Adleman’s paper, the major advantage of DNA computing over classical computing—and even quantum computing to an extent—is that it can perform countless calculations in parallel. This idea of parallel computing isn’t new and has been mimicked in classical computing for decades.
When you run two applications on a computer at the same time, they aren’t actually running concurrently; at any given time, only one instruction is being carried out. So if you are listening to music and shopping online using a browser, the computer is actually using something called context switching to give the appearance of concurrency.
It runs an instruction for one program, saves the state of that program after the instruction is carried out, and removes the program from active memory. It then loads up the previously saved state of the second program, runs its next instruction, saves its new state, and then unloads it from active memory. It then reloads the first program to carry out its next instruction and so on.
By making millions of incremental steps a second across different programs, the appearance of concurrency is achieved, but nothing is ever actually being run in parallel. DNA computing can actually carry out these millions of operations at the same time.
Over 10 trillion DNA molecules can be squeezed into a single cubic centimeter. This cubic centimeter of material could theoretically perform 10 trillion calculations at once and hold as much as 10 terabytes of data. In many ways, a lot of the breathless but inaccurate press that quantum computing gets is actually possible with DNA computing.
DNA computing then is best thought of as a complement of quantum computing, so that when paired together and driven by a classical computer acting as a Singleton-style manager, the kinds of dramatic increases in computational power that people are hoping to see in the future actually become realistically possible.
How Long Will It Take For DNA Computers To Arrive
We’ve come a long way since 1994. Shortly after Adleman published his paper, researchers were able to construct logic gates out of DNA—the parts of a circuit built from individual transistors that can built complicated true-false logical equations out of electrical current.
Just this month, computer scientists at the University of California at Davis and Caltech have synthesized DNA molecules that can self-assemble into structures by essentially running their own program using six-bit inputs.
Microsoft even has a programming language for DNA computing that can help make DNA computing practical once the technology of bio-processors progresses to the point that it can run more sophisticated algorithms. In fact, Microsoft is planning on introducing DNA computing to its cloud services by 2020 and actively developing a DNA data storage to integrate into its cloud services.
It is likely that these advances will be realized much quicker than advances in quantum computing. Quantum computing requires sophisticated machinery, superconductors, and extremely cold conditions to keep qubits stable enough to do any actually useful computational tasks, and unless we develop a material that can act as a superconductor at room temperature, they won’t be making their way into our computers anytime soon.
DNA computing, meanwhile, uses DNA that we have become expert at manipulating to the point of replacing a single gene of a DNA strand through CRISPR. The materials needed to synthesize DNA molecules are cheap and readily available and remain stable at room temperature and beyond. What DNA Computing is potentially able to achieve given DNA’s resiliency and biological parallelism represents an essential step towards the future of computing.