• Home
  • Welcome to the Jungle
  • GotW
  • Elements of Modern C++ Style
  • About

Sutter’s Mill

Herb Sutter on software, hardware, and concurrency

Feeds:
Posts
Comments
« Suggestions on improving C++ skills
When is a zero-length array okay? »

Effective Concurrency: Design for Manycore Systems

2009-08-11 by Herb Sutter

This month’s Effective Concurrency column, Design for Manycore Systems, is now live on DDJ’s website.

From the article:

Why worry about “manycore” today?

Dual- and quad-core computers are obviously here to stay for mainstream desktops and notebooks. But do we really need to think about "many-core" systems if we’re building a typical mainstream application right now? I find that, to many developers, "many-core" systems still feel fairly remote, and not an immediate issue to think about as they’re working on their current product.

This column is about why it’s time right now for most of us to think about systems with lots of cores. In short: Software is the (only) gating factor; as that gate falls, hardware parallelism is coming more and sooner than many people yet believe. …

I hope you enjoy it. Finally, here are links to previous Effective Concurrency columns:

The Pillars of Concurrency (Aug 2007)

How Much Scalability Do You Have or Need? (Sep 2007)

Use Critical Sections (Preferably Locks) to Eliminate Races (Oct 2007)

Apply Critical Sections Consistently (Nov 2007)

Avoid Calling Unknown Code While Inside a Critical Section (Dec 2007)

Use Lock Hierarchies to Avoid Deadlock (Jan 2008)

Break Amdahl’s Law! (Feb 2008)

Going Superlinear (Mar 2008)

Super Linearity and the Bigger Machine (Apr 2008)

Interrupt Politely (May 2008)

Maximize Locality, Minimize Contention (Jun 2008)

Choose Concurrency-Friendly Data Structures (Jul 2008)

The Many Faces of Deadlock (Aug 2008)

Lock-Free Code: A False Sense of Security (Sep 2008)

Writing Lock-Free Code: A Corrected Queue (Oct 2008)

Writing a Generalized Concurrent Queue (Nov 2008)

Understanding Parallel Performance (Dec 2008)

Measuring Parallel Performance: Optimizing a Concurrent Queue (Jan 2009)

volatile vs. volatile (Feb 2009)

Sharing Is the Root of All Contention (Mar 2009)

Use Threads Correctly = Isolation + Asynchronous Messages (Apr 2009)

Use Thread Pools Correctly: Keep Tasks Short and Nonblocking (Apr 2009)

Eliminate False Sharing (May 2009)

Break Up and Interleave Work to Keep Threads Responsive (Jun 2009)

The Power of “In Progress” (Jul 2009)

Design for Manycore Systems (Aug 2009)

Share this:

  • Email
  • Twitter
  • Reddit
  • Digg
  • Pinterest

Posted in Concurrency, Hardware, Opinion & Editorial, Software Development | 5 Comments

5 Responses

  1. on 2009-08-11 at 12:10 pm captain bedsock

    The ‘canonical “free lunch is over”‘ graph image on the first page is a bit small & unclear (looking at the key). You can zoom enough to get the gist though.


  2. on 2009-08-12 at 8:32 am Art Scott

    Hi Herb.
    Thanks for your great articles.
    They address the critical issue facing not just software, but the whole industry.

    I’m exploring F# for my art project which uses 100% of my 4-core to display multiple video decodes as patterns in tilings.

    Looking forward to the next 5 years, hoping for more video decode power.

    Art


  3. on 2009-08-13 at 3:15 pm sean

    typo.. “The nave answer “?


  4. on 2009-09-12 at 7:29 pm Herb Sutter

    Captain: You can find a hi-res version of the image with legible legend at the site of the original “The Free Lunch Is Over” article. (The article text is unchanged from its original publication, I just updated the image.)

    sean: Evidently something along the way ate the diacritical.


  5. on 2009-09-14 at 2:17 am Verschiedene Methoden, asynchrone Aufgaben zu erledigen « Yet(i's) (an)other Weblog

    [...] sollte mir dieser Artikel (zusammen mit der „Effective Concurrency“ – Reihe von Herb Sutter) ein paar Anregungen liefern und das hat auch gut [...]



Comments are closed.

  • Tweets

    • Two Sessions: C++ Concurrency and Parallelism – 2012 State of the Art (and Standard): It’s time for, not one, bu... bit.ly/LzhIAi 9 hours ago
    • RT @cppandbeyond: Final Week for Early Bird Discounts! bit.ly/LPdpqj #cppandbeyond 2 days ago
    • @shanselman Please Learn To Think About Abstractions hanselman.com/blog/PleaseLea… 1 week ago
    Follow @herbsutter
  • Popular

    • Two Sessions: C++ Concurrency and Parallelism – 2012 State of the Art (and Standard)
    • Elements of Modern C++ Style
    • Welcome to the Jungle
  • Categories

    • Apple
    • C# / .NET
    • C++
    • Concurrency
    • Effective Concurrency
    • Friday Thoughts
    • GotW
    • Hardware
    • Java
    • Microsoft
    • Opinion & Editorial
    • Reader Q&A
    • Software Development
    • Talks & Events
    • Uncategorized
    • Web

Blog at WordPress.com.

Theme: Customized MistyLook by Sadish.


Follow

Get every new post delivered to your Inbox.

Join 892 other followers

Powered by WordPress.com
loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.