Multi-core Confusion Still Reigns – Even With Developers

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

The focus on multi-core processors and their impact on developers continues to move into the mainstream. Processors are simply not getting faster, rather they are getting more cores. As such, any application being created that cannot break out tasks to operate concurrently or in parallel is running about as fast as it can. Running such an application on a multi-core processor means that a chunk of the overall processor will likely be unused even though the application itself is running at 100%.  The more cores a system gets, the more usused — and thus wasted — processing power can occur.

How confusing is the concept of a single threaded application in a multi-cored world? A member of one of the Codeguru discussion forums showed that there is still confusion on this task by making the following post:

Does anybody know how to remove Vista’s limitation on processes?

This seems to be one of the biggest problems with Vista.
I think it’s supposed to be either a security measure, or help with dual core processing.
It’s not helping in either case, since there are little or no programs written to divide(affinity?) work among the two processors, or cores.
Programs that work fine on Xp, are now imposed this dreadful %50 limitation.
It really shows in the overall performance of the operating system. The V-word.

Vista does not have such a limitation on processes. This is a simple case where a single threaded application is running at maximum power on a single core of a dual core system. The result is that half the power of the processor is inaccessible to the application.

We have to be conscious of the fact that multiple cores is the way of the future. Machines are not going to continue double in straight line power every eighteen months. Expect systems to hover in the 2 to 4 Ghz range.

The foreseeable future is cores. As developers we have to start breaking our applications into processes and tasks that can execute independently.

And no, a quad-core system running at 2.0 ghz is not the same as an 8 Ghz machine no matter what a sales person might tell you!

# # #

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read