Ponder this: " ... multicore processors are a hardware development that software is poorly equipped to utilise." That, writes Darryl Gove in his blog on multicore processing and quoting David Patterson's IEEE Spectrum article entitled "The Trouble with Multicore." Gove takes issue with Patterson; in Gove's view, multicore is the solution, not the problem.
Gove concedes that there is merit in one of Patterson's contentions, namely, that most programming languages don't describe parallelism very well. Gove is less persuaded of the force of Patterson's second point, which is that most development tasks involve dependencies that need to be acknowledged in the design of a project.
Gove suggests that, from the outset, " ... dependencies within a task are an indication that parallelism needs to be discovered outside that task." Even so, he adds, most problems require parallelizing only once.
On Patterson's next point, Gove suggests that opportunities for parallelism are often either overlooked or find users blaming the processor for issues that are really the realm of other aspects of the machine. " ... given a number of cores, it is almost always possible to find work to keep them busy," he writes. For example, excessive boot-up times and time required for email downloads are often inappropriately laid at the feet of the laggard processor, Gove asserts. Disk access can be the culprit in the first instance and either network latency or bandwidth issues in the second, he contends.
On the other hand, wishing to avoid the interruption of a streaming video by a virus scan is easily solved by the presence of more than a single core, just as the time for compiling an application can be speeded up by discovering the possibilities for parallel compilation. Processor performance is not so clearly the impediment in either of these instances.
Taking up Patterson's third point, Gove maintains that processor performance is less often the cause of system limitations than other issues suck as disk, network, device speed, etc. "If anything having multiple cores enables a system to remain useful while other compute tasks are completed," he writes.
"Most commonly encountered computational activities are either easy to parallelise, or there are ways of extracting parallelism at other levels," he continues.
Gove concludes with a rhetorical questions for his readers: "Perhaps there are 10% of problems that don't map well to multicore processors, but why focus on those when the other 90% do?"
More Information
Oracle Solaris Studio Exploits Parallelism Capability of Intel's Newest Processors
Parallel Programming with Oracle Developer Tools
Tuning Techniques for Best Results on Sun CMT Platforms
[...read more...]
Other articles in the Hardware section of Volume 149, Issue 3:
The Opportunity for Parallelism Is Where You Find It
(this article)
See all archived articles in the Hardware section.
|
|
Top 10 Most Popular Articles in Current Issue (Vol 167, Issue 4)
|
|
|
|
|
Recent Blog Entries as of February 4, 2012, 11:31 am |
|
|
|
|
|
|