Nothing Special   »   [go: up one dir, main page]

What Is Parallel Processing

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 4

What is Parallel Processing?

Parallel processing is another method used to improve performance in a computer system, when a system processes two different instructions simultaneously, it is performing parallel processing Parallelism in Uniprocessor Systems A uniprocessor (one CPU) system can perform two or more tasks simultaneously. The tasks are not related to each other. So, a system that processes two different instructions simultaneouly could be condsidered to perform parallel processing Example of Uniprocessor System Recall in Chapter 11, the instruction pipeline is similar to a manufacturing assembly line. If the assembly line is partitioned into four stages: The first stage receives some parts, performs its assembly task, and passes the results to the second stage; the second stage takes the partially assembled product from the first stage, performs its task, and passes its work to the third stage; the third stage does its work, passing the results to the last stage, which completes the task and outputs its results. As the first piece moves from the first stage to the second stage, a new set of parts for a new piece enters the first stage. Ultimately, every staged processes a piece simultaneously. This is how time is saved and this is an example of parallelism in uniprocessor Parallelism in Multiprocessor Systems Parallel processing systems achieve parallelism by having more than one processor performing tasks simultaneously. Since multiprocessor systems are more complicated than uniprocessor systems, there are many different ways to organize the processors and memory, so a researcher, Michael J. Flynn proposed a classification based on the flow of instructions and data within the computer called Flynns classification Categories of Flynns Classification SISD: Single instruction with single data SIMD: Single instruction with multiple data MISD: Multiple instruction with single data MIMD: Multiple instruction with multiple data (SISD) Single Instruction Single Data SISD machines executes a single instruction on individual data values using a single processor. Even if the processor incorporates internal parallelism, such as an instruction pipeline, the computer would still be classified as SISD

SISD SISD

IS

IS

DS

Anshul Kumar, CSE IITD

slide 6

(SIMD) Single Instruction Multiple Data As its name implies, an SIMD machine executes a single instruction on multiple data values simultaneously using many processors. Since there is only one instruction, each processor does not have to fetch and decode each instruction. Instead a single control unit handles this task for all processors within the SIMD computer

SIMD
P
IS DS

C P
DS

Anshul Kumar, CSE IITD

slide 7

(MISD) Multiple Instruction Single Data This classification is not practical to implement. So, no significant MISD computers have ever been built. It is included for completeness of the classification.

MISD
IS

IS

DS

M
IS

IS

DS

Anshul Kumar, CSE IITD

slide 8

(MIMD) Multiple Instruction Multiple Data

Systems referred to as multiprocessors or multicomputers are usually MIMD. It may execute multiple instructions simultaneously, unlike SIMD. So, each processor must include its own control unit. MIMD machines are well suited for general purpose use.

MIMD
IS

IS

DS

M
IS

IS

DS

Anshul Kumar, CSE IITD

slide 9

MIMD System Architectures The architecture of an MIMD system, as opposed to its topology, refers to its connections with respect to system memory. There are two types of architectures: Uniform memory access(UMA) Nonuniform memory access(NUMA) (UMA) Uniform Memory Access The UMA gives all CPUs equal (uniform) access to all locations in shared memory. They interact with shared memory by some communications mechanism like a simple bus or a complex multistage interconnection network (NUMA) Nonuniform memory access In contrast to UMA architectures, NUMA do not allow uniform access to all shared memory locations, this architecture still allows all processors to access all shared memory locations. However, each processor can access the memory module closest to it, its local shared memory, more quickly than the other modules, so the memory access times are nonuniform.

You might also like