Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

Software in a Multi-Core World

April 08, 2008

I spoke with John Fowler, Executive Vice President in charge of Systems at Sun, about the announcements Sun is making today. In summary, Sun is launching an update to its Niagra line of processors, which are capable of running 64 concurrent threads, and can be paired in systems to run 128 concurrent threads.

The processors use a combination of multi-core architecture, hyper-threading, and other sophisticated microprocessor design techniques (that are beyond this software person's understanding) to achieve this. You can find my write-up of this conversation here:

You can also find Sun's press release for the new processors, and systems built around them, here:

 In terms of the impact this has on software, John raised two points that we should all consider:

  • One day soon, processor cores will become like memory; a commodity that we don't really need to focus on anymore. Creating multithreaded software with dozens dedicate worker threads will be common, and we won't need to worry about things like context-switching, or threads that go into tight loops, and so on, because so many processing cores will be available.
  • Mutli-thread capable processors will have the largest impact in the mobile device world, where cores can be dedicated to particular tasks such as power management, network communication, video, and so on. Imagine the capabilities that cell phones and PDAs will have when they have a 32-core (or more) processor running at their heart! 

Happy coding!


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags


<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags


<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

