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.
Huge multicellular computing systems include: Wikipedia, large public database services (e.g., EMBL/EBI Hinxton GenBank which catalogs DNA sequencing results), various "clouds" of servers for rent (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:
Note that Facebook and EBay, while among the largest multicellular computing systems, are comparable to Placozoa, the smallest Metazoan organism. And Google, 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 shows the number of "cells/computers" in a multicellular organism versus the number of "cell/computer" types in a Log-log plot.
This relationship is based on 2009 data and it has far too few data points to support a firm conclusion. Yet it suggests a functional relationship, shared by both biology and computing realms, that seems similar to the biological relationship between the number of cell types in an organism and the number of genes that organism has (see Stuart Kauffman, At Home in the Universe, Oxford University Press, 1996, Fig. 5.6, pg. 109, or see Fig 2 in this pdf.