SlideShare a Scribd company logo
1 of 3
Download to read offline
Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162

RESEARCH ARTICLE

www.ijera.com

OPEN ACCESS

An Investigation about the Models of Parallel Computation
Mehrdad Hashemi1, Shabnam Ahari2
1
2

Department of applied mathematics and cybernetic, Baku State University, Baku, Azerbaijan
Department of computer engineering, Islamic Azad university, Ahar, Iran

Abstract
In this paper we discuss on a basic facts about parallel processing. Suppose the fastest sequential algorithm for
doing a computation with parameter n has execution time of T(n). Then the fastest parallel algorithm with m
processors has execution time >= T(n)/m. If you could find a faster parallel algorithm, you could execute it
sequentially by having a sequential computer simulate parallelism and get a faster sequential algorithm. This
would contradict the fact that the given sequential algorithm is the fastest possible. We are making the
assumption that the cost of simulating parallel algorithms by sequential ones is negligible.
Keywords: Parallel, computation, models, complexity.

I.

INTRODUCTION

A PRAM [1] computer follows the exclusion
read exclusion write (EREW) scheme of memory
access if, in one program step, each memory location
can be written or read by at most a single processor. It
isn’t hard to see that it is optimal in the sense that it
will always take at least n steps to sort n numbers on
that computer. For instance, some numbers might start
out n – 1 positions away from their final destination in
the sorted sequence and they can only move one
position per program step. On the other hand it turns
out that the PRAM-EREW computer described above
can sort n numbers in O(lg2 n) program steps using
an old algorithm due to Batcher. The difference is that
even if only one processor can access one memory
location at a time it is very significant that all
processors can access all of the available memory in a
single program step.
A comparator is a type of device (a computer-circuit,
for instance) with two inputs and two outputs:

figure 1. A sample of comparator
Such that:
• OUT1 = min(IN1, IN2)
• OUT2 = max(IN1, IN2)
The standard notation for a comparator (when
it is part of a larger network) is the more compact
diagram:

A sorting network is a comparator network that has
the additional property:
The data that appears at the output vertices is
the result of sorting the data that was at the input
vertices.
A merging network is defined to be a
comparator network with the property that, if we
subdivide the inputs into two subsets of equal sizes,
and insert sorted data into each of these subsets, the
output is the result of merging the input-sequences
together. If a comparator network correctly sorts all
input-sequences drawn from the set {0, 1}, then it
correctly sorts any input-sequence of numbers, so that
it constitutes a sorting network. Similarly, if a
comparator-network whose inputs are subdivided into
two equal sets correctly merges all pairs of 0-1sequences, then it correctly merges all pairs of number
sequences.
Suppose that a sequence of numbers will be
called bitonic [2] if either of the following two
conditions is satisfied:
• It starts out being monotonically increasing up to
some point and then becomes monotonically
decreasing.
• It starts out being monotonically decreasing up to
some point and then becomes monotonically
increasing.
A sequence of 0’s and 1’s will be called clean
if it consists entirely of 0’s or entirely of 1’s.
For instance the sequence {4, 3, 2, 1, 3, 5, 7} is bitonic.
We will present an algorithm that correctly sorts all
bitonic sequences. This will turn out to imply an
efficient algorithm for merging all pairs of sorted
sequences, and then, an associated algorithm for
sorting all sequences.

Figure 2. The standard notation for a comparator

www.ijera.com

1160 | P a g e
Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162

www.ijera.com

SIMD model of program control. The algorithm works
by simulating the read and write operations in a single
program step of the CRCW machine.

III.

Figure 3. A bitonic halver of size 8
Given a bitonic sequence of size {a0, . . . ,
an−1}, where n = 2m, a bitonic halver is a comparator
network that performs the following sequence of
compare-exchange operations:
for i à 0 to m − 1 do in parallel
if (ai < ai+m) then swap(ai, ai+m)
end for
Note that a bitonic halver performs some
limited sorting of its input.

II.

RELATIONS BETWEEN PRAM MODELS

