Being a basket of concurrency-related morsels too short to stand alone and to long to tweet.
[This is part of the Concur.next series.]
Node.js · This had escaped my attention somehow, but Avi Flax hailed me via twitter, asking me what I thought of Ryan Dahl’s presentation on node.js. Well, I watched this substantial chunk of video end-to-end without even twitching. Ryan’s presentation style could use a little polishing, but his node.js pushed a bunch of my software buttons. ¶
Then, also on Twitter, Terry Jones pointed me at Simon Willison’s Node.js is genuinely exciting and yep, I think it is. I’m going to see how it reacts to 45G of data on a slow many-core machine.
(That Twitter thing, it’s gonna catch on, you just watch).
Optimism · I found myself smiling over and over as I read Greg Pfister’s Oh, for the Good Old Days to Come, which rambles through Moore’s Law and Second Life and concurrency in general. I think a lot of others will smile too. ¶
On Not Stopping · Back around Hallowe’en, InfoQ ran another major Joe Armstrong presentation: Systems that Never Stop (and Erlang). If you’re thinking about concurrency and you’re not paying attention to what Joe Armstrong is saying, you’re Doing It Wrong. ¶
Haff on Reinders on Parallelism · As my audience is sure to remind me, parallelism and concurrency aren’t the same things. That acknowledged, Gordon Haff over at CNET has a two-parter with a gentleman I’ve never met named named James Rainders, who is identified as “Intel’s leading spokesman on tools for parallelism”. ¶
And indeed, the title is On Parallelism, even though the conversation spends much of its time in concurrency territory. Here are Part 1 and Part 2.
Methinks I should have a conversation with Mr. Reinders sometime.
Comment feed for ongoing:
From: Sam Ruby (Nov 30 2009, at 12:49)
"... on a slow many-core machine"
Am I missing something? node.js is single core at the moment, with plans to support the Web Workers API in the future.
[link]
From: Tim (Nov 30 2009, at 12:57)
Hmm... In Ryan's speech, I seem to remember him explicitly claiming there's a thread pool, and I don't see how you could do that stat(2) trick he showed without one.
Will look more closely and report back.
[link]
From: Ben Hutchings (Nov 30 2009, at 18:41)
The way I understood it, there is a thread pool to run blocking operations but the Javascript code all runs in a single thread. So the average concurrency is likely to be slightly greater than 1.
[link]
From: Avi Flax (Dec 01 2009, at 16:05)
@Tim, I thought you'd like that.
I can confirm that there's a threadpool of some kind; a wrote a simple script that saturates both of my cores. I checked out Activity Monitor, and there are only two threads. Seems inline with Ryan's philosophy.
Script is here:
http://groups.google.com/group/nodejs/browse_thread/thread/e1d0bf03ee18543d
[link]