The Next Big Thing, or, Your Free Lunch is Over

Posted Sunday, October 2nd, 2005 at 4:10 am

I was doing some homework today for CSU480 - Systems and Networks. It involved me writing a C program that spawned a new process. I also had some questions to answer about threading and synchronization. It led me to poke around Wikipedia, which can be just as distracting as playing a video game - as many others know, you find yourself opening link after link to related articles; such that when you decide to stop, you are no longer reading something in wikipedia that has much of anything to do with what you came looking for initially.

Anyway, I happened to “stumble upon” this particular article, titled The Free Lunch is Over: A Fundamental Turn Towards Concurrency in Programming, by distinguished programmer, Herb Sutter.

I read it from start to finish. You know, my professors keep dropping the question, “Can Moore’s Law really continue to hold up?” And the answer seems to be: Definitely not, and it won’t hold up much longer in the near future and I speculate by the end of my undergrad studies this will be even more evident. Sutter points out that chip designers are going crazy coming up with optimizations to improve performace that go beyond the simple physical downsizing of transistors and the increase of cache size on CPUs. Things like hyperthreading and branch prediction, or multi-core chips are what are being used to get small (in comparison) increases in performance.

Recently (9/27/05), I went to a speech hosted by NEU:CSS:ACM and ECE:IEEE given by Shweta Kabadi, an architect for Intel Corporation. In her introduction and at various times of her monologue, she dropped hints about how “Intel is moving towards ‘platform solutions’”, or, as I’d like to interpret it, “away from CPU architecture”. It seems like Intel knows what’s up. They’re aware of how increasingly difficult it has become to speed up the raw Mhz of CPUs! If Intel is “moving more towards x and y”, then it is an indirect admittence that Moore’s law is soon going to stop holding up for them. If that be the case, then profits are at risk, so obviously they have to start looking in other directions to increase profitablity.

Another thing that I found particular exciting about Sutter’s article is the impetus that the focus on future performance of applications really will depend on better programmers and not better hardware. I know that threading is relatively a new concept for me and I’ve only recently coded a few multi-threaded applications, but it is somewhat reassuring when he compares the learning curve undergone to understand object oriented programming to be about as steep as concurrent programming is. It gives me confidence that I will have to have a good understanding of threading, because future application performance leaps won’t be made with hardware; they’ll be made in software.

So I’m ready to learn. I’m confident that if concurrency in applications is the next fundamental important paradigm that we need to embrace, which, now I strongly believe to be true after reading this article, I’m excited to learn it better and perhaps set myself ahead of my peers by excelling in it sooner than later. If processor performance is going to plateau, then my role as a software developer plays much more importance in the future demand for higher performce applications.

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word