10. Parallel Processing

For the history of modern computing, advances in engineering have provided amazing increases in computing power. Personal computers today are millions of times more powerful than those available at the start of the PC era. A modern smart phone has more computing power than a multi-million dollar super computer from the 1980’s.

Much of this growth in power has come through processors that simply run faster and can do more complex operations in one step. From a programmer’s perspective, these processors don’t look that different - they just run faster. Unfortunately, future gains in computing power require new ways of thinking about problems. One of the key ways modern computers are making advances is by becoming parallel - sharing work between multiple processing cores.

However, not every problem can easily solved with multiple workers. One of the important challenges for the current generation of computer scientists is to develop tools and techniques to make parallel problem solving easier to apply to a wide variety of problems.

Chapter Topics: