Channels ▼

Stephen Blair-chappell

Dr. Dobb's Bloggers

Sequential Programming: Like Eating Peas with a Straw.

October 30, 2009

Before the era of multicore chips, performance gains in CPUs was achieved by a combination of ever increasing speed and architectural enhancements. This resulted in more and more power being consumed by the processor -- a situation that could not continue forever.

Something's cooking

I remember a tongue-in-cheek competition 'alternative uses of the Pentium' that came up with some entertaining suggestions. The winner suggested wiring four Pentiums together and using them as a cooker hob. Very amusing! 

The multicore race is here

Rather than making processor faster and faster, the received practice now is to get extra performance by multiple cores. Recently I read a news item that said a start-up company was proposing to make the first 100 core CPU -- claiming that they would 'pip Intel to the post.' So rather than the MHz race we had in the '80s and '90s, we are now entering the multicore race. It seems to be that the multicore era is here to stay -- so we'd better get used to the idea.   

Back in 2007, Intel announced to the public it's 80 core research chip. It made some  programmers wonder how on earth a program be written to take advantage of so many cores.  Writing for 2 or 4 cores seemed manageable, but 80 cores seemed unimaginable. 

Figure 1: Intel's 80 core research chip (circa 2007) .

Speed
GHz
Power
Watts
Perf.
Teraflops
3.16
62
1.01
5.1
175
1.63
5.7
265
1.81

Figure 2: Performance of the 80 core chip.

The performance of this 80 core chip is over 1 Teraflop.  Interestingly,  the first teraflop computer  ASCI Red was considerably bigger and was decommissioned in 2006.

Figure 3: ASCI Red, the first Teraflop computer. Try fitting this in your garage!

Software tools are the real challenge

The challenge for the programmer is how to write programs to take advantage of so many cores. Thankfully companies such as Intel (did I say I work for them ) are putting huge efforts and resources into enabling programming in parallelism.  The Intel Parallel Studio is an example of a tool suite that can be used to write parallel applications.  Its good that the semiconductor industry is taking a lead in developing software tools as well as silicon, otherwise programming for these newer devices would be something akin to eating peas with a straw -  entirely possible , but not very efficient.

 

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video