Вы находитесь на странице: 1из 6

American Journal of Computer Science and Engineering

2014; 1(2): 12-17


Published online August 20, 2014 (http://www.openscienceonline.com/journal/ajcse)

Architecture of parallel processing in computer


organization
Prabhudev S Irabashetti1, Gawali Anjali B.2, Betkar Akshay S.2
1
Department of Computer, University of Pune, Maharashtra, India
2
Vishwabharati Academy’s college of Engg, University of Pune, Maharashtra, India

Email address
irabashetti@gmail.com (P. S. Irabashetti), Anjaligawali8@gmail.com (Gawali Anjali B.),
Akshaybetkar74@gmail.com (Betkar Akshay S.)

To cite this article


Prabhudev S Irabashetti, Gawali Anjali B., Betkar Akshay S.. Architecture of Parallel Processing in Computer Organization, American
Journal of Computer Science and Engineering. Vol. 1, No. 2, 2014, pp. 12-17

Abstract
This paper review the reporting of parallel processing in processor organization. A parallel processing becomes more
trendy, the oblige for improvement in parallel processing in processor organization becomes even more significant. Here
we evaluate each multiple processor organization, 1) SISD: single instruction single data, 2) SIMD: Single instruction
multiple data 3) MISD: Multiple instruction single data and 4) MIMD: Multiple instruction multiple data along with
Vector Processor/Array Processor, Symmetric Multiprocessing, NUMA and Cluster.
Keywords
Data, Instruction, IS: Instruction Set, CU: Control Unit, MU: Memory Unit PU: Processing Unit, LM: Local Memory,
PE: Processing Element, SMP: Symmetric Multiprocessor, NUMA: Non-Uniform Memory Access

instruction cycle, but multiple sets of operands may be


1. Introduction fetched to multiple processing units and may be operated
upon simultaneously within a single instruction cycle.
The nomenclature of computer systems proposed by M. J. MISD: is a type of parallel computing architecture where
Flynn in 1966 has remained the focal point in the field. many functional units perform different operations on the
This is based on the notion of instruction and data streams same data. MIMD: A type of multiprocessor architecture in
that can be simultaneously manipulated by the machine. which several instruction cycles may be active at any given
Parallelism is to reduce the turnaround time but even time, each independently fetching instructions and
increase the CPU time due to overhead and increase the operands into multiple processing units and operating on
required memory due to duplicate data and instructions. them in a concurrent fashion.
Writing and debugging a parallel program is much more
complicated than a sequential program, at least an order-of-
magnitude. Different architectures, different programming 2. Classification of Parallel
models are suitable for different applications and so the Processor Architectures
characteristics of the applications should make the decision
for the selection of parallel hardware architecture and also 2.1. SISD Model
the parallelization of the applications. A stream is just a In computing, SISD (single instruction, single data) is a
sequence of items (instruction or data) SISD: A type of term referring to a computer architecture in which a Single
computer architecture in which there is a single instruction processor, a uniprocessor, executes a single instruction
cycle, and operands are fetched in serial fashion into a stream, to operate on data stored in a single memory. SISD
single processing unit before execution. SIMD: A type of is one of the four main classifications. In this system
multiprocessor architecture in which there is a single classifications are based upon the number of concurrent
13 Prabhudev S Irabashetti et al.: Architecture of Parallel Processing in Computer Organization

instructions and data streams present in the computer • Single Data: Only one data stream is being used as
architecture. SISD can have concurrent processing input during any one clock cycle
characteristics. Instruction fetching and pipelined execution • Deterministic execution
of instructions are common examples found in most • This is the oldest and even today, the most common
modern SISD computer type of computer
• A serial (non-parallel) computer • Examples: older generation mainframes,
• Single Instruction: Only one instruction stream is minicomputers and workstations; most modern day
being acted on by the CPU during any one clock PCs.
cycle

Figure 1. Taxonomy of Parallel Processor Architectures.

Figure 2. SISD model.

Figure 3. SIMD model.

• A type of parallel computer


• Single Instruction: All processing units execute the
same instruction at any given clock cycle
2.2. SIMD Model • Multiple Data: Each processing unit can operate on
a different data element
Single Instruction stream Multiple Data stream. is a class • Best suited for specialized problems characterized
of Parallel computer. It describes computers with multiple by a high degree of regularity, such as
processing elements that perform the same operation on graphics/image processing.
multiple data points simultaneously. Thus, such machines • Synchronous (lockstep) and deterministic execution
exploit data level parallelism. SIMD is particularly • Two varieties: Processor Arrays and Vector
applicable to common tasks like adjusting the contrast in a Pipelines
digital image or adjusting the volume of digital audio. Most
modern CPU designs include SIMD instructions in order to Examples:
improve the performance of multimedia use. • Processor Arrays: Connection Machine CM-2,
MasPar MP-1 & MP-2, ILLIAC IV
• Vector Pipelines: IBM 9000, Cray X-MP, Y-MP &
American Journal of Computer Science and Engineering 2014, 1(2): 12-17 14

