O'Reilly logo

Patterns for Parallel Software Design by Jorge Luis Ortega-Arjona

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. A Brief Introduction to Parallel Programming

'Hard work is a series of simple jobs that were not carried out on time'

Anonymous

Parallel computing involves the simultaneous use of multiple computer resources to solve a single computational problem. The problem is divided into multiple discrete series of instructions that can be executed simultaneously on different processors. Parallel computing has traditionally been associated with 'high performance computing', which uses high-end computer resources to solve 'grand challenge' computational problems. With the advent of commodity-market multi-core processors [AMD08] [Intel08] and clusters of blade computers or low-cost servers, parallel computing is now available to many application developers. Regardless of the parallel computing infrastructure, however, many computational problems can be divided into discrete parts that can be solved simultaneously, and hence solved in less time than with a single-core computer resource. Parallel computing is also commonly used to conduct numerical simulations of complex systems in diverse domains, such as cosmology, weather forecasting, biology and genetics, business operations, material science and so on.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required