Burbeck
 on
 Computing

Multicellular Life as a Metaphor for the Future of Computing


 
Web evolutionofcomputing.org


Paper on Multicellularity (pdf) Presentation (pdf) Jon Udell's podcast About the author
Site Map

Four Principles logo

The Four Principles
Summary table
   Specialization
      in computing
   Polymorphic Messaging
      in computing
          Loading code
          Interpreted code
      in biology
  Stigmergy
     and self
     in computing
     in the Internet
 
Cell Suicide (Apoptosis)
     in computing
Intertwined principles



Complexity
The problem
Out of control
Characterizing complexity
Dynamic complexity


Why the Biology Metaphor
Parallels with computing
Information processing
Encapsulation


Emergence
Example emergent systems
Multi-level emergence
   in computing
   in biology
Scale and emergence


Evolution
of computing
of multicellularity


Conclusions

Discussion & Comments


Background Info

Computers collaborate in the Internet much the way cells collaborate in multicellular organisms.  But cells do it better!  What are the parallels and what can we learn from them?

As recently as 1990, most computers operated independently from each other. True, some periodically exchanged email or used ftp to transfer files. Some collaborated in client-server relationships with internal corporate networks, banking systems or airline reservation systems. And in 1992 a tiny number -- mostly in universities -- could connect to the nascent Web.

Nonetheless, for the most part, computing happened inside single computers.

Today an isolated computer is something of an oddity. At least a billion computers exchange information at Internet speeds. Google, Amazon, Yahoo and Baidu (China's Google equivalent) require tens or even hundreds of thousands of computers to provide services we take for granted and would be lost without. As more computers collaborate in more complicated and less transparent ways, the digital world inexorably becomes complex beyond our comprehension. But there is no going back.

Long ago single cell organisms evolved into multicellular organisms. Groups of cells evolved ways to collaborate with each other to provide advantages not available to the individual cells. The cost of increased complexity was repaid by the increased capabilities of the collaborative multicellular organisms.

However, collaboration requires a collaborative architecture -- a set of conventions that support useful cooperative behavior and help to suppress runaway complexity and external attempts to exploit or hijack a system.  Both biological and computing systems suffer from unexpected consequences of complexity.  Examples include autoimmune disorders in biological systems and buffer overflow vulnerabilities in computing. And it is no coincidence that viruses hijack both cells and computers. The parallels between biology and computing are fundamental. Multicellular biological systems organize themselves using architectural principles that multicellular computing can mimic (and already has begun to mimic) to tame the spiraling problems of complexity and out-of-control interactions.

This website explores the four most central architectural principles that enabled the transition from single-cell life to multicellular life and are now enabling the emergence of multicellular computing.  They are:
  • Specialization - Multicellular systems support much richer functionality than single cell/computer systems.  They do it by the collaboration between specialized cells.  There are, for example, about 250 specialized types of cells in humans.  Unspecialized cells don't "play well with others," hence are dangerous to any multicellular organism.  Specialization in computing is important as well. We are finding that unspecialized general-purpose computers, especially unprotected PCs, are increasingly dangerous to multicellular computing systems.
  • Messaging - To cooperate, cells or computers must communicate and do it safely. The “meaning” of cell-to-cell messages must be determined by the receiving cell, not the sender. To that end, cells communicate with each other via messenger molecules, never DNA.  Similarly, communication between computers in multicellular systems relies increasingly upon message passing. Here again, the receiver not the sender determines the meaning of the messages. Transferring code, which predetermines the resulting behavior of the receiving machine, and all too often contains malware, is dangerous to the health of the receiving machine and to the system of which it is a part.
  • Stigmergy - Messages orchestrate cooperation in real-time. Longer term or more persistent collaboration requires longer-lived messages that can be deposited in some structure where they can be later encountered by others. This sort of messaging has become known as stigmergy in biology.  Stigmergy in computing systems is also supported by persistent external data, e.g., in databases, and network connectivity structures. Persistent data are especially important for organizing cooperative computing in the Internet.
  • Programmed cell death (apoptosis) - Despite all precautions, cells and computers do go awry or outlive their usefulness.  Thus, every healthy cell in a multicellular organism is programmed to commit suicide if necessary for the best interest of the organism as a whole.  Cells that are infected by viruses or become cancerous often kill themselves. We are only recently learning the importance of sacrificing compromised computers for the health of the whole multicellular computing system.

These four principles are not independent. They are deeply intertwined both in life and in computing.

This site offers many pages that explore the various issues in considerable detail -- more detail than most readers would want to absorb in one sitting. It presents each principle in its biological context and describes its benefits for multicellular life. Then each principle is discussed in the context of computing.

If you are impatient, you might want to skip right to the end of the story and read the conclusions. However, as with many a mystery novel, reading the last few pages will tell you who-done-it without telling you the most interesting part...why.  The conclusions may well not make much sense without seeing how we get there.

The site map or the link panels on the left of each page can help navigate to the various pages in an order that helps make sense of the story.




Contact:  sburbeck at mindspring.com
Last edited 4/24/2009