Home »
Computer Science Organization
What is Parallel Processing?
By Shivangi Jain, on July 07, 2018
What is Parallel Processing?
Parallel processing is processing of the data concurrently. We process the data concurrently to fulfill the demands of the increasingly high performance so that to achieve better throughput instead of processing each instruction sequentially as in a conventional computer.
How to Achieve Parallelism?
We can achieve parallelism in two ways
1. Multiple functional units
These systems have two or more ALUs so two or more instruction can be executed at the same time.
2. Multiple processors
These systems have two or more processors operating concurrently.
The earlier processors had only one arithmetic and logic unit in its CPU. Furthermore, the ALU could only perform one function at a time, so that the process for executing a long sequence of arithmetic and logic instruction is quite slow. But nowadays the processors are available with multiple functional units, these multiple functional units used to execute the function of ALU which can be distributed and operate in parallel so that the speed of the processor's increases.
Micheal J.Flynn made an informal and widely used classification of parallelism processor in 1966, which is based on the number of simultaneous instruction and data streams seen by the processor during program execution.
Classifications of Parallel Processing
The classification divides computers into four major groups:
- Single instruction stream - single data stream
- Single instruction stream - multiple data streams
- Multiple instruction streams - single data stream
- Multiple instruction streams - multiple data streams
1. Single data stream - single data stream (SISD)
Most conventional machines with one CPU containing a single arithmetic-logic unit capable of only scalar arithmetic fall into this category. They may have more than one functional unit, but all functional units are controlled by a single control unit.
2. Single instruction stream – multiple data stream (SIMD)
SIMD has multiple processing units and one control unit. They correspond to array processors. In SIMD, all the processing elements received the same instruction from the control unit but operate on different data sets from distinct data streams.
3. Multiple instruction stream single data stream (MISD)
In MISD, there are n processor units each receiving distinct instruction operating over the same data stream and its derivatives. This means one processor becomes the input of the next processor.
4. Multiple instruction stream multiple data stream (MIMD)
In MIMD, there is more than one processor unit having the ability to execute several programs simultaneously. This category involves most of the multiprocessors system and multiple computers systems.