In this section we will use the sorting
algorithm to compare several variations on the PRAM
models of computation. We begin by describing two
models that appear to be substantially stronger than
the EREW model:
CREW — Concurrent Read, Exclusive Write
[3]. In this case any number of processors can read
from a memory location in one program step, but at
most one processor can write to a location at a time. In
some sense this model is the one that is most
commonly used in the development of algorithms.
CRCW — Concurrent Read, Concurrent
Write [3]. In this case any number of processors can
read from or write to a common memory location in
one program step. The outcome of a concurrent write
operation depends on the particular model of
computation being used (i.e. this case breaks up into a
number of sub-cases).
It is a somewhat surprising result, due to
Vishkin [4] that these models can be effectively
simulated by the EREW model. The original statement
is as follows:
If an algorithm on the CRCW model of
memory access executes in a time units using b
processors then it can be simulated on the EREW
model using O(a lg2 n) -time and b processors. The
RAM must be increased by a factor of O(b). This
theorem uses the Batcher sorting algorithm in an
essential way. If we substitute the (equally usable)
EREW version of the Cole sorting algorithm, we get
the following theorem:
Improved Vishkin Simulation Theorem If an
algorithm on the CRCW model of memory access
executes in a time units using b processors then it can
be simulated on the EREW model using O(a lg n) time and b processors. The RAM must be increased by
a factor of O(b). Incidentally, we are assuming the
www.ijera.com

COMPLEXITY CLASSES AND THE
PARALLEL PROCESSING THESIS

In this section we will be concerned with
various theoretical issues connected with parallel
processing. We will study the question of what
calculations can be efficiently done in parallel and in
what sense. We present the so-called Parallel
Processing Thesis of Fortune and Wyllie [5]. It
essentially shows that execution-time on a parallel
computer corresponds in some sense to space on a
sequential computer. The arguments used by Fortune
and Wyllie also give some insight into why the
execution time of many parallel algorithms is a power
of a logarithm of the complexity of the problem. One
of the most interesting theoretical questions that arise
in this field is whether there exist inherently sequential
problems. These are essentially computations for
which it is impossible to find parallel algorithms that
are substantially faster than the fastest sequential
algorithms. This is a subtle question, because there are
many problems that appear to be inherently sequential
at first glance but have fast parallel algorithms. In
many cases the fast parallel algorithms approach the
problem from a completely different angle than the
preferred sequential algorithms. One of the most
glaring examples of this is the problem of matrix
inversion, where:
1. The fastest sequential algorithm (i.e., a form of
Gaussian Elimination) only lends itself to a limited
amount of parallelization.
2. The fastest parallel algorithm would be extremely
bad from a sequential point of view.
This should not be too surprising, in many cases the
fastest sequential algorithms are the ones that reduce
the amount of parallelism in the computations to a
minimum. First it is necessary to make precise what
we mean by a parallel algorithm being substantially
faster than the corresponding sequential algorithm.
Here are some of the algorithms that have been
considered so far:
1. Forming cumulative sums of n numbers. The
sequential algorithm has an execution time of O(n).
The parallel algorithm has an execution time of O(log
n) using O(n) processors;
2. Sorting n numbers by performing comparisons.
The best sequential algorithms have an asymptotic
execution time of O(n log n). The best parallel
algorithms have asymptotic execution times of O(log
n) using O(n) processors;
3. Inversion of an n × n non-sparse matrix. The best
sequential algorithms use Gaussian Elimination and
have an execution time of O(n3). The asymptotically
fastest known parallel algorithms have an execution
time of O(lg2 n) using (n× 2.376) processors.
The general pattern that emerges is:

