Chip manufacturers have started to sell multi-core processors for a while now, and the trend is accelerating. But how do we benefit from all this processing power? The answer is clearly 'not much.' So is the concept of 'amoebic computing' the future of parallel processing? A University of Illinois computer scientist thinks so and wants to harness the strength of amoeba into computer cores. He thinks that an 'amoebic computing' system could, 'like the amoeba, replicate tasks waiting to be processed and run them on other cores as needed.' In other words, it would 'break sequential programs into component parts, or services, and send them to available cores instead of having them wait in line.'
You can see on the left a photo of Rakesh Kumar, an assistant professor at the University of Illinois, who works at the Center for Reliable and High-Performance Computing. He's the guy who coined the expression 'amoebic computing' (only 4 results on Google today: check in a few days to see how the number of results is increasing). If the expression becomes popular, it will be because of Greg Kline, who wrote the article linked above for The News-Gazette, Champaign, Illinois. You can send him your comments here.
Let's stay with 'Mr. Greg' -- as his friends call him -- and read what he says about multi-core processors. "Now, chip-making giant Intel is making dual-core processors, in essence processor chips containing two brains. IBM's Cell processor, which runs the PlayStation 3, has eight. Those numbers are likely to continue to grow." For example, Intel announced a few months ago it will have a 80-core processor in a few years.
But how will we take advantage of all this processing power? "Kumar sees the technology enabling a better understanding -- faster -- of the massive amounts of business data, say, Wal-Mart generates every day, and truly realistic games, not to mention computers with which you can converse. That is, if the industry finds new ways to take fuller advantage of the computing power offered by all those cores. 'We don't know how to program them,' said Kumar."
So what's Kumar's proposal to improve this situation? "Kumar's idea is to break sequential programs into a bunch of component parts, or services, and farm them out to the available cores. [...] Moreover, the system could, like the amoeba, replicate those parts and run them on more than one core as needed, if the task was particularly large, important or frequent, for instance. Besides the replication aspect, the system would be like an amoeba in other ways, Kumar said. Made up of software and, eventually, purpose-designed hardware, it could adapt to its environment, for example, changing how it handles things as new demands arise and old ones drop off, in the same way amoebae change shapes in response to conditions around them.
Will Kumar's approach be successful? I really don't know. In the mean time, if you want more information about Kumar's research work, here is a link to a list of his publications. And if you have some time to spare, you can read the PhD Thesis he wrote when he was at the University of California, San Diego, "Holistic Design for Multi-core Architectures" (PDF format, 214 pages, September 2006)
Sources: Greg Kline, The News-Gazette, Champaign, Illinois, July 23, 2007; and various websites
You'll find related stories by following the links below.