In: Computer Science
Write a 500-word paper giving the classification of a parallel machine, provide a definition, and explain the best uses of the chosen parallel machine.
Parallel Processing is a term used to denote a large class of techniques that are used to provide simultaneously data processing task for the purpose of increasing the computational task speed of a computer system.The parallel processing system is able to perform concurrent data processing to achieve faster execution time .For example : while an instruction is being executed in the A.L.U , the next intstruction can be read from memory .The System may heve two or more A.LU 's and be able to execute two or more instruction at the same time.Therefore, the purpose of parallel processing is to speed up, the computer processing capabilities and increasing its throughput.
There are a varieties of ways that parallel procesiing can be classified.It can be conisdered based on the instruction and data streams , Classification based on the structure of computers ,Classification based on how the memory is accessed and Classification based on grain size.
The two most common ways of classifying parallel computers is by grain size, which is the size of the instructions in the program, or by the different data and instruction streams. These different data and instruction streams are SISD, SIMD, MISD, and MIMD. Michael Flynn in 1972 came up witht his concept of using data and instruction streams as a means to classify the different types of parallel computing. I will go in depth on each of these explaining how they work and what is their best use case.
According to M.J flynn's classification divides computers into four major groups thay are discussed below( SISD, SIMD, MISD, MIMD ) -
Instruction stream and data stream :- The term ‘stream’ refers to a sequence or flow of either instructions or data operated on by the computer. In the complete cycle of instruction execution, a flow of instructions from main memory to the CPU is established. This flow of instructions is called instruction stream. Similarly, there is a flow of operands between processor and memory bi-directionally. This flow of operands is called data stream.
Single stream and single data Stream (SISD) :- It represents the organisation of a single computer containing a central unit, a processor unit , and a memory unit. Instruction are executed sequentially and the system may or may not have internal parallel processing capabilities .parallel processing in this case may be achieved by means of a multiple functional units or by pipelineing process.
Single Instruction and Multiple Data stream (SIMD) :- It represents an organisation that includes many processing units under the supervision of a common control unit.All processor receives the same instruction from the control unit. but operates on different items of data .The shared memory unit must contain multiple modules so that it can communicate with all the processor simultaneously.
Multiple Instruction and Single Data stream (MISD) :- In this organization, multiple processing elements are organised under the control of multiple control units. Structures is only of theoritical interest since no practical system has been constructed using this organisation.
Multiple Instruction and Multiple Data stream (MIMD) :- It refers to a computer system capable of processing several programs at the same time .Most of the multiprocessor and multi-computer system can be classified into their categories.
FLYNN'S CLASSIFICATION :- It depends on the distinction between the performance of the C.P.U and the data processing unit.It emphasizes the behaveral characteristics of the computer system rather that its operational and structural interconnection. Parallel processing computers are required to meet the demand of large scale computation in many scientific engineering , in military , medical ,artificial intelligence and basic research area. Parallel processing can be achieved by pipelineing processing , vector processing and array processng.
Classification based on grain size :- This classification is based on recognizing the parallelism in a program to be executed on a multiprocessor system. The idea is to identify the sub-tasks or instructions in a program that can be executed in parallel.
-----------------------------------------------------------Thank You-------------------------------------------------------------------------------------