1161 | P a g e
Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications
ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162
• We have a sequential algorithm that executes in an
amount of time that is bounded by a polynomial
function of the input-size. The class of such problems
is denoted P;
• We have parallel algorithms that execute in an
amount of time that is bounded by a polynomial of the
logarithm of the input-size, and use a number of
processors bounded by a polynomial of the input size.
The class of these problems is denoted NC; As has
been remarked before, NC µ P — any algorithm for a
problem in NC can be sequentially simulated in an
amount of time that is bounded by a polynomial
function of the original input. Our question of whether
inherently sequential problems exist boils down to the
question of whether there exist any problems in P 
NC, or the question of whether NC = P. As of this
writing 1991 this question is still open. We will
discuss some partial results in this direction. They give
a natural relationship between parallel execution time
and the amount of RAM required by sequential
algorithms. From this we can deduce some rather
weak results regarding sequential execution time.
It is first necessary to define the complexity of
computations in a fairly rigorous sense. We will
consider general problems equipped with:
• An encoding scheme for the input-data. This is some
procedure, chosen in advance, for representing the
input-data as a string in some language associated
with the problem. For instance, the general sorting
problem might get its input-data in a string of the form
{a1, a2, . . . }, where the “ai” are bit-strings
representing the numbers to be sorted.
• A complexity parameter that is proportional to the
size of the input-string. For instance, depending on
how one defines the sorting problem, the complexity
parameter might be equal to the number of items to be
sorted, or the total number of symbols required to
represent these data-items. These two definitions of
the sorting problem differ in significant ways. For
instance if we assume that inputs are all distinct, then
it requires O(n log n) symbols to represent n numbers.
This is due to the fact that “log n” bits are needed to
count from 0 to n − 1 so (at least) this many bits are
needed to represent each number in a set of n distinct
numbers. In this case, it makes a big difference
whether one defines the complexity-parameter to be
the number of data-items or the size (in bits) of the
input. If (as is usual) we assume the all inputs to a
sorting-algorithm can be represented by a bounded
number of bits, then the number of input items is
proportional to the actual size of the input.

[3]

[4]

[5]

[6]

www.ijera.com

M. Snir, On parallel searching. Society for
Industrial and Applied Mathematics. SIAM J.
COMPUT., Vol. 14, No. 3, August 1985, pp.
688-708.
Uzi Vishkin, Implementation of simultaneous
memory access in models that forbid it. J.
Algorithms 4 1983, pp. 45–50.
S. Fortune and J. Wyllie. Parallelism in
random access machines. ACM Symposium
on the Theory of Computing, vol. 10, 1978,
pp. 114–118.
F. Yu, K. Ko, On parallel complexity of
analytic functions. Theoretical Computer
Science, Volumes
489–490, 10
June
2013, PP. 48-53.

REFERENCES
[1]
J. Brenner, J. Keller, C. Kessler, Executing
PRAM Programs on GPUs, Procedia
Computer Science, Vol 9, 2012, pp. 17991806.
[2]
http://www.iti.fh-flensburg.de/lang/algorithm
en/sortieren/bitonic/oddn.htm

www.ijera.com

1162 | P a g e

More Related Content

What's hot

Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm AnalyzingHaluan Irsad
 
Lecture01 algorithm analysis
Lecture01 algorithm analysisLecture01 algorithm analysis
Lecture01 algorithm analysisZara Nawaz
 
Algorithm analysis in fundamentals of data structure
Algorithm analysis in fundamentals of data structureAlgorithm analysis in fundamentals of data structure
Algorithm analysis in fundamentals of data structureVrushali Dhanokar
 
DATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESDATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESAniruddha Paul
 
Cupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmCupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmTarikuDabala1
 
Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Muhammad Hammad Waseem
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithmsguest084d20
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and AlgorithmDhaval Kaneria
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to AlgorithmsVenkatesh Iyer
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IMohamed Loey
 

What's hot (20)

Algorithm Analyzing
Algorithm AnalyzingAlgorithm Analyzing
Algorithm Analyzing
 
Matrix multiplication
Matrix multiplicationMatrix multiplication
Matrix multiplication
 
Lecture01 algorithm analysis
Lecture01 algorithm analysisLecture01 algorithm analysis
Lecture01 algorithm analysis
 
Algorithm analysis in fundamentals of data structure
Algorithm analysis in fundamentals of data structureAlgorithm analysis in fundamentals of data structure
Algorithm analysis in fundamentals of data structure
 
DATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTESDATA STRUCTURE AND ALGORITHM FULL NOTES
DATA STRUCTURE AND ALGORITHM FULL NOTES
 
Chap5 slides
Chap5 slidesChap5 slides
Chap5 slides
 
Complexity analysis in Algorithms
Complexity analysis in AlgorithmsComplexity analysis in Algorithms
Complexity analysis in Algorithms
 
Parallel algorithms
Parallel algorithms Parallel algorithms
Parallel algorithms
 
Cupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithmCupdf.com introduction to-data-structures-and-algorithm
Cupdf.com introduction to-data-structures-and-algorithm
 
