Yeast colonies. Image: Lilly M/Wikimedia Commons
We don't tend to consider computers as systems that exist within an environment. More likely, we imagine a computer within its own environment, an interior realm of memory slots, processor chips, and I/O devices. It's an old, lingering conception, but it's not that easy anymore. Computers exist in environments with other computers now, usually a vast numbers of them, and this opens the door to something unexpected: noise, whether it be in the form of a DDoS or Sybil attack or in the form of a cascading failure, a disruption within a network that threatens to wipe out larger and larger regions of that network's infrastructure as it propagates downward.
We may not think of these things as environmental noise, but a new paper out in the Journal of the Royal Society Interface, courtesy of a team based at Carnegie Mellon University, invites engineers to look at the computing realm differently.
Specifically, those engineers should look at yeast. Yeast knows how to deal with environmental noise. Each individual yeast cell carries around about 6,000 genes, but only about 20 percent of those are essential in the conventional sense of, if you silence it, the cell dies. This conventional view allows us to look at the other 80 percent as non-essential genes.
That's incorrect, according to today's paper. These "extra" genes play a role outside of the cell itself: typically found nearer to the surface of cells than essential genes, they are more likely to degrade and become unusable (because of extracellular noise). Over time, the yeast cells have evolved in such a way that these genes can be lost without costing the cell its survival. That's why they're closer to the edge of the cell, where there's more environmental stress, than the genes that, say, allow for DNA duplication.
So, over the course of evolution, yeast has redesigned itself in relation to its environment. We can't say the same for computers, no matter that they now almost always exist in environments containing harmful network noise. The researchers suggest that we may be able to come up with our own adaptations for computers taking into account environmental models; these models happen to be quite specific, actually, and readily extrapolated. Taking into account the notion of environmental stress in combination with established models of molecular evolution, the researchers came up with an algorithm that suggests a wide range of different computing and network architectures that had never been considered before.
It's worth dipping into that molecular evolution model just a bit. It's called duplication-divergence and it explains how the process of gene duplication often gives rise to two identical proteins that, over time, slowly become more specialized versions of the same thing. So, a microorganism can become a much richer, more finely adapted creature just by kicking out the same exact thing again and again. Put the yeast in different environments with different environmental stresses, and you wind up with yeast cells that are more adapted while using the same genetic information.
You can imagine this with a large computer network. Computing nodes get shifted around as a network experiences more outside stress, and the network adapts just like the yeast cells do, pushing less critical nodes outward toward the stress while keeping the do-or-die stuff protected inside. A carefully insulated military network might not need to arrange itself as such; the website of a public agency, yes. There's a lot of ways this could work out, a lot of unique architectures, depending on the specific environmental stress.
Yeast: who knew?