(July 2009) Multicore Programming

Virtually any new computer or laptop you buy today has at least two processor cores, and quad core or 8-core machines are widely available. Computer companies have developed multicore systems to get higher performance with lower total power. But what about the software that runs on computers? How many use the multi-threaded features in those computers today? In reality, not too many.

The software industry is facing a development gap with hardware again. The challenges for software developers adapting to multicore processing cannot be ignored. Performance critical applications will demand it. Consumers will ask for it. The programming paradigm is evolving rapidly around it. It is not just a matter of adding threads to your programming codes. New problems surface – coherency, load balancing, partitioning and communication among tasks, even code reuse, software testing and reliability are getting complicated.

To keep you on top of these challenges, we offer a Multicore Programming course that starts with parallel architecture and operating system processes. It teaches developers, step-by-step, how to write codes for multicore. When the course starts in September, we will be in our new facility with nearly all computers upgraded to quad-core and we will provide a lab with Intel Parallel Programming Tools for hands-on learning. Universities around the world are teaching the next generation programmers how to program multicore. Here is the opportunity for working professionals to catch up to the trend.