Parallel searching
Parallel searchingParallel searching
Parallel searching
 
Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]Data Structures - Lecture 1 [introduction]
Data Structures - Lecture 1 [introduction]
 
chapter 1
chapter 1chapter 1
chapter 1
 
Daa unit 1
Daa unit 1Daa unit 1
Daa unit 1
 
Parallel algorithms
Parallel algorithmsParallel algorithms
Parallel algorithms
 
Complexity of Algorithm
Complexity of AlgorithmComplexity of Algorithm
Complexity of Algorithm
 
Parallel algorithm in linear algebra
Parallel algorithm in linear algebraParallel algorithm in linear algebra
Parallel algorithm in linear algebra
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Daa notes 2
Daa notes 2Daa notes 2
Daa notes 2
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
Algorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms IAlgorithms Lecture 2: Analysis of Algorithms I
Algorithms Lecture 2: Analysis of Algorithms I
 

Viewers also liked (20)

Gp3611831196
Gp3611831196Gp3611831196
Gp3611831196
 
Gr3612061213
Gr3612061213Gr3612061213
Gr3612061213
 
Ga3610941103
Ga3610941103Ga3610941103
Ga3610941103
 
Gf3611261131
Gf3611261131Gf3611261131
Gf3611261131
 
Gw3612361241
Gw3612361241Gw3612361241
Gw3612361241
 
Gn3611721176
Gn3611721176Gn3611721176
Gn3611721176
 
Gq3611971205
Gq3611971205Gq3611971205
Gq3611971205
 
Gv3612301235
Gv3612301235Gv3612301235
Gv3612301235
 
Gl3611631165
Gl3611631165Gl3611631165
Gl3611631165
 
Gi3611461154
Gi3611461154Gi3611461154
Gi3611461154
 
Go3611771182
Go3611771182Go3611771182
Go3611771182
 
Gt3612201224
Gt3612201224Gt3612201224
Gt3612201224
 
Gj3611551159
Gj3611551159Gj3611551159
Gj3611551159
 
Gu3612251229
Gu3612251229Gu3612251229
Gu3612251229
 
Gs3612141219
Gs3612141219Gs3612141219
Gs3612141219
 
Gx3612421246
Gx3612421246Gx3612421246
Gx3612421246
 
Perkembangan motorik anak
Perkembangan motorik anakPerkembangan motorik anak
Perkembangan motorik anak
 
Up asr
Up asrUp asr
Up asr
 
Announcements Tues May 26
Announcements Tues May 26   Announcements Tues May 26
Announcements Tues May 26
 
Cuadros clau
Cuadros clauCuadros clau
Cuadros clau
 

Similar to Gk3611601162

Parallel Algorithms: Sort & Merge, Image Processing, Fault Tolerance
Parallel Algorithms: Sort & Merge, Image Processing, Fault ToleranceParallel Algorithms: Sort & Merge, Image Processing, Fault Tolerance
Parallel Algorithms: Sort & Merge, Image Processing, Fault ToleranceUniversity of Technology - Iraq
 
Complier design
Complier design Complier design
Complier design shreeuva
 
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...IRJET Journal
 
A Comparison of Serial and Parallel Substring Matching Algorithms
A Comparison of Serial and Parallel Substring Matching AlgorithmsA Comparison of Serial and Parallel Substring Matching Algorithms
A Comparison of Serial and Parallel Substring Matching Algorithmszexin wan
 
The Most Important Algorithms
The Most Important AlgorithmsThe Most Important Algorithms
The Most Important Algorithmswensheng wei
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)theijes
 
cis97007
cis97007cis97007
cis97007perfj
 
User_42751212015Module1and2pagestocompetework.pdf.docx
User_42751212015Module1and2pagestocompetework.pdf.docxUser_42751212015Module1and2pagestocompetework.pdf.docx
User_42751212015Module1and2pagestocompetework.pdf.docxdickonsondorris
 
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1AIRCC Publishing Corporation
 
cis97003
cis97003cis97003
cis97003perfj
 
Approaches to online quantile estimation
Approaches to online quantile estimationApproaches to online quantile estimation
Approaches to online quantile estimationData Con LA
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016ijcsbi
 
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP IJCSEIT Journal
 
VCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxVCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxskilljiolms
 
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGDYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGcscpconf
 
VCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxVCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxskilljiolms
 

