</> G.H PATEL COLLEGE OF ENGINEERING AND TECHNOLOGY TOPIC : PARALLEL PROCESSING (SIMD AND MIMD). SUBJECT : COMPUTER ORGANIZATION (2140707) PREPARED BY : TEJOY VACHHRAJANI (160110116057) BHAVIK VASHI (160110116061) KHYATI VALERA (160110116059) SUBMITTED TO : PROF. RAJVI PARIKH AND PROF. BHARGESH PATEL CLASS : B.E. IT (2 ND YEAR)
2 SERIAL PROCESSING
A processing in which one task is completed at a time and all the tasks are run by the processor in a sequence. Instructions those are given by the user will be executed by using the FIFO Manner means First in First Out. Traditionally softwares were written for serial computation i.e. To be run on a single computer having a single Central Processing Unit (CPU ). SERIAL PROCESSING
SERIAL PROCESSING
Any operating system running on the single processor is an example of the serial operating system . O ne processor complete one task at a given time and other tasks wait in a queue. Pentium 3 and Pentium 4 are serial processing computers . Windows 95 and Windows 98 are examples of operating systems which do the serial processing. EXAMPLES OF SERIAL PROCESSING
6 PARALLEL PROCESSING
Simultaneous use of multiple compute resources to solve a computational problem by the use of multiple CPUs. Problem is broken down into discrete parts that can be solved concurrently. Used to fulfil increasing demands for higher performance and achieve better throughput . PARALLEL PROCESSING
PARALLEL PROCESSING
An operating system running on the multicore processor is an example of the parallel operating system . Windows 7, 8, 10 are examples of operating systems which do parallel processing . Most Modern CPU’s Exhibit parallel processing via the concept of hyperthreading . EXAMPLES OF PARALLEL PROCESSING
EASY EXAMPLE
In serial processing, same tasks are completed at the same time but in parallel processing completion time may vary . In sequential processing, the load is high on single core processor and processor heats up quickly . In serial processing data transfers in bit by bit form while In parallel processing data transfers in byte form i.e. in 8 bits form Parallel processor is costly as compared to serial processor Serial processing takes more time than parallel processor SERIAL PROCESSING vs PARALLEL PROCESSING
In computing, a vector processor or array processor is a central processing unit (CPU) that implements an instruction set containing instructions that operate on one-dimensional arrays of data called vectors. Vector processors can greatly improve performance on certain workloads, notably numerical simulation and similar tasks. Two popular architectures : - SIMD and MIMD. VECTOR PROCESSING
Flynn's taxonomy is a classification of computer architectures, proposed by Michael J. Flynn in 1966 based on number of instructions and data. U sed as a tool in design of modern processors and their functionalities . The classification is based on the number of simultaneous instruction and data streams seen by the processor during program execution. FLYNN’s TAXONOMY
SISD – Single Instruction, Single Data SIMD – Single Instruction, Multiple Data MISD – Multiple Instruction, Single Data MIMD – Multiple Instruction, Multiple Data FLYNN’s TAXONOMY CLASSIFICATION
SIMD (Single Instruction Multiple Data Stream) All processing units execute the same instruction at any given clock cycle. Each processing unit operates on a different data element . They have multiple processing/execution units and one control unit.
SIMD (Single Instruction Multiple Data Stream)
The first use of SIMD instructions was in the vector supercomputers of the early 1970s Such as the CDC Star-100 and the Texas Instruments ASC, which could operate on a "vector" of data with a single instruction . Vector processing was especially popularized by Cray in the 1970s and 1980s. SIMD HISTORY / EVOLUTION
SIMD HISTORY CRAY - 1 VECTOR PROCESSOR CDC-100 STAR VECTOR PROCESSOR
MMX is a single instruction, multiple data (SIMD) instruction set designed by Intel. Introduced in 1997 with its P5-based Pentium line of microprocessors, designated as “Pentium with MMX Technology ”. SIMD AND INTEL INTEL MMX PROCESSOR
An application that may take advantage of SIMD is one where the same value is being added to (or subtracted from) a large number of data points, a common operation in many multimedia applications. The main advantage of SIMD is that processing multiple data elements at the same time, with a single instruction, can dramatically improve performance. If the SIMD system works by loading up eight data points at once, the add operation being applied to the data will happen to all eight values at the same time. ADVANTAGES OF SIMD
Major disadvantages of SIMD are as follows : - 1. Large register size. 2.More power consumption. 3.Require larger chip area. DISADVANTAGES OF SIMD
Multiple autonomous processors as well as multiple Control Units in the architecture. All processors execute their own set of instructions. At any time, different processors may be executing different instructions on different pieces of data. No centralized clock implied. M IMD (Multiple Instruction Multiple Data Stream)
M IMD (Multiple Instruction Multiple Data Stream)
An example of MIMD system is Intel Xeon Phi, descended from Larrabee microarchitecture . These processors have multiple processing cores (up to 61 as of 2015) that can execute different instructions on different data. NVIDIA graphics cards fit the MIMD model, whereas the AMD/ATI cards more closely resemble the SIMD model, and have a larger number of simpler processors. MIMD : Examples
TWO broad categories : - 1. Single program, multiple data streams (SPMD ). 2. Multiple programs, multiple data streams (MPMD ). Let’s see both of them in detail… MIMD : Classification
Single program, multiple data streams (SPMD ). Multiple autonomous processors simultaneously executing the same program (but at independent points, rather than in the lockstep that SIMD imposes) on different data. Also termed single process, multiple data , the use of this terminology for SPMD is technically incorrect, as SPMD is a parallel execution model and assumes multiple cooperating processors executing a program . SPMD is the most common style of parallel programming . The SPMD model and the term was proposed by Frederica Darema . Gregory F. Pfister was a manager of the RP3 project, and Darema was part of the RP3 team MIMD : Classification
Multiple program, multiple data streams (MPMD). Multiple autonomous processors simultaneously operating at least 2 independent programs. Typically such systems pick one node to be the "host" ("the explicit host/node programming model") or "manager" (the "Manager/Worker" strategy), which runs one program that farms out data to all the other nodes which all run a second program. Those other nodes then return their results directly to the manager. MIMD : Classification
MIMD : Classification Multiple programs, multiple data streams (MPMD) An example of this would be the Sony PlayStation 3 game console.
SPMD vs MPMD SPMD : A single program executes on all tasks simultaneously MPMD : Each task may be executing the same or different programs than other tasks
Less Contention. Highly Scalable. MIMD offers flexibility . It can function as Single user multiprocessor for high performance or Multiprocessor running many tasks simultaneously. ADVANTAGES OF MIMD
Major disavantages are :- 1. Load Balancing. 2. Deadlock situation prone. 3. Waste of Bandwidth. DISADVANTAGES OF MIMD
References Computer System Architecture by Morris M. Mano GeeksforGeeks Wikipedia