Computing
has evolved from highly centralized systems, organized around mainframes, to local
area and wide area networks that tie together hundreds and even thousands of computers
to the Internet, which is arguably the biggest network of them all. The next step,
according to computer scientist David Evans, is swarm computing, involving hundreds
of thousands of mote-sized devices spread throughout the environment.
As
the name suggests, a close analog to swarm computing is an ant colony or beehive.
All the members of these groups are independent, yet they organize and reorganize,
as either individuals or groups, to take on different tasks required for the common
good as the circumstance arises.
In a computer swarm, each tiny device
might contain a processor, memory, transmitter, power source, and sensor. Spread
outside a secure facility, the swarm might be used to identify intruders and to
invoke appropriate levels of security based on the perceived threat. Creating
such a massive network in which each of the components retains the potential for
individual action while serving collective ends is a complex challenge.
Interested
in finding a way to develop applications that would run on swarm computers, Evans
has taken biology as his model. "The genome is a small program in size, but
much more complex in effect than programs we currently produce today," he
observes. "Incorporating principles from biology may help us develop more
effective swarm programming."
For instance, in a developing embryo, independent
cells react to changes in their environment and to chemical signals to change
form, thus producing tissues and organs. Taking his cue from nature, Evans also
focuses on the interactions among simple components, rather than more complex
systems, as they self-organize to produce a desired objective under specific conditions.
Evans is further inspired by the robustness of most biological organisms,
even in the face of a hostile environment that can destroy relatively weak individual
components. Because individual elements in a swarm computer will be cheap and
disposable, swarm computing networks must be self-healing and adaptable.
Evans
is in the formative stages of this work. With support from an NSF CAREER award
and an Information Technology Research (ITR) award, Evans and his research group
have created a program to simulate cells' response to changes in their environment
and to the failure of nearby cells. He is also building a library of simple actions,
which are called primitives, that these individual elements might perform and
developing ways to measure the robustness of the systems he creates. "My
goal is to give programmers the tools needed to produce sophisticated behavior
in swarms without having to worry about each individual device," he says.
This story first appeared in the Explorations, a publication produced by
the Office of the Vice President for Research and Graduate Studies. Visit
Explorations here.