Similar to Gk3611601162 (20)

Parallel Algorithms: Sort & Merge, Image Processing, Fault Tolerance
Parallel Algorithms: Sort & Merge, Image Processing, Fault ToleranceParallel Algorithms: Sort & Merge, Image Processing, Fault Tolerance
Parallel Algorithms: Sort & Merge, Image Processing, Fault Tolerance
 
Complier design
Complier design Complier design
Complier design
 
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
An Optimized Parallel Algorithm for Longest Common Subsequence Using Openmp –...
 
A Comparison of Serial and Parallel Substring Matching Algorithms
A Comparison of Serial and Parallel Substring Matching AlgorithmsA Comparison of Serial and Parallel Substring Matching Algorithms
A Comparison of Serial and Parallel Substring Matching Algorithms
 
The Most Important Algorithms
The Most Important AlgorithmsThe Most Important Algorithms
The Most Important Algorithms
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
cis97007
cis97007cis97007
cis97007
 
unit 2 hpc.pptx
unit 2 hpc.pptxunit 2 hpc.pptx
unit 2 hpc.pptx
 
User_42751212015Module1and2pagestocompetework.pdf.docx
User_42751212015Module1and2pagestocompetework.pdf.docxUser_42751212015Module1and2pagestocompetework.pdf.docx
User_42751212015Module1and2pagestocompetework.pdf.docx
 
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1
Performance Evaluation of Parallel Bubble Sort Algorithm on Supercomputer IMAN1
 
cis97003
cis97003cis97003
cis97003
 
Approaches to online quantile estimation
Approaches to online quantile estimationApproaches to online quantile estimation
Approaches to online quantile estimation
 
Analyzing algorithms
Analyzing algorithmsAnalyzing algorithms
Analyzing algorithms
 
Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016Vol 16 No 2 - July-December 2016
Vol 16 No 2 - July-December 2016
 
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
Performance Analysis of Parallel Algorithms on Multi-core System using OpenMP
 
VCE Unit 01 (2).pptx
VCE Unit 01 (2).pptxVCE Unit 01 (2).pptx
VCE Unit 01 (2).pptx
 
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTINGDYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
DYNAMIC TASK PARTITIONING MODEL IN PARALLEL COMPUTING
 
VCE Unit 01 (1).pptx
VCE Unit 01 (1).pptxVCE Unit 01 (1).pptx
VCE Unit 01 (1).pptx
 
I0343047049
I0343047049I0343047049
I0343047049
 

Recently uploaded

The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governanceWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Recently uploaded (20)

