MulticoreInfo.com header image 2

Design Considerations For Parallel Programming

September 19th, 2008 · 1 Comment




Author: David Callahan for MSDN Magazine

From about 1986 to 2002, the performance of microprocessors improved at the rate of 52% per year. This astounding technology advance was the result of a combination of the ever-shrinking cost of transistors, as per Moore’s Law, and the engineering excellence of processor vendors. This combination has been referred to as “Moore’s Dividend” by Microsoft Researcher Jim Larus, who reflects on how this dividend has paid for the creation of the modern software industry and allowed computers to become as pervasive as they are (see go.microsoft.com/fwlink/?LinkId=124628).

On the software side, this phenomenon is called the “free lunch”—application performance improving simply by upgrading the hardware on which it runs. (For more on this, see “A Fundamental Turn Toward Concurrency in Software” at ddj.com/184405990.)

But the model is changing; today, performance is improved by the addition of processors. So-called multicore systems are now ubiquitous. Of course, the multicore approach improves performance only when software can perform multiple activities at the same time. Functions that perform perfectly well using sequential techniques must be written to allow multiple processors to be used if they are to realize the performance gains promised by the multiprocessor machines.

Full Story from MSDN

  • Share/Save/Bookmark

Tags: MulticoreInfo · Programming

Like what you're reading? Come back every day for multicore news, or subscribe to RSS updates.



Stumble It!     


1 response so far ↓

  • 1 Building Concurrent Apps From Simple F# Expressions // Sep 22, 2008 at 6:25 am

    [...] Links Solving 11 Likely Problems In Your Multithreaded Code Design Considerations For Parallel Programming The Rise Of Functional Programming: F#/Scala/Haskell Improved Support For Parallelism In The Next [...]