Esoteric Dissertations from a One-Track Mind

June 26, 2007

Herb Sutter: The Free Lunch is Over (Parallelism)

Filed under: programming — codesmithy @ 7:12 am

Herb Sutter has written some articles about the coming era of parallelism. Here are some slides from his OGDC talk. Here is his paper from the Dr. Dobbs journal about the free lunch being over. He is fundamentally right about, if applications are going to go faster, they have to be annotated to take advantage of parallelism available via the parallel processors. Applications are not going to get faster, in and of themselves when the next processor comes out unless the applications themselves have some degree of explicit parallelism.

Right now, we exist in sort of the chicken and egg era. While parallelism is well understood in the database domain, trying to add parallelism to existing applications is now frightfully difficult and error prone. There is going to be a gradual move from unstructured data, to structured data in order for libraries that own the data to take care of much of the concurrency for the programmer. I think taking the transactional programming model is going to be the only one that make sense and will be robust. However, it will not be the most efficient, and there will be a tremendous cost transitioning. We see some of this cost come to bear in the Next-Generation Game Consoles where both XBox360 and PS3 have some form of concurrency at their heart. The XBox360 has Symmetric Multi-Processing, that is 6 cores that are virtually identical, and the PS3 has 2 cores that are nearly the same as the equivalent number of cores on the XBox360. The PS3 also has the array of Cell processors, which are streaming processors with a small local memory, but they are able to DMA the data they need back and forth. While the PS3 has more theoretical power, it is harder to take advantage of, therefore, for the first 4 or 5 years of the console lifetime, it will have practically less. Exclusive titles will be the ones that that really make the Cell and the PS3 sing, unless a developer has some great love for the PS3 and wants to make that version of a multi-platform better. However, given the familiarity with the programming model for SMP vs asymmetric multiprocessing, and a generally better tool chain as provided by Microsoft leveraging their Windows Technology, as opposed to Sony who basically has to start from scratch. The default is going to be better use of the underlying platform for the XBox360 in Multi-Platform titles and early XBox360 exclusives.

Although, both consoles really out-pace the programmer experience, and represent something genuinely new in the programming era. It is unlikely that even if the parallel tools were available, programs on the Next-Gen consoles would be able to use them in their purest form, although some of the basic ideas and principles could be followed.

For a closing thought, it is interesting to note that Wii is selling better than the PS3 and XBox360. So, the other possibility is the frantic pace of development just comes to an end.


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: