Systems that can execute only a single task at a time are becoming increasingly rare. Most processors can simultaneously execute multiple threads, and systems typically have multiple processors.
The objective of this chapter is to cover various techniques for using multiple processors. By the end of the chapter, the reader will have a good understanding of the various alternatives, and a high-level view of their strengths and weaknesses.
It is necessary to start this section with an outline of some useful terminology.
A processor, or CPU, is the physical chip that is plugged into the system. A processor can have multiple cores (a core is the ...