Parallel Computig Assignment
Parallel Computig Assignment
Parallel Computig Assignment
&Engineering
Assignment
1. What is Vector Processor? Classify the Vector Processor with block diagram and vector
processing methods
4. Describe Shared Memory Multiprocessor with block diagram and its applications also.
5. What is Array Processor? Classify the Array Processor with block diagram and vector
processing methods
6. Describe Shared Memory Multiprocessor with block diagram and its applications also.
Q. 1: What is Vector Processor? Classify the Vector Processor with block diagram and Vector processing
methods.
Ans: A vector processor is a central processing unit that can work on an entire vector in one instruction. The
instruction to the processor is in the form of one complete vector instead of its element. Vector processors
are used because they reduce the draw and interpret bandwidth owing to the fact that fewer instructions must
be fetched.A vector processor is also known as an array processor.
Vector Process Classification:
According to from where the operands are retrieved in a vector processor, pipe lined vector
computers are classified into two architectural configurations:
1.Memory to memory architecture –
In memory to memory architecture, source operands, intermediate and final results are
retrieved (read) directly from the main memory. For memory to memory vector
instructions, the information of the base address, the offset, the increment, and the the
vector length must be specified in order to enable streams of data transfers between the
main memory and pipelines. The processors like TI-ASC, CDC STAR-100, and Cyber-
205 have vector instructions in memory to memory formats. The main points about
memory to memory architecture are:
o There is no limitation of size
o Speed is comparatively slow in this architecture
Vector processing is the process of using vectors to store a large number of variables
for high-intensity data processing - weather forecasting, human genome mapping and
GIS data are some examples. A vector processor is a computer CPU with parallel
processors that has the capability for vector processing.
Q. 2: Define the Flynn’s classification with features and neat diagram.
Ans: Flynn proposed a classification for the organization of a computer system by the
number of instructions and data items that are manipulated simultaneously.The
sequence of instructions read from memory constitutes an instruction stream. The
operations performed on the data in the processor constitute a data stream.Flynn's
taxonomy is a classification of computer architectures, proposed by Michael J. Flynn in
1966. The classification system has stuck, and it has been used as a tool in design of modern
processors and their functionalities. Since the rise of multiprocessing central processing
units (CPUs), a multiprogramming context has evolved as an extension of the classification
system.
Flynn's classification divides computers into four major groups that are:
Single instruction stream, single data stream (SISD): A sequential computer which
exploits no parallelism in either the instruction or data streams. Single control unit
(CU) fetches single instruction stream (IS) from memory. The CU then generates
appropriate control signals to direct single processing element (PE) to operate on single
data stream (DS) i.e., one operation at a time.
Examples of SISD architecture are the traditional uniprocessor machines like older
personal computers (PCs; by 2010, many PCs had multiple cores) and mainframe
computers.
Single instruction stream, multiple data stream (SIMD): A single instruction operates
on multiple different data streams. Instructions can be executed sequentially, such as by
pipelining, or in parallel by multiple functional units.
Single instruction, multiple threads (SIMT) is an execution model used in parallel
computing where single instruction, multiple data (SIMD) is combined with
multithreading. This is not a distinct classification in Flynn's taxonomy, where it would
be a subset of SIMD. Nvidia commonly uses the term in its marketing materials and
technical documents where it argues for the novelty of Nvidia architecture.
Multiple instruction stream, single data stream (MISD): Multiple instructions
operate on one data stream. This is an uncommon architecture which is generally used
for fault tolerance. Heterogeneous systems operate on the same data stream and must
agree on the result. Examples include the Space Shuttle flight control computer.
A data parallel job on an array of n elements can be divided equally among all the
processors. Let us assume we want to sum all the elements of the given array and the
time for a single addition operation is Ta time units. In the case of sequential
execution, the time taken by the process will be n×Ta time units as it sums up all the
elements of an array. On the other hand, if we execute this job as a data parallel job on
4 processors the time taken would reduce to (n/4)×Ta + merging overhead time units.
Parallel execution results in a speedup of 4 over sequential execution. One important
thing to note is that the locality of data references plays an important part in evaluating
the performance of a data parallel programming model. Locality of data depends on the
memory accesses performed by the program as well as the size of the cache.
Ans: 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, compared
to the scalar processors, whose instructions operate on single data items. Vector processors can
greatly improve performance on certain workloads, notably numerical simulation and similar
tasks. Vector machines appeared in the early 1970s and dominated supercomputer design
through the 1970s into the 1990s, notably the various Cray platforms. The rapid fall in the
price-to- performance ratio of conventional microprocessor designs led to the vector
supercomputer's demise in the later 1990s.
As of 2016 most commodity CPUs implement architectures that feature instructions for a form
of vector processing on multiple (vectorized) data sets. Common examples include Intel x86's
MMX, SSE and AVX instructions, AMD's 3DNow! extensions, Sparc's VIS extension,
PowerPC's AltiVec and MIPS' MSA. Vector processing techniques also operate in video-game
console hardware and in graphics accelerators. In 2000, IBM, Toshiba and Sony collaborated to
create the Cell processor.
Ans.