Dept. of CSE, NIT RKL Parallel Processing l The purpose of parallel processing is to speed up the computer processing capability and increase its throughput. l that is, the amount of processing that can be accomplished during a given interval of time. l There are a variety of ways that parallel processing can be classified. l It can be considered from the internal organization of the processors, from the interconnection structure between processors, or from the flow of information through the system. Flynn’s classification l Michael J Flynn classified computers on the basis of multiplicity of instruction stream and data streams in a computer system. l It gives how sequence of instructions or data will be executed upon a single processor l Instruction stream: is the sequence of instructions as executed by the machine l Data Stream: is a sequence of data including input, or partial or temporary result, called by the instruction Stream. Flynn's taxonomy l The four classifications defined by Flynn are based upon the number of concurrent instruction(or control) and data streams available in the architecture: l Flynn’s classification divides computers into four major groups as follows: 1. Single Instruction Stream, Single Data Stream (SISD) 2. Single Instruction Stream, Multiple Data Stream (SIMD) 3. Multiple Instruction Stream, Single Data Stream (MISD) 4. Multiple Instruction Stream, Multiple Data Stream (MIMD) Flynn's taxonomy Abbreviations l IS à Instruction Stream l DS à Data Stream l MM à Memory Stream l SM à Shared Memory l CU à Control Unit l PU à Processor Unit Single Instruction Stream, Single Data Stream (SISD) l Instructions are decoded by the control unit and then control unit send the instructions to the processing units for execution. l Data Stream flows between the processors and memory bi directionally. SISD l Examples of SISD architecture are the traditional uniprocessor machines like a PC or old mainframes. Single Instruction Stream, Multiple Data Stream (SIMD) l Multiple processing elements supervised by the same control unit. l All PU’s receive the same instruction broadcast from the control unit but operate on different data sets from distinct data streams. l The shared memory subsystem may contain multiple modules. Multiple Instruction Stream, Single Data Stream (MISD) l There are n processor units each receiving distinct instructions operating over the same data stream and its derivatives. l The results of one processor become the input of the next processor in the macro pipe. l No real embodiment of this class exists. MISD l Multiple instructions operate on a single data stream. l Uncommon architecture which is generally used for fault tolerance. l Heterogeneous systems operate on the same data stream and must agree on the result. l Examples include the Space Shuttle flight control computer. Multiple Instruction Stream, Multiple Data Stream (MIMD) l Most multiprocessor systems and multiple computer systems can be classified in this category. l An intrinsic MIMD computer implies interactions among the n processors because all memory streams are derived from the same data space shared by processors. MIMD l In the n data streams were derived from disjointed subspaces of the shared memories, then we would have the so called SISD (MSISD) operation, which is nothing but a set of n independent SISD uniprocessor systems. l Two Types: l Loosely Coupled l Tightly coupled Thank You