Commentary: It’s the software, stupid
-- Electronic Business, 8/15/2006
Simon Davidmann, President and CEO, Imperas Inc.
In case you haven’t noticed, it is multi-everything these days. Your average consumer device––attempting to converge every communication and multimedia function into one device––has several embedded multiprocessors in it today.
In the computing world, with Intel introducing quad-core processors, it will probably run head to head with Advanced Micro Devices to produce the predicted 32 processor cores on a chip by 2010. And this trend is matched in the embedded world, with the realization that having more processing engines at a lower frequency is the more efficient way to tackle energy consumption.
Drivers for the multiprocessor system-on-a-chip (MPSoC) revolution are all present. Consumers’ thirst for consumer devices that are more and more complex seems insatiable. Systems houses are delivering these devices and, in doing so, are driving the electronics industry to seemingly limitless miniaturization.
For decades the semiconductor industry has delivered, stubbornly ignoring all naysayers’ predictions––without missing a beat––on Moore’s Law, Gordon Moore’s 1964 prediction that silicon transistor capacity would double roughly every 18 months.
Semiconductor technology has delivered as promised but is facing significant barriers going forward. What could go wrong? Plenty, as it turns out. Pure processing performance does not scale well, because of communication––data must be carried between storage units. And simply scaling performance is a sure way to run into the power ceiling, where chips consume so much energy that they can no longer be produced at appropriate yields and cooled efficiently.
Designers are arriving in the embedded world with the same resolve the computing world has today. Instead of performance being scaled by yet another gigahertz, more processors are finding their way into SoCs running at lower frequencies. This moves the challenges into a different domain, because these chips are practical only if software developers can use the parallelism these devices offer.
Unfortunately, the industry lacks the methodologies to efficiently and automatically parallelize and distribute software across those processors. Instruction-level parallelism––the means the hardware provides to allow software programmers to avoid dealing with parallelism themselves––is no longer working. Issuing more than four instructions per cycle in parallel achieves little additional benefit in most applications.
This means that without new software development tools, the MPSoC revolution will come to a screeching halt before it even really starts.
Little has happened since Fred Brooks’ article “No Silver Bullet” appeared in 1987 in IEEE Computer, predicting that the software engineering challenges could not be overcome in the following decade. To wit, the software engineering discipline has not matched productivity improvements on the hardware side. In addition, the hardware world has now changed the fundamentals, because embedded devices are no longer pure von Neumann machines programmed with sequential software.
In the future, developing and programming MPSoCs will require a unified systems design automation methodology in which hardware and software technologies and design processes are combined in a seamless development environment. Providing this new methodology is the next great challenge: Traditional industry boundaries between electronic design automation (EDA) and embedded software must be removed.
New industry associations such as the Multicore Association are emerging in which representatives of both the hardware and software worlds set common standards for communications, synchronization and resource management, multicore debugging, and concurrent programming as well as modeling and simulation.
At the end of the day, “It’s the software, stupid,” as Gary Smith, a managing vice president and chief EDA analyst at Gartner, pointed out during a briefing at the 43rd Design Automation Conference in July. In his view, the EDA industry is best positioned to provide solutions, because it has dealt with parallelism in hardware for quite some time and can apply that knowledge to software.
Overcoming the parallel-programming challenges is the only way to enable the MPSoC revolution. Ironically, it is the hardware side that will be forced to find and fund solutions to make it possible to program applications for the silicon hardware devices it can produce. But once it does, the sky’s the limit.