C90, Fujitsu VP, NEC SX-2, Hitachi S820, ETA10 techniques. Specifically, they allow better scaling and use
• Most modern computers, particularly those with of computational resources than MISD does. However, one
graphics processor units (GPUs) employ SIMD prominent example of MISD in computing are the Space
instructions and execution units Shuttle flight control computers.

Figure 4. MISD model.


2.2.1. Advantages
An application that may take advantage of SIMD is one • A type of parallel computer
where the same value is being added to (or subtracted from) • Multiple Instructions: Each processing unit operates
a large number of data points, a common operation in many on the data independently via separate instruction
multimedia applications. One example would be changing streams.
the brightness of an image. Each pixel of an image consists • Single Data: A single data stream is fed into
of three values for the brightness of the red (R), green (G) multiple processing units.
and blue (B) portions of the color. To change the brightness, • Few actual examples of this class of parallel
the R, G and B values are read from memory, a value is computer have ever existed. One is the
added to (or subtracted from) them, and the resulting values experimental Carnegie-Mellon C.mmp computer
are written back out to memory. (1971).
With a SIMD processor there are two improvements to • Some imaginable uses might be:
this process. For one the data is understood to be in blocks, o multiple frequency filters operating on a single
and a number of values can be loaded all at once. Instead of signal stream
a series of instructions saying "get this pixel, now get the o Multiple cryptography algorithms attempting to
next pixel", a SIMD processor will have a single instruction crack a single coded message.
that effectively says "get n pixels" (where n is a number
that varies from design to design). For a variety of reasons,
this can take much less time than "getting" each pixel
individually, as with traditional CPU design.
Another advantage is that SIMD systems typically
include only those instructions that can be applied to all of
the data in one operation. In other words, 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. Although the same is true for
any super-scalar processor design, the level of parallelism 2.4. MIMD Model
in a SIMD system is typically much higher.
In computing, MIMD (multiple instructions, multiple
2.3. MISD Model data) is a technique employed to achieve parallelism.
Machines using MIMD have a number of processors that
In computing, MISD (multiple instruction, single data) is function asynchronously and independently. At any time,
a type of parallel computing architecture where many different processors may be executing different instructions
functional units perform different operations on the same on different pieces of data. MIMD architectures may be
data. Pipeline architectures belong to this type, though a used in a number of application areas such as computer-
purist might say that the data is different after processing aided design/computer-aided manufacturing, simulation,
by each stage in the pipeline. Fault-tolerant computers modeling, and as communication switches. MIMD
executing the same instructions redundantly in order to machines can be of either shared memory or distributed
detect and mask errors, in a manner known as task memory categories. These classifications are based on how
replication, may be considered to belong to this type. Not MIMD processors access memory Shared memory
many instances of this architecture exist, as MIMD and machines may be of the bus-based, extended, or
SIMD are often more appropriate for common data parallel hierarchical type. Distributed memory machines may have
15 Prabhudev S Irabashetti et al.: Architecture of Parallel Processing in Computer Organization

hypercube or mesh interconnection schemes. A multi-core • SIMD computers require wide design effort
CPU is an MIMD machine. resulting in larger product development times.
Since the underlying serial processors change so
rapidly, SIMD computers suffer from fast
obsolescence. Their regular nature of many
applications also makes SIMD architectures less
suitable

2.6. Vector Processor/Array Processor

The Central Processing Unit (CPU), implements


instruction set containing instructions that operate on an
array of data having at least two indices. Single vector
Figure 5. MIMD Model. instruction specifies a great deal of work like as executing
the whole loop. In addition, vector processors provide
• A type of parallel computer vector instructions. With the use of single processor these
• Multiple Instruction: Every processor may be multiple instructions can execute with the help of
executing a different instruction stream Pipelining.
• Multiple Data: Every processor may be working • The computation of each result is independent of
with a different data stream the computation of previous results, allowing a very
• Execution can be synchronous or asynchronous, deep pipeline without any data hazards.
deterministic or non-deterministic • A single vector instruction specifies a tremendous
• Currently, the most common type of parallel amount of work – it is the same as executing an
computer - most modern supercomputers fall into entire loop. Thus, the instruction bandwidth
this category. requirement is reduced.
• Examples: most current supercomputers, networked • Control hazards are non-existent because an entire
parallel computer clusters and "grids", multi- loop is replaced by a vector instruction whose
processor SMP computers, multi-core PCs. behavior is predetermined.
• Note: many MIMD architectures also include
SIMD execution sub-components

Figure 6. Vector Processor.


2.5. Comparison of SIMD and MIMD
• There are two primary types of architectures for
• SIMD computers require less hardware than MIMD vector processors: vector-register processors and
computers because they have only one control unit. memory- memory vector processors.
• SIMD computers require less memory because only In a vector-register processor, all vector
one copy of the program needs to be stored. In operations—except load and store—are among the
contrast, MIMD computers store the program and vector registers.
operating system at each processor. In a memory-memory vector processor, all vector
• However, the relative unpopularity of SIMD operations are memory to memory
processors as general purpose compute engines can Advantages of Vector Processor:
be attributed to their specialized hardware • Each result is independent of previous results by
architectures, economic factors, design constraints, allowing deep pipelines and high clock rates.
product life-cycle, and application characteristics. • A single vector instruction performs a great deal of
• In contrast, platforms supporting the SPMD work - meaningless fetches and fewer branches.
paradigm can be built from inexpensive off-the- • Vector instructions access memory a block at a time
shelf components with relatively little effort in a which allows memory latency to be amortized over
short amount of time. many elements.
American Journal of Computer Science and Engineering 2014, 1(2): 12-17 16

