Ads by TechWords

See your link here
Receive the latest technology news and information.
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
Cloud Computing
View all newsletters




Privacy Policy
 

Why desktop multiprocessing has speed limits

Multicore chips are a boon for desktop processing speed, but software can't always keep up. Here's why.

October 5, 2009 06:00 AM ET

Computerworld - Until recently, you could reasonably expect this year's software to run faster on next year's machines, but that won't necessarily be true going forward. For the foreseeable future, significant performance improvements are likely to be achieved only through arduous reprogramming.

Some time ago, computer vendors passed the point of diminishing returns when it comes to processor clock speeds, and they could no longer keep increasing frequency rates. To maintain continued performance improvements, suppliers turned to installing multiple instances of the processor -- multiple cores -- on a processor chip, and as a result, multicore processors are now mainstream for desktops. But to realize any performance improvements, the software has to be able to use those multiple cores.

And to do that, most software will need to be rewritten.

"We have to reinvent computing, and get away from the fundamental premises we inherited from von Neumann," says Burton Smith, technical fellow at Microsoft Corp., referring to the theories of computer science pioneer John von Neumann. "He assumed one instruction would be executed at a time, and we are no longer even maintaining the appearance of one instruction at a time."

But software can't always keep up with the advances in hardware, says Tom Halfhill, senior analyst for the newsletter "Microprocessor Report" in Scottsdale, Ariz. "If you have a task that cannot be parallelized and you are currently on a plateau of performance in a single-processor environment, you will not see that task getting significantly faster in the future," he says.

For four decades, computer performance progress was defined by Moore's Law, which said that the number of devices that could economically be placed on a chip would double every other year. A side effect was that the smaller circuits allowed faster clock speeds, meaning software would run faster without any effort from programmers. But overheating problems on CPU chips have changed everything.

"The industry has hit the wall when it comes to increasing clock frequency and power consumption," says Halfhill. Some chips are edging above 4 GHz, "but those are extreme cases," he adds. The mainstream is still below 3 GHz. "The main way forward is through multiple processors," Halfhill concludes.

By adding more cores to the CPU, vendors offer the possibility of higher performance. But realizing higher performance through multiple cores assumes that the software knows about those cores and will use them to run code segments in parallel.

Even when the software does that, the results are gated by Amdahl's Law, named for computer pioneer Gene Amdahl. Sometimes called Amdahl's Curse, it lacks the upbeat outlook of Moore's Law. It says that the expected improvement from parallelization is 1 divided by the percentage of the task that cannot be parallelized plus the improved runtime of the parallelized segment.

In other words, "it says that the serial portion of a computation limits the total speedup you can get through parallelization," says Russell Williams, chief architect for Photoshop at Adobe Systems Inc. "If 10% of a computation is serial and can't be parallelized, then even if you have an infinite number of infinitely fast processors, you could only get the computation to run 10 times faster."

People in the know often refer to Photoshop as a model desktop application in terms of multicore support and parallelization. Williams says that Photoshop has been supporting multiprocessor operations since about 1995, but he adds that even so, much of Photoshop's code is devoted to opening and closing dialog boxes and therefore isn't subject to parallelization.



Jump to comments

parallelization

Additional Resources

EFD vs. HDD - What You Need to Know
WHITE PAPER
Enterprise flash drives provide a new Tier 0 storage layer capable of delivering high I/O performance at a very low latency. Proper use of EFDs in an Oracle environment can deliver increased performance compared to fibre channel drives. Read the recommendations for identification of the best DB components for EFDs.
Gartner Research Report: Magic Quadrant for Application Delivery Controllers, 2009
WHITE PAPER
The market for products to improve the delivery of application software over networks remains dynamic and innovative. Vendors focused on solving enterprises' most-pressing application problems have become the top players.
Eight Criteria for Server Load Balancing
WHITE PAPER
Server load balancers are a simple yet highly effective means to scale an application environment while ensuring its availability. Today's solutions should also address application performance and security. Read about the top eight criteria you should consider when choosing a server load balancer and how Citrix NetScaler meets those requirements.

What People Are Saying

White Papers & Webcasts

The Workday User Experience Video
Watch Workday's Creative Director, Scott Lietzke, discuss the business-centered design philosophy at Workday.

Business Process Framework Demo
Learn about Configurable Business Processes and Calculated Fields. Watch Now!

Manager Experience Demo
Go beyond self-service solutions to perform more effectively. Watch Now.


IT Jobs