space space space
space
University of Illinois at Urbana-Champaign
space
space

Computers can mimic nature and outperform themselves


Indranil Gupta

Nature has evolved over millions of years, and its creatures have found very efficient ways to thrive. Digital computers, on the other hand, are dependent on us humans, and they have "evolved" only over the last sixty years or so. Computer scientists like Professor Indranil Gupta are looking at borrowing ideas and principles that govern natural phenomena and applying them to computer systems. Most computer systems are distributed, meaning they have multiple nodes. The Web, the Internet, peer-to-peer networks, and databases are all examples of distributed systems. So are colonies of bees and ants, flocks of birds, and herds of sheep. Gupta is extracting the behavior of animals and designing nature-based distributed systems that are effective in solving interesting problems. These problems range from designing secure file systems to fast grid computation and managing large-scale clusters of PCs.

Gupta designs distributed systems in a very systematic way, first by making mathematical models of natural systems using differential equations. From those, he can develop a set of techniques that take the mathematical models as input to design a distributed system. It turns out that when these differential equations are inserted into the distributed system design, the result is the same as what happens in nature. What has surprised and delighted Gupta is that these design methodologies are well-suited for solving some interesting problems in distributed systems, and that some of his nature-based systems outperform current computer science systems that have been hand-designed.

Honey Sort

Honeybees are the source for Gupta's novel sorting method based on bee behavior that works well for grid computing. Gupta has leveraged the bee's ability to interact with its environment and with other bees as well as its ability to make good decisions that ensure the life of the colony. Bees do not randomly flit about from flower to flower looking for nectar. Instead, they rely on each other to point out good nectar sources. When an individual bee finds a good source, he will perform a little dance (flying around in a figure-eight, for example), whose orientation lets other bees know the direction of the source. The better the source, the more excited the bee is, which he shows by dancing for a longer time. He might do five figure-eights for a ho-hum flower and ten for a really good one. Other bees are more likely to spot the bee doing the ten figure-eights simply because the duration of the dance is longer. These other bees will statistically decide to go to the really good nectar source until it is exhausted.

Now extend this setup to a distributed computer system. Instead of bees, we have PCs, and the nectar sources are represented by different programs that the PCs can run on the dataset given to them. For instance, to sort a large database, one nectar source (program) may be Quicksort. Another may be Insertionsort. Programs are ho-hum or good depending on how fast they perform. Without the honeybee mechanism, the PCs have no way of knowing which of the nectar source (program) is fastest for a given dataset. However, suppose the PCs talk to each other like the bees do with their dancing? Just as the honeybees quickly converge to the better nectar source, the PCs will decide amongst themselves which program is the faster one.

This honeybee mechanism, called HoneySort, has been implemented by one of Gupta's former students Yookyung Jo and has been deployed in the Computer Science Instructional Laboratories and in experiments. Most surprisingly, experiments reveal that HoneySort is faster than the traditional parallelized versions of both Quicksort and Insertionsort, both of which are traditional programs and are already considered among the fastest existing sorting programs. "So, computers can mimic nature and outperform themselves!" exclaimed Gupta.

MON: Management Overlay Networks

MON, or Management Overlay Networks, is a project Gupta is working on with Professor Klara Nahrstedt. The main idea behind MON is to manage clusters of servers, such that when an application is run on the cluster, the user will be guaranteed a certain level of service. To implement this, one of the ideas is to borrow the phenomenon of epidemics from nature. We all know how information spreads in among humans: rumors spread in society, and diseases spread in populations. These spreading processes happen quickly, comprehensively, and automatically. The MON project harnesses this powerful mechanism for useful purposes. A company might run a server farm with a couple hundred machines that host thirty to forty websites. Alternately, a global-scale cluster such as PlanetLab may be running distributed applications like DNS. In such a large cluster of PCs, a user or administrator may want a guarantee that thirty machines in this cluster will always be running a particular program. When a link goes down or a bug arises, you want the system to manage itself, and what needs to be done is specified upfront by the user. MON fills in "how" these user-defined management actions are implemented. MON can also be used for reconfiguration on failures and to query your distributed system. You may want to ask it: "How many of my original thirty nodes are up right now?" If one is down, do you want it to do anything about it? If five are down, do you want to create another five? These are the kind of management decisions the cluster will make automatically according to your specifications. When you query such a system, the questions and the answers are spread and collected using epidemics. If you ask the MON system a question, it will get you the answer, even if several nodes have failed or several links have collapsed. It gets around these failures by using the epidemic mechanism.

Folklore

There are several methods for content distribution on the Web, both of which borrow terms from viruses-the kind that make us ill. MON uses the epidemic method, also known as the Gossip Protocol. With epidemic content distribution, information spreads from one machine to another. Everyone gets it, and that's it. Another method is endemic, which behaves like influenza, in which you contract the disease, recover, and then become receptive to infection again. In this case, only a small fraction has the disease at a time, but it's very difficult to get rid of. The protocol is a distributed design system or algorithm. Now, replace each person with a PC, and each virus (epidemic or endemic) with a file. When a file is inserted into the system, it cannot be eliminated because it is constantly moving around. One of Gupta's PhD students, Ramses Morales, has written a distributed file system called Folklore, which improves upon the endemic protocol to create a distributed backup storage scheme. "Here we are using techniques that virus writers use but for good purposes," said Gupta.

Overhaul

Gupta's project Overhaul fights flash crowds at websites. Flash crowds, also known as the "slash-dot effect," are cyber versions of crowds that suddenly flock together to, say, a celebrity sighting or car wreck-if there are too many people, you can't see a thing. The term flash crowd is from the 1971 novella by the same name by Larry Niven in which a whole bunch of people wanted to teleport to the same place at the same time. In the case of an overcrowded website, the result is denial of service. Flash crowds at Victoria Secret's first multicast and at CNN's website on 9/11 overwhelmed content provider's Web servers and essentially shut the sites down. Overhaul, written by Gupta's graduate studnets Jay Patel and Charles Yang, solves the flash crowd problem by masking the servers predicted to fail and by using client replication. When the detector running at the server detects a flash crowd coming, it goes into flash crowd mode. In this mode, links among clients are maintained and the server decides which client can fetch the data. Then the other clients fetch the data from the lucky client that got through. If that client is overwhelmed, another can still access the server. Overhaul works because it uses the "wisdom of the crowds" - clients help each other fetch content at times when the server is stressed.

"Research on these nature-inspired designs for distributed computer systems is a good mix of theory and experimental, rather than merely simulated, results. That's what I like most about this research. In most research projects, you design a system and hack it up. It works, you go away, and no one really learns anything from it. But things we have learned with these nature-inspired projects will still be around even after the project is over," said Gupta.

Written by Judy Tolliver, February 17, 2006


--
Last Modified August 07 2006 08:59:20.

space
space

space

Department of Computer Science, Thomas M. Siebel Center for Computer Science, 201 N Goodwin Ave,
Urbana, IL 61801-2302. The Department is part of the College of Engineering at the University of Illinois at Urbana-Champaign. Contact academic@cs.uiuc.edu with academic questions
or webmaster@cs.uiuc.edu with questions or comments on this page.