January 22, 2005

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software

From the curious source of NTK comes news of the end of Moore's Law and life as we know it. This time there's evidence: If you are more than 20 years old and have actually factored in Moore's Law into your brain, as any good software engineer has done, you will have noticed a funny thing happen in the last couple of years.

In brief, your CPU isn't getting any faster - clock speeds have hit a wall! The Penny Littles that cheeped before about the end of Moore's Law were all plucked and fried in garlic and olive oil, so for the details, I defy you to read this article, The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software by Herb Sutter which lays out the case. If you can't face the awful awful future now, wait until March when it appears in Dr. Dobbs.

No, it's not that we're confined to ever slower paperclip torture in our office software. The future is concurrency, and that means ... higher development costs and lower reliability. It even goes a bit beyond that, but I've spent my controversy budget for this week, so I'll leave you with NTK's doom and gloom:

                  >> TRACKING <<
       sufficiently advanced technology : the gathering

CPUs aren't getting faster! Multi-core is the future! Which
means we'll all need to learn concurrent, multi-threaded
programming, or else our software is never going to get
faster again! That's what Herb Sutter's future shock article
in Dr. Dobbs says (below). But before you start re-learning
APL, here's a daring thought: maybe programmers are just too
*stupid* to write multi-threaded software (not you of
course: that guy behind you). And maybe instead we'll see
more *background* processes springing up - filling our spare
CPUs with their own weird, low i/o calculations. Guessing
wildly, we think background - or remote - processes are
going to be the new foreground. Oh yeah, and increasingly
we're going to need some consistent way to display quiet,
passive user notifications from these processes that won't
interfere with the main flow of our single-threaded human
masters. What we're trying to say here is that, primitive
though they may be now, apps like GROWL (on the Mac) and
XOSD on Linux are going to be the new squishy UI innovation
area, and you should check them out, futz with them, and
work out your own solutions. You're already curious about
your background tasks, and soon the whole world will be.
       - lock your daughter threads! here comes multiple futures!
             - more interesting than the website implies
      - more interesting python, rendezvous and remote unix hacking
                   - xosd for your tail-piping pleasure

Archive - http://www.ntk.net/
Unsubscribe or subscribe at http://lists.ntk.net/
NTK now is supported by UNFORTU.NET, and by you: http://www.ntkmart.com/

(K) 2005 Special Projects.
Copying is fine, but include URL: http://www.ntk.net/
Full license at: http://creativecommons.org/licenses/by/1.0

Posted by iang at January 22, 2005 03:16 PM | TrackBack
Post a comment

Remember personal info?

Hit preview to see your comment as it would be displayed.