Parallels between Biology and Computing
Biological systems are complex evolving
information processing systems that exploit multicellularity
as a way to manage ever-growing complexity. For similar reasons,
computing is
now driven inexorably toward multicellular architectures.
As computing becomes an ever more pervasive part of our modern
lives,
we
naturally look to understand it in terms of what we know of
other
complex phenomena such as biology. And vice versa. On the one
hand,
biological
systems show
computing professionals the way to the exceedingly sophisticated
kinds
of collaboration
found in biological organisms: collaborations between cells,
between
tissues, between
organs and
even between organisms collaborating/competing in an ecology. On
the
other hand,
computing systems are recent and are human designed. We can
still
remember the
stages of evolution in computing and thereby perhaps get insight
into
the evolution of computing that may have had parallels
in biology in the mists of prehistory.
Parallels between biology and computing systems include:
The most recent, and most obvious parallel is that both rely on
multicellularity
to enable complexity to grow beyond the limits manageable in a
single
cell or single computer. Multicellullarity itself evolves from
single-cell architectures because of its inherent advantages. The
most
primitive
multicellular systems have few types of specialized cells.
They
become more sophisticated and capable by exploiting more cells and
more
types of cells.
At present we can only compare the simplest biological examples
with
the most complex computing examples because multicellular
computing is in its infancy.
Examples in Biology
Simple Metazoans (i.e., multicellular organisms) include:
- Placozoa -- Thought
to be the
simplest Metazoan organism.
They are millimeter-scale discs that contain a few thousand
cells.
The cell types are: dorsal cells with flagella, ventral “gland
cells,”
ventral flagellar cells, and central “fiber cells ” that have
some of
the properties of both nerve cells and muscle cells.
- Hydra -- A
milimeter-scale (5-20mm), multi-tentacled Cnidaria (the family
that
includes jellyfish).
It is estimated to contain 50,000 - 70,000 cells. It has at
least 15
cell types including simple nerves, epidermis (outer layer),
gastrodermis (inner layer), germ cells, and Nematocysts
(stinging
cells).
- Jellyfish
(e.g.,
Cnideria Cyanea) -- Number of cells >
10 million. At least 22 cell types including neurons, sensors,
muscle,
endocrine, and Nematocysts used for capturing prey.
Examples in Computing
Wikipedia, large public database services (e.g., EMBL/EBI Hinxton
GenBank), various "clouds" (Google's Cloud, Amazon's EC2), Social
networks (Facebook,
Twitter), Massively Multiplayer Online Role Playing Games (World
of
Warcraft, EverQuest,
Second Life) and instant messaging, chat and VOIP systems (e.g.,
Skype).
The largest and most familiar, and those about which more data is
available, are:
- Ebay -- Estimated 54K,
At least 5 functional types of servers: database,
LDAP, web servers, application servers, networking switches
and routers
- Facebook -- An
estimated 180,000 servers as of mid 2013. There are at least 4
types: proxy
servers, web servers, database servers, and application
servers.
- Google -- uses at
least 1.5
million servers and very likely more than 2 million servers.
Their system uses at least 9 specialized types of server:
crawlers, ad
servers, indexing, spelling, documents, http, search,
formatting, and
proxy/cache.
Note that Facebook and EBay, while among the largest
multicellular
computing systems, are comparable to Placozoa, the smallest
Metazoan.
And Google, by far the largest multicellular computing system is
far
simpler than a jellyfish. Moreover, a jellyfish is self
organizing,
self sustaining, and self reproducing whereas Google is none of
those
things.
Neither biological nor computing systems advance just by
growing
more and more "cells" of one type. They seem to prefer to specialize and exploit more
types. The chart below, based on 2009 data, has far too
few data points to support a
firm conclusion, yet it indicates a functional relationship,
shared by
both realms, between the
number of "cells" and the number of "cell" types.
Contact: sburbeck at mindspring.com
Last revised 7/24/2013