• Vector instructions access memory with known NUMA can remove the problem, arrives when number of
patterns, which allows multiple memory banks to processors accesses the shared memory. For that NUMA
simultaneously supply operands. provides the separate memory for each processor to
• Less memory access = faster processing time. eliminate demerits of tightly coupled systems. NUMA
systems include additional hardware or software to move
2.7. Symmetric Multiprocessing (SMP) data between memory banks. This operation slows the
In computing, symmetric multiprocessing or SMP processors attached to those banks, so the overall speed
involves a multiprocessor computer hardware architecture increase due to NUMA depends heavily on the nature of
where two or more identical processors are connected to a the running tasks.
single shared main memory and are controlled by a single
OS instance. Most common multiprocessor systems today
use an SMP architecture. In the case of multi-core
processors, the SMP architecture applies to the cores,
treating them as separate processors. Processors may be
interconnected using buses, crossbar switches or on-chip
Mesh network. The bottleneck in the scalability of SMP
using buses or crossbar switches is the bandwidth and
power consumption of the interconnect among the various
processors, the memory, and the disk arrays. Mesh
architectures avoid these bottlenecks, and provide nearly
linear scalability to much higher processor counts at the
sacrifice of programmability. Figure 8. NUMA.

2.7.1. SMP Advantages 2.9. Cluster


• Performance: If some work can be done in parallel
• Availability: Since all processors can perform the A cluster is a type of parallel or distributed processing
same functions, failure of a single processor does system, which consists of a collection of interconnected
not halt the system stand-alone computers cooperatively working together as a
• Incremental growth: User can enhance performance single, integrated computing resource.
by adding additional processors – A typical cluster:
• Scaling: Vendors can offer range of products based – Network: Faster, closer connection than a typical
on number of processors network (LAN)
– Low latency communication protocols
– Looser connection than SMP
Clusters are responsible to improve the performance of
the system and provide the availability of the processor,
while typically being much more cost-effective than single
computers of comparable speed or availability. Clustering
relies on the centralized management approach to make
nodes available.
2.9.1. Advantages of Clusters
• Low Cost: Customers can eliminate the cost and
complexity of procuring
• Elasticity: We can add and remove computer
resources to meet the size and time requirements
for your workloads.
Figure 7. Symmetric Multiprocessing System.
• Run Jobs Anytime, Anywhere: You can launch
2.8. Non Uniform Memory Access (NUMA) compute jobs using simple APIs or management
tools and automate workflows for maximum
NUMA refers to the designing of computer memory in efficiency and scalability. You can increase your
multiprocessor system while the memory access time speed of innovation by accessing computer
depends on the memory location. Under NUMA processor resources in minutes instead of spending time in
can access the local memory faster than the non-local queues.
memory. NUMA architectures logically follow in scaling
from symmetric multiprocessing (SMP) architectures.
17 Prabhudev S Irabashetti et al.: Architecture of Parallel Processing in Computer Organization

3. Conclusion [4] http://www.cse.unsw.edu.au/~cs4211/04s1/seminars/rompo.


pdf
In this paper we have talked about the Architectures of all
[5] http://groups.engin.umd.umich.edu/vi/w3_workshops/VI_wi
parallel processing type in computer organization. We also nter04_ganesan.pdf
explained the types of parallel processing with example and
advantages of Single Instruction Multiple Data and
evaluation of SIMD and MIMD. We presented detailed Biography
explanation about Vector processing, SMP (symmetric Prabhudev S Irabashetti received his
multiprocessor), NUMA (Non-uniform memory access), M.Tech. degree from Davangere
Cluster and its advantages University, Davangere in June 2012. He is
presently working as Assistant Professor in
Computer Department, Vishwabharati
Academy’s College of Engg Ahmednagar,
Maharashtra, India. He is currently guiding
B.E and M.E. students of VACOE
Ahmedanagar. He has presented 2 papers in National
Conference, and published 2 papers in International Journals

Gawali Anjali B.(BE Computer Engg.)


Student- Vishwabharti Academy’s College
of Engg., Ahmednagar. University of Pune-
Pune. Maharastra-India
Figure 9. Clustering of Processors.

References Betkar Akshay S. (BE Computer Engg.)


Student- Vishwabharti Academy’s College
[1] Introduction to Parallel Processing, Cornell Theory Center of Engg., Ahmednagar. University of Pune-
Workshop, 1997.
Pune. Maharastra-India
[2] O. Serlin, The Serlin Report On Parallel Processing, No.54,
pp. 8-13, November 1991.
[3] Advances in Parallel Computing from the Past to the Future,
Dr.P Sammulal, Volume 1, Issue 4, September 2013

Вам также может понравиться