In a column called The Good News and the Bad News in IEEE Computer magazine (November 2007 issue), Prof. Wayne Wolf at Georgia Tech (and a regular columnist on embedded systems for Computer magazine) talks about the impact of multiprocessing systems (multicore, multichip) on embedded systems. In general, his tone is much more optimistic and upbeat than most pundits.
Basically, he echoes my sentiment that multiprocessing systems often offer clear performance and efficiency advantages, especially heterogeneous systems. Programming such systems are a bit more complicated, admittedly, but the resulting system advantages are clear. Quote:
A surprising number of embedded computing systems use multiple processors. There are several good reasons for doing this. Segregating different real-time tasks onto different CPUs makes it easier to determine whether they’ll meet their deadlines. Thanks to the yield characteristics of VLSI, using several smaller CPUs also can be cheaper than using one big CPU.
And later:
Like multiprocessing, heterogeneous multiprocessing has some downsides. If you think it’s hard to debug a program that runs on two identical CPUs, you’ll be totally
mystified by a program that runs on a reduced-instruction-set computing processor and a digital signal processor. Programming heterogeneous systems generally requires using multiple sets of programming tools and being extra careful at the boundary between the two systems.But heterogeneity builds on the advantages of multiprocessors to provide further benefits. Many design studies have shown that specializing the instruction set of a CPU to the task that it runs saves substantial energy and improves performance (see Chris Rowen’s “Reducing SoC Simulation and Development Time,” Computer, Dec. 2002, pp. 29-34). If you start with a uniform multiprocessor and replace CPUs with new processors that are specialized to tasks that actually run in that part of the system, you can gain performance without substantial changes to your software.
This might be simplifying the problem a bit, but overall I think that he is right in his assessment.
Thanks for an optimistic and realistic piece!
One thought on “Wayne Wolf on “The Good News and the Bad News” of Embedded Multiprocessing”