Bee Strategy Helps Servers Run More Sweetly
Computer version of bee dance directs server power
Posted November 16, 2007 | ATLANTA
Honeybees somehow manage to efficiently collect a lot of nectar with limited resources and no central command - after all, the queen bee is too busy laying eggs to oversee something as mundane as where the best nectar can be found on any given morning. According to new research from the Georgia Institute of Technology, the swarm intelligence of these amazingly organized bees can also be used to improve the efficiency of Internet servers faced with similar challenges.
A bee dance-inspired communications system developed by Georgia Tech helps Internet servers that would normally be devoted solely to one task move between tasks as needed, reducing the chances that a Web site could be overwhelmed with requests and lock out potential users and customers. Compared with the way server banks are commonly run, the honeybee method typically improves service by 4 percent to 25 percent in tests based on real Internet traffic. The research was published in the journal Bioinspiration and Biomimetics.
After studying the efficiency of honeybees, Craig Tovey, a professor in the H. Milton Stewart School of Industrial and Systems Engineering at Georgia Tech, realized through conversations with Sunil Nakrani, a computer science colleague visiting from the University of Oxford, that bees and servers had strikingly similar barriers to efficiency.
"I studied bees for years, waiting for the right application," Tovey said. "When you work with biomimetics (the study of how biological principles can be applied to design and engineering), you have to look for a close analogy between two systems - never a superficial one. And this definitely fit the bill."
The more Tovey and Nakrani discussed bees and servers, the surer they became that somehow the bees' strategies for allocating limited resources in an unpredictable and constantly changing environment could be applied to Internet servers.
Honeybees have a limited number of workers at any given time to fly out to flowers, collect nectar, return to the hive and repeat until the nectar source is depleted. Sometimes, there's an abundance of nectar to be collected; at other times nectar is scarce. The bees' environment is constantly changing - some flower patches occasionally yield much better nectar than others, the seasons shift and rainy days make nectar collection difficult. So how do the bees manage to keep a steady flow of nectar coming into the hive?
Internet servers, which provide the computing power necessary to run Web sites, typically have a set number of servers devoted to a certain Web site or client. When users access a Web site, the servers provide computing power until all the requests to access and use the site have been fulfilled. Sometimes there are a lot of requests to access a site (for instance, a clothing company's retail site after a particularly effective television ad during a popular sporting event) and sometimes there are very few. Predicting demand for Web sites, including whether a user will access a video clip or initiate a purchase, is extremely difficult in a fickle Internet landscape, and servers are frequently overloaded and later become completely inactive at random.
Bees tackle their resource allocation problem (i.e. a limited number of bees and unpredictable demand on their time and desired location) with a seamless system driven by 'dances.' Here's how it works: The scout bees leave the hive in search of nectar. Once they've found a promising spot, they return to the hive 'dance floor' and perform a dance. The direction of the dance tells the waiting forager bees which direction to fly, the number of waggle turns conveys the distance to the flower patch; and the length conveys the sweetness of the nectar.
The forager bees then dance behind the scouts until they learn the right steps (and the particulars about the nectar), forming a bobbing conga line of sorts. Then they fly out to collect the nectar detailed in the dance. As long as there's still nectar to be found, the bees that return continue the dance. Other forager bees continue to fly toward the source until the dancing slowly tapers off or a new bee returns with a more appealing dance routine (Hey, the nectar over here is even better!).
While all that dancing may not sound like a model of efficiency, it's actually optimal for the unpredictable nectar world the bees inhabit, Tovey said. The system allows the bees to seamlessly shift from one nectar source to a more promising nectar source based on up-to-the-minute conditions. All this without a clear leader or central command to slow the decision making process.
"But the bees aren't performing a computation or strategy, they ARE the computation," Tovey added.
Internet servers, on the other hand, are theoretically optimized for 'normal' conditions, which are frequently challenged by fickle human nature. By assigning certain servers to a certain Web site, Internet hosts are establishing a system that works well under normal conditions and poorly under conditions that strain demand. When demand for one site swells, many servers sit idly by as the assigned servers reach capacity and begin shifting potential users to a lengthening queue that tries their patience and turns away potential customers.
Tovey, a co-director of the Center for Biologically Inspired Design at Georgia Tech, and Nakrani set to work translating the bee strategy for these idle Internet servers. They developed a virtual 'dance floor' for a network of servers. When one server receives a user request for a certain Web site, an internal advertisement (standing in a little less colorfully for the dance) is placed on the dance floor to attract any available servers. The ad's duration depends on the demand on the site and how much revenue its users may generate. The longer an ad remains on the dance floor, the more power available servers devote to serving the Web site requests advertised.