by Mark Mackay
We’re in something of a transitional phase in computing at the moment, with multi-core processors threatening to take over the world. In spite of this revolution, there is an inherent problem with these increasingly core-tastic CPUs: writing programs that use all of the cores to their full potential is a headache of monumental proportions for software developers.
Rather than writing instructions that are processed one-by-one (or block-by-block) as just one thread’, a programmer has to write to multiple threads in order to keep all the CPU’s cores busy. This requires further steps need to be taken to ensure that all the commands are executed individually and then the outputs are put back together correctly, so that everything makes sense at the other end. If two different threads require the same piece of information at the same time, then conflicts and slowdown occur in the pipeline as one core will have to wait for another core to finish calculating the data before it can carry on.
In order to progress, obviously there need to be methods and technology that will make the process of writing multi-threaded applications easier, so that programmers more readily take full advantage of all the cores that manufacturers such as Intel and AMD are stuffing under the heatspreaders of their CPUs.



1 response so far ↓
1 Posts about Programming from google blogs as of November 9, 2009 « tryfly.com // Nov 9, 2009 at 6:50 pm
[...] [...]