Why computers crash but we don’t

crash_1

The hierarchical organization of the control network of the bacterium E. coli (left) shows a pyramidal structure compared to the Linux operating system, which has many more routines controlling few generic functions at the bottom. Mark Gerstein says the Linux approach arises because software engineers tend to save money and time by building upon existing routines rather than starting from scratch. (Credit: Yale)

YALE (US)—The reason living organisms tend to malfunction less than computers may have something to do with the way software engineers create control systems—compared to nature’s approach.

To explore the idea, a team from Yale University compared the evolution of organisms and computer operating systems by analyzing the control networks in both the bacterium E. coli and the Linux operating system. They report their findings online in the Proceedings of the National Academy of Sciences.

“It is a commonplace metaphor that the genome is the operating system of a living organism. We wanted to see if the analogy actually holds up,” says Mark Gerstein, the Albert L. Williams Professor of Biomedical Informatics; professor of molecular biophysics and biochemistry, and computer science; and senior author of the paper.

Both E. coli and the Linux networks are arranged in hierarchies, but with some notable differences in how they achieve operational efficiencies. The molecular networks in the bacteria are arranged in a pyramid, with a limited number of master regulatory genes at the top that control a broad base of specialized functions, which act independently.

In contrast, the Linux operating system is organized more like an inverted pyramid, with many different top-level routines controlling few generic functions at the bottom of the network. Gerstein says that this organization arises because software engineers tend to save money and time by building upon existing routines rather than starting systems from scratch.

“But it also means the operating system is more vulnerable to breakdowns because even simple updates to a generic routine can be very disruptive,” Gerstein explains. To compensate, these generic components have to be continually fine-tuned by designers.

“Operating systems are like urban streets—engineers tend to focus on areas that get a lot of traffic,” says Gerstein.  “We can do this because we are designing these changes intelligently.”

However, he notes, if the analogy is extended to an organism like E. coli, the situation is different: Without fine-tuning, a disruption of such major molecular roadways by random mutations would be fatal. That’s why E. coli cannot afford generic components and has preserved an organization with highly specialized modules, says Gerstein, adding that over billions of years of evolution, such an organization has proven robust, protecting the organism from random damaging mutations.

More news from Yale: www.yale.edu/opa

chat7 Comments

You are free to share this article under the Creative Commons Attribution-NoDerivs 3.0 Unported license.

7 Comments

  1. Rob Hooft

    There are good reasons why the different architectures are better for living beings and computer programs. Computer programs are improved stepwise. Ideally every change is one that improves the code. That is why “DRY” (Don’t Repeat Yourself) is a good idea. If a difference between two calls of the same code must be made, the code can be duplicated or parameterized. Living organisms evolve by random mutations. To be able to make a difference between pathways, it is better if they are repeated. A “DRY” bacteria would die on any single mutation. Furthermore, evolution has time; if the same change also improves another pathway, it will be reinvented there once.

    In fact, living beings crash all the time. There are just very many different ways of crashing. The frequent ones for humans are documented in the medical encyclopedia. Examples of very frequent ones are coronary heart disease, cancer, Alzheimer, asthma, diabetes, epilepsy.

  2. ALZ

    To Rob Hooft: Diseases you can consider as computer malaware, tohugh, “life” (as the biomass from living creatures on earth) has made it trought all kind of attempts againts it success, and yet life cointinues functioning in every level of biology organization,since the beggining of life on earth. Wich probably would not happen to computers (as they remain how they are now).
    Conclusion: So it looks like DRY is a human mind method but not a Nature’s one and it might be a matter of performance/economic balance versus long term mid-life. Wich leads you to think on how our mind thinks every day huh? :)

  3. Rob Hooft

    @ALZ: I made sure that the diseases I mentioned in my reply above are not malware, but bugs in the implementation of the human itself! Malware is comparable to diseases coming from external active vectors, all of the diseases I mentioned are (mostly) coming from within, or from normal (passive) environmental factors.

  4. Roy Niles

    Rather than evolve by random mutation, bacteria have structured themselves to take advantage of it. Computers are directly mutated by humans, who haven’t yet given them the ability to responsively direct themselves.

  5. Mike

    Isn’t part of the difference also that computers need to have many very different higher-level functions? The analogy obviously fails in that respect, if E. coli has just a few basic functions. Maybe the comparison would be strengthened by looking at just a few Linux functions (e.g., file I/O or memory management). Or maybe it would be possible to represent the bacterial side of things by an array of bacteria — assuming the bottom of the pyramid would be more or less common to different types of bacteria — thus presenting an array of functions for the bacteria.

    [Or maybe I just misunderstand the whole thing, because the nature of these “networks” isn’t explained well.]

  6. ALZ

    @Rob: agree, yet those diseases indicate the use of flawed materilas in the making of the human machine (they all have a heavy genetic linked origin, mainly exploited by enviromental variables to wich the subject is exposed), therefore those illness are just another variable that is not to be consider unless you use flawed materials on building. computers, in wich case, will most likely not even function or have a very short term mid-life.

    @Mike: agreed. Actually bacteria is a procariot, so its auto regulation system is poor. But still there are bigger (higher maybe) regulatory levels in other life forms, such as eucariots like plants and humans. So analogy between bacteria/computers/life-forms, could result a litle vague yes.

  7. monster

    You can also simulate evolution on a computer and have programs (or even creatures/robots, see Framsticks) evolved, with all the consequences mentioned above. But engineers consider the “DRY” approach more sound and a kind of art. Parts of a program are not “damaged” in a computer, so the “nature” way is not beneficial.

    BTW, bad programmers are like nature: they tend to use copy & paste and often forget to fix all bugs in all copies of their code, and these copies become different with time.

We respect your privacy.