Are You Falling Behind? The Multicore, Concurrency Question...

Are you looking seriously at concurrent or parallelized procedures within your applications yet? Do you know what impact using such techniques is going to have on your development cycle or your applications?

If you are not at least considering the impact of multi-core processors on your application development, then it might be a good time to start. If you look at the system offered today, you'll find that many now come with dual core chips. On higher-end desktop systems quad-core is becoming the norm. In 2010 you'll see AMD and Intel start migrating the high-end towards six-core chips.

The number of cores is going to continue to grow. In fact, in 2010 Intel is expected to release a 48-core chip to researches to begin using. According to BBC News, Intel has already developed an x86 based 48-core chip dubbed the Single-Chip Cloud Computer (SCC).

If you are not adjusting your applications to take advantage of multi-core, then you could be wasting nearly 80% of the power of a six core chip. On a 48 core chip you'd barely be touching the power if you don't adjust your application.

Of course, you can argue that 48 core chips are only for the high-end user and not main stream. Of course the same argument was made with dual core chips just a few years ago. The other old argument is that you'll never use all the power of the many cores. Again, a similar argument was made a few years ago about disk space. Nobody would ever need a terabyte of data storage on their machines. They could never use it all. Yet today, people are buying Terabyte drives for under $100. More importantly, they are using the space. Of course, to process all that data, what would be better than applications using multi-core chips to process it concurrently!

Are you already considering the impact of multi-core on your applications?