The Underlying Problems of Complexity in computing
are similar to those in biology
The history of
computing -- The complexity of hardware, software, and
usage models has increased monotonically, not to say
exponentially, from the invention of computers to the explosion
of smartphones, to social media, to the Internet of Things
(IoT), and now to machine-learning, cryptocurrencies and one day
soon to Quantum Computing.
A brief statement
of the problem -- Complexity in the digital world is
beyond our control, yet computing becomes ever more central to
business and society
The future of
computing -- Several trends in computing will continue to
change society:
Four principles of
multicellular systems -- Architectural strategies for
managing cooperation between biological cells emerged more than
500 million
years ago. They are nearly universal in multicellular
organisms. And they all evolved before or coincident with
the emergence of multicellular life. Now webs of cooperating
computers are evolving similar principles.
1) Specialization
-- a
fundamental characteristic
of
biological multicellular systems. Unspecialized cells, such as
stem cells,
must be kept under control.
Specialization
in
Computing -- Although there is a tendency to talk about
computers as
general purpose, many computers are quite specialized already.
Unfortunate
exceptions happen in cheap Internet of Things devices that
therefore invite
hacking.
2) Messaging -- the
receiver, not the sender, determines a message'a meaning
Messaging in
multicellular computing -- code transfer should also be
taboo.
Issues of loading code and
dealing with interpreted
code complicate matters.
3) Stigmergy --
individual parts of the system communicate by modifying their
local environment. The modifications become persistent cues
for other elements in the system
Stigmergy and
self -- self is defined by the
body-as-stigmergy-structure, not by the genetic identities
of the cells
Stigmergy in
computing systems -- cues left in persistent stores,
e.g., databases, network structures and Web Services, organize
multicellular computing
Apoptosis in
Computing -- in multicellular computing, the individual
computer must be willing to sacrifice itself for the good of
the larger organism. But old single-cell computing attitudes
that each computer is supreme will die slowly.
How
the four principles are intertwined -- the four principles
co-evolved and are interdependent both as abstract architecural
principles and as concrete implimentations within each cell.
Conclusions --
The evolution from single-cell to multicellular
computing is happening. The Four Principles
can smooth the transition.
Characterizing
Complexity -- Dynamic complex systems inevitably become
even more complex. But why? Turns out that's a deep question.
Dynamic
Complexity -- Dynamic elements in a system that adapt to
other dynamic elements create positive feedback loops and
complex interdependencies
Out of
control complexity -- Once complexity is out of control,
it takes control
The need for
Encapsulation -- both life and computing use encapsulation
to limit unwanted dynamic interactions
The
parallels between biology and computing -- Information
processing, complexity, encapsulation and the evolution toward
multicellularity
Biological
information
processing -- Cells process information in
order to survive and thrive. How comparable are their processing
capabilities to those of computers?
Background Issues: Emergence and Evolution
Multi-Level
Emergent
Complexity -- Complex systems inevitably evolve
multiple levels of complexity which are difficult to understand,
and even more difficult to predict
Multi-Level
Biological
Systems -- It took more than a dozen
intermediate stages/levels of emergence to evolve
multicellular life, and they all still play a role in everyday
living systems.
Multi-Level
Computing
Systems -- The evolution of computing systems
is far shorter than the evolution of life, but now the two are
merging!
Scale and
Emergence -- The tradeoff between the richness of possible
interactions and the number of elements required in a system for
emergence to generate new surprises.
Examples of Emergence
-- Some familiar examples in nature (hurricanes, flocks of
birds, and sand dunes), in human affairs (agriculture and
sailing ships), and in the Internet (Google, Facebook, and
Twitter).
The
evolution of multicellular systems -- from biofilms
(training wheels for multicellularity) to full-blown
multicellular life
Evolution, co-evolution
and monoculture -- No matter how hard we try to engineer
complex computing systems, they stubbornly insist upon evolving.
Other Resources
Companion Paper(pdf) 2007
Slides(pdf) From
the 2004 TII/Vanguard Conference on Complexity
Slides(pdf) From the 2009
University of Birmingham Seminar
MagicDigitalBarons(pdf)
unpublished draft, 2019
MemeHydrology(pdf)
unpublished draft, 2020
Author Bio