Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

DESIGN AND DEVELOPMENT

OF A MODEL FOR
PARALLELIZATION OF
SEQUENTIAL PROGRAM FOR
EXECUTION ON MULTICORE
ARCHITECTURE

Under the guidance of Padmapriya.Patil


madam
Literature survey
• The sequential code must be modified to
allow parallel execution, there are three ways
a piece of code can be parallel:
1. Control parallelism
2. Data parallelism
3. Functional parallelism
• The main goal of parallel processing is to
achieve efficient and scalable
implementations for problems of interest on a
parallel machine.
• Some tools analyze sequential programs for
parallelism, analyze critical code sections and
help users port existing sequential programs
to parallel platform.
ABSTRACT
• The sequential programs are time consuming
for execution.
• Nowadays the multiple core architectures
have major advantages over single core
architecture.
• Because of factors like power dissipation, non
scalability and reliability the performance of
single core architecture is going down.
•Multi core processors have paved the way
to increase the performance of any
application by the virtue of benefits of
parallelization.
•This proposed project work here gives the
methodology to parallelize a given
sequential program into modules to work
parallely on multi-core architecture.
INTRODUCTION
• Parallelization is becoming necessity of
parallel computing field. The main reason of
parallelisation is to compute large and complex
program as fast as possible. However it is
difficult to parallelize the sequential program.
• Sequential program is defined as set of
instructions in a serial fashion.
• Instructions are executed line by line one after the
other. It takes so much time to compute large
sequential programs which leads to performance
degradation of computer systems.
• Parallelism is one of the key means for improving
the performance of computer system.
• Parallelism in programs is a fundamental
characteristic of the program that denotes the
independence of computation in a program.
• The prevailing sequential programs are posing many
problems relative to their execution.
• Presently the multiple core architectures have major
advantages over single core.
•According to Moore’s law, ‘the number of transistors in a
dense integrated circuit doubles about every two years’.
•Parallelization is breaking the problem into independent parts
so that each processing element can execute its part of the
algorithm concurrently with others.
•Multi-core processors have paved the way to increase
of the performance of many applications by the virtue
of benefits of parallelization.
•Parallelization is technique of identification of
independently executing sequential
Need of parallelization
• The main reason of parallelization of a sequential
program is to run the program faster.
• There are some laws that help the simultaneous
execution of parallel programs, they include
• Amdahl’s law : According to the Amdahl law, if
we execute the parallel program on parallel
processor, some portion of it cannot be executed
parallely. That portion has to be executed
sequentially by single processor.
• Let α be the portion which cannot be
parallelized. The rest of (1 - α) will be
executed in parallel . Here N is number of
processing elements. Speed up is: S= 1 / (α
+ ((1- α)/N)) In Amdahl’s law, problem size
remains fixed. If we increase the number of
processors then speed up as well as efficiency
decreases. This law focuses on execution of
program must be completed as fast as possible.
 Gustafson’s Law
• This law is correlated with Amdahl’s law. It
basically works on limitation of Amdahl’s law.
Amdahl’s law is limited to fixed problem size.
Gustafson’s law states that as we increase the
number of processing elements in parallel system
problem size must increases but the execution
time of the problem remain constant.
This law focuses on scalability of problem size
having constant execution time. Speed up given
by this law is S(P) = P- α(P-1)
PROBLEM STATEMENT AND
PROBLEM DEFINITION
• There has been an increased use of multiple
core architectures nowadays, so there is a
necessity for development of parallel programs
to be executed on multi core architectures.
Techniques involved
• Operational research : Here , linear
programming technique is used , through
which we are fragmenting a larger program.
• Mealy machine.
• Automatic parallelisation
SCOPE OF THE PROJECT
• The main reason of parallelization is it reduces
power dissipation and reduces the burden of
execution on single core . Parallelism is one of
the key means for improving the performance
of computers . Parallelism provides the ability
to perform several instructions in a program
concurrently because of their independence .
The main reason of parallelizing a sequential
program is to attain scalability.
OBJECTIVES
The objectives are:
• To identify parallel points from sequential
program to be executed.
• The parallel modules should be extracted
applying a technique. These modules must be
considered as a task each.
CONCLUSION
This proposed project work reduces the CPU time
and provides scalability which are very much
helpful in industries with legacy systems.This
project aims to overcome the drawbacks of loop and
manual parallelization.This approach gives more
correct results as compared to other approaches
.Also, instead of writing the parallel version of
sequential program from scratch, the corresponding
sequential program is converted into parallel
program by using various parallelisation techniques.
REFERENCES
1. Ankita bhalla , “Various Ways of Parallelisation of
Sequential Program”,2014
2. Song ZHAO,Yixin Bian,Sensen ZHANG, “A Review
on Refactoring Sequential Program to Parallel code in
Multicore Era”,2015
3. Zhen Li,Ali Jannesari,Felix Wolf ,“Discovery of
Potential Parallelism in Sequential Programs”,2013
4. W. Ambrus ,“A Framework for Automatic
Parallelisation of Sequential Programs”,2014
5. A.J.Bernstein ,“Analysis of programs for parallel
processing”,2015

You might also like