Chapter 2

Parallelism in All of Its Forms

Abstract

This chapter looks at the different forms of parallelism that can be exploited to produce more efficient systems, including Flynn’s taxonomy as well as how to use hardware acceleration as part of the partitioning process when mapping an algorithm on to a multicore processor.

Keywords

Parallelism; Flynn’s taxonomy; data parallelism; task parallelism

There are many forms of parallelism. We have been moving in this direction for many years, and they take different forms. Some of the key movements toward parallelism include:

• Bit-level parallelism

• Instruction-level parallelism (ILP)

• Simultaneous multithreading

• Single instruction, multiple data (SIMD)

• Data parallelism

• Task parallelism

Get Multicore Software Development Techniques now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.