When I watched IBM Corp. (NYSE: IBM)ís Watson on Jeopardy a few weeks ago, it occurred to me that part of why the drubbing was possible was the computing power created by thousands of processors working in parallel. Exciting news, since advances in parallel processing will allow for more intelligent routing on the Internet.
Recently, I stumbled on some research related to this. Apparently, getting multiple processors to play nice is a work in progress. And developing truly effective rules for the road (in the form of distributed computing algorithms) remains a major challenge for computer scientists.
Thatís certainly understandable. What I wasnít prepared for was where scientists are looking for answers: fruit flies. Yep, fruit flies.
Not being a microbiologist or computer scientist, I thought it best to ask someone who's both about what the heckís going on.
Fortunately for me, I found Dr. Ziv Bar-Joseph, associate professor at Carnegie Mellon and lead author of the research paper. Hereís what he had to say:
Kassner: Your research is focused on determining optimal communications paths in digital environments such as multiprocessor arrays. Whatís with fruit flies?
Bar-Joseph: Network applications rely on organizing nodes to determine routing and how to control processors. One method uses a Maximal Independent Set [MIS], a technique that identifies a subset of computers that together connect to every other node in the network and provide structure.
Determining how to select a MIS is difficult and has been under scrutiny for many years. It turns out that fruit flies solve a similar problem. During brain development, a process called Sensory Organ Precursor [SOP] selection occurs.
As in computer networks, some cells (SOP) in the brain will become local leaders (MIS) and convey information from the environment to neighboring cells.
Itís true, methods for selecting an MIS in computer networks exist. But, until our work with flies, selecting the MIS could not be solved without knowing how many neighbors each network node has. Since flies solve the problem without relying on such knowledge, determining how they do it becomes an important question. The answer could lead to robust and efficient computational methods.
Kassner: I have to ask, what made you look at fruit flies in the first place?
Bar-Joseph: It was an accident. While visiting [co-author] Naama Barkai, I met one of her students. His project happened to involve the sensory-nerve cells of fruit flies, specifically how cell-fate determination (very experimental) is used to organize the cells into an efficient parallel-processing sensor array.
I felt something similar could solve the MIS problem. After further discussion, it became clear. The fruit-fly cells are doing something unique.
Kassner: Iíve heard about Carnegie Mellonís FireFly Sensor Network. Is this something that might benefit from your research?
Bar-Joseph: Yes, sensor networks would benefit from our new algorithm. For example, ad-hoc networks consisting of relatively cheap sensing devices are used to monitor environmental hazards.
When activated on site, they need to establish a network hierarchy -- exactly what our algorithm does. Another concern is saving energy. Our fruit-fly-derived algorithm is more efficient than any known method. And, hopefully, it will become the method of choice for sensor-network applications.
Kassner: Iím fascinated by what appears to be a convergence between biology and computing. Do you have any thoughts about that? Are you currently looking at any other relationships?
Bar-Joseph: Computing has relied on ideas from biology for a long time, but in a limited way. We now know more, allowing us to develop computational methods not possible before.
Biological systems address many challenges presented by computer networking. For instance, biological processes are often distributed, as are communication systems used by computers. Thus, I believe, solutions for many computer-network problems can be based on what we learn from biological systems.
For example, we know that cells provide fault tolerance in a clever way. Since handling failures is an issue in computer networks, understanding the mechanism could help create better algorithms for handling fault tolerances.
While biology doesnít necessarily try to find the optimal solution every time, solutions it does come up with (at least the ones that survive) are often robust and adaptable. Currently, this is something that is lacking in computer systems. If we can improve computer technology based on insights from biology, I think it would be great.
Kassner: Thanks, Dr. Bar-Joseph -- thatís some amazing stuff. Now... what do you know about mosquitoes?
— Michael Kassner is a writer and consultant specializing in information security.