The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Gk3611601162

  • 1. Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162 RESEARCH ARTICLE www.ijera.com OPEN ACCESS An Investigation about the Models of Parallel Computation Mehrdad Hashemi1, Shabnam Ahari2 1 2 Department of applied mathematics and cybernetic, Baku State University, Baku, Azerbaijan Department of computer engineering, Islamic Azad university, Ahar, Iran Abstract In this paper we discuss on a basic facts about parallel processing. Suppose the fastest sequential algorithm for doing a computation with parameter n has execution time of T(n). Then the fastest parallel algorithm with m processors has execution time >= T(n)/m. If you could find a faster parallel algorithm, you could execute it sequentially by having a sequential computer simulate parallelism and get a faster sequential algorithm. This would contradict the fact that the given sequential algorithm is the fastest possible. We are making the assumption that the cost of simulating parallel algorithms by sequential ones is negligible. Keywords: Parallel, computation, models, complexity. I. INTRODUCTION A PRAM [1] computer follows the exclusion read exclusion write (EREW) scheme of memory access if, in one program step, each memory location can be written or read by at most a single processor. It isn’t hard to see that it is optimal in the sense that it will always take at least n steps to sort n numbers on that computer. For instance, some numbers might start out n – 1 positions away from their final destination in the sorted sequence and they can only move one position per program step. On the other hand it turns out that the PRAM-EREW computer described above can sort n numbers in O(lg2 n) program steps using an old algorithm due to Batcher. The difference is that even if only one processor can access one memory location at a time it is very significant that all processors can access all of the available memory in a single program step. A comparator is a type of device (a computer-circuit, for instance) with two inputs and two outputs: figure 1. A sample of comparator Such that: • OUT1 = min(IN1, IN2) • OUT2 = max(IN1, IN2) The standard notation for a comparator (when it is part of a larger network) is the more compact diagram: A sorting network is a comparator network that has the additional property: The data that appears at the output vertices is the result of sorting the data that was at the input vertices. A merging network is defined to be a comparator network with the property that, if we subdivide the inputs into two subsets of equal sizes, and insert sorted data into each of these subsets, the output is the result of merging the input-sequences together. If a comparator network correctly sorts all input-sequences drawn from the set {0, 1}, then it correctly sorts any input-sequence of numbers, so that it constitutes a sorting network. Similarly, if a comparator-network whose inputs are subdivided into two equal sets correctly merges all pairs of 0-1sequences, then it correctly merges all pairs of number sequences. Suppose that a sequence of numbers will be called bitonic [2] if either of the following two conditions is satisfied: • It starts out being monotonically increasing up to some point and then becomes monotonically decreasing. • It starts out being monotonically decreasing up to some point and then becomes monotonically increasing. A sequence of 0’s and 1’s will be called clean if it consists entirely of 0’s or entirely of 1’s. For instance the sequence {4, 3, 2, 1, 3, 5, 7} is bitonic. We will present an algorithm that correctly sorts all bitonic sequences. This will turn out to imply an efficient algorithm for merging all pairs of sorted sequences, and then, an associated algorithm for sorting all sequences. Figure 2. The standard notation for a comparator www.ijera.com 1160 | P a g e
  • 2. Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162 www.ijera.com SIMD model of program control. The algorithm works by simulating the read and write operations in a single program step of the CRCW machine. III. Figure 3. A bitonic halver of size 8 Given a bitonic sequence of size {a0, . . . , an−1}, where n = 2m, a bitonic halver is a comparator network that performs the following sequence of compare-exchange operations: for i à 0 to m − 1 do in parallel if (ai < ai+m) then swap(ai, ai+m) end for Note that a bitonic halver performs some limited sorting of its input. II. RELATIONS BETWEEN PRAM MODELS In this section we will use the sorting algorithm to compare several variations on the PRAM models of computation. We begin by describing two models that appear to be substantially stronger than the EREW model: CREW — Concurrent Read, Exclusive Write [3]. In this case any number of processors can read from a memory location in one program step, but at most one processor can write to a location at a time. In some sense this model is the one that is most commonly used in the development of algorithms. CRCW — Concurrent Read, Concurrent Write [3]. In this case any number of processors can read from or write to a common memory location in one program step. The outcome of a concurrent write operation depends on the particular model of computation being used (i.e. this case breaks up into a number of sub-cases). It is a somewhat surprising result, due to Vishkin [4] that these models can be effectively simulated by the EREW model. The original statement is as follows: If an algorithm on the CRCW model of memory access executes in a time units using b processors then it can be simulated on the EREW model using O(a lg2 n) -time and b processors. The RAM must be increased by a factor of O(b). This theorem uses the Batcher sorting algorithm in an essential way. If we substitute the (equally usable) EREW version of the Cole sorting algorithm, we get the following theorem: Improved Vishkin Simulation Theorem If an algorithm on the CRCW model of memory access executes in a time units using b processors then it can be simulated on the EREW model using O(a lg n) time and b processors. The RAM must be increased by a factor of O(b). Incidentally, we are assuming the www.ijera.com COMPLEXITY CLASSES AND THE PARALLEL PROCESSING THESIS In this section we will be concerned with various theoretical issues connected with parallel processing. We will study the question of what calculations can be efficiently done in parallel and in what sense. We present the so-called Parallel Processing Thesis of Fortune and Wyllie [5]. It essentially shows that execution-time on a parallel computer corresponds in some sense to space on a sequential computer. The arguments used by Fortune and Wyllie also give some insight into why the execution time of many parallel algorithms is a power of a logarithm of the complexity of the problem. One of the most interesting theoretical questions that arise in this field is whether there exist inherently sequential problems. These are essentially computations for which it is impossible to find parallel algorithms that are substantially faster than the fastest sequential algorithms. This is a subtle question, because there are many problems that appear to be inherently sequential at first glance but have fast parallel algorithms. In many cases the fast parallel algorithms approach the problem from a completely different angle than the preferred sequential algorithms. One of the most glaring examples of this is the problem of matrix inversion, where: 1. The fastest sequential algorithm (i.e., a form of Gaussian Elimination) only lends itself to a limited amount of parallelization. 2. The fastest parallel algorithm would be extremely bad from a sequential point of view. This should not be too surprising, in many cases the fastest sequential algorithms are the ones that reduce the amount of parallelism in the computations to a minimum. First it is necessary to make precise what we mean by a parallel algorithm being substantially faster than the corresponding sequential algorithm. Here are some of the algorithms that have been considered so far: 1. Forming cumulative sums of n numbers. The sequential algorithm has an execution time of O(n). The parallel algorithm has an execution time of O(log n) using O(n) processors; 2. Sorting n numbers by performing comparisons. The best sequential algorithms have an asymptotic execution time of O(n log n). The best parallel algorithms have asymptotic execution times of O(log n) using O(n) processors; 3. Inversion of an n × n non-sparse matrix. The best sequential algorithms use Gaussian Elimination and have an execution time of O(n3). The asymptotically fastest known parallel algorithms have an execution time of O(lg2 n) using (n× 2.376) processors. The general pattern that emerges is: 1161 | P a g e
  • 3. Mehrdad Hashemi et al Int. Journal of Engineering Research and Applications ISSN : 2248-9622, Vol. 3, Issue 6, Nov-Dec 2013, pp.1160-1162 • We have a sequential algorithm that executes in an amount of time that is bounded by a polynomial function of the input-size. The class of such problems is denoted P; • We have parallel algorithms that execute in an amount of time that is bounded by a polynomial of the logarithm of the input-size, and use a number of processors bounded by a polynomial of the input size. The class of these problems is denoted NC; As has been remarked before, NC µ P — any algorithm for a problem in NC can be sequentially simulated in an amount of time that is bounded by a polynomial function of the original input. Our question of whether inherently sequential problems exist boils down to the question of whether there exist any problems in P NC, or the question of whether NC = P. As of this writing 1991 this question is still open. We will discuss some partial results in this direction. They give a natural relationship between parallel execution time and the amount of RAM required by sequential algorithms. From this we can deduce some rather weak results regarding sequential execution time. It is first necessary to define the complexity of computations in a fairly rigorous sense. We will consider general problems equipped with: • An encoding scheme for the input-data. This is some procedure, chosen in advance, for representing the input-data as a string in some language associated with the problem. For instance, the general sorting problem might get its input-data in a string of the form {a1, a2, . . . }, where the “ai” are bit-strings representing the numbers to be sorted. • A complexity parameter that is proportional to the size of the input-string. For instance, depending on how one defines the sorting problem, the complexity parameter might be equal to the number of items to be sorted, or the total number of symbols required to represent these data-items. These two definitions of the sorting problem differ in significant ways. For instance if we assume that inputs are all distinct, then it requires O(n log n) symbols to represent n numbers. This is due to the fact that “log n” bits are needed to count from 0 to n − 1 so (at least) this many bits are needed to represent each number in a set of n distinct numbers. In this case, it makes a big difference whether one defines the complexity-parameter to be the number of data-items or the size (in bits) of the input. If (as is usual) we assume the all inputs to a sorting-algorithm can be represented by a bounded number of bits, then the number of input items is proportional to the actual size of the input. [3] [4] [5] [6] www.ijera.com M. Snir, On parallel searching. Society for Industrial and Applied Mathematics. SIAM J. COMPUT., Vol. 14, No. 3, August 1985, pp. 688-708. Uzi Vishkin, Implementation of simultaneous memory access in models that forbid it. J. Algorithms 4 1983, pp. 45–50. S. Fortune and J. Wyllie. Parallelism in random access machines. ACM Symposium on the Theory of Computing, vol. 10, 1978, pp. 114–118. F. Yu, K. Ko, On parallel complexity of analytic functions. Theoretical Computer Science, Volumes 489–490, 10 June 2013, PP. 48-53. REFERENCES [1] J. Brenner, J. Keller, C. Kessler, Executing PRAM Programs on GPUs, Procedia Computer Science, Vol 9, 2012, pp. 17991806. [2] http://www.iti.fh-flensburg.de/lang/algorithm en/sortieren/bitonic/oddn.htm www.ijera.com 1162 | P a g e