Parallel processing (simd and mimd)

BhavikVashi1 7,442 views 35 slides Apr 14, 2018
Slide 1
Slide 1 of 35
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

Parallel processing (simd and mimd)


Slide Content

</> 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

Saves time. Solves larger problems. Cost saving. Provides Concurrency. Why Use Parallel Computing?

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

MIMD : Examples INTEL XEON PHI PROCESSOR NVIDIA GRAPHICS CARD

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