Hands-on Programming for Parallelism using Multi-Cores
Here is Part I of the series of articles on Hands-on Programming for Parallelism using Multi-Cores
Here is Part II of the series of articles on How to assign a cpu core to a Thread?
Here is Part III of the series of articles on These Thread Libraries offer Help
Here is Part IV of the series of articles on Building Blocks of a Parallel Framwork
Here is Part V of the series of articles on Rampaging Threads - Erecting an Effective Barrier
Multi core CPUs are everywhere. Chances are good that the desktop machine you are reading this on, is running a multi-core CPU. They have even found their way into large server farms run by Google.
As processor speeds increase, the increasing power consumption can eventually catch up with that of a rocket exhaust.
Miniaturizing the cpu cores and putting multiple units of execution on the same CPU die alleviates the enormous power consumption problem that Intel and others face.
This is precisely why I think multi-cores are here to stay and programming multi-cores deserves some consideration of your time.
Multi-Cores - Is this new technology?
superscalar CPUs implement a form of parallelism called instruction level parallelism. The CPU executes more than one instruction per clock cycle. Savvy compiler programmers can put more than one parallel execution unit to work within a single processor.
Programming a superscalar CPU requires knowledge of its assembly language and the CPU architecture. Any library code written is most likely non-portable to other platforms.
Today's CPU evolution to multi-cores makes parallel programming possible at the application level. There are a few emerging techniques and tools that show promise. However, this is still an art and hence the plan here to examine the concepts in a series of handson articles.


0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home