Explain potential of parallelism, Computer Engineering

Assignment Help:

Potential of Parallelism

Problems in the actual world differ in respect of the amount of inherent parallelism intrinsic in respective problem domain. Some problems can be easily parallelized. Conversely, there are some inherent chronological problems (e.g. computation of Fibonacci sequence) whose parallelization is almost impossible. The extent of parallelism can be enhanced by suitable design of an algorithm to solve the problem consideration. If processes do not share address space and we could get rid of data dependency among instructions, we can attain higher level of parallelism. The idea of speed up is used as a measure of the speed up which indicates up to what extent to which a sequential program can be parallelized.  Speed up can be taken as a sort of amount of inherent parallelism in a program. In that respect, Amdahl has given a law, called Amdahl's Law, according to this law potential program speedup is stated by the fraction of code (P) which can be parallelised:

Speed up= 1 / 1-p

If no part of the code can be parallelized, P = 0 and speedup = 1 it implies that it is an inherently chronological program. If all the code is parallelized then P = 1, the speedup is infinite. However practically, the code in no program is able to make 100% parallel. Therefore speed up cannot be infinite ever.

If 50% of code can be parallelized, maximum speedup = 2, meaning the code would run twice as fast.  

If we set up the number of processors executing the parallel fraction of work, the relationship can be modeled by:

2485_Potential of Parallelism.png

Where P = parallel fraction, N = total number of processors and S = Serial fraction.The Table 1 shows the values of speed up for various values N and P.

1889_Potential of Parallelism 1.png

The Table 1 proposes that speed up increases as P increases. Though, after a certain limits N doesn't have much impact on the value of speed up. The reason being that is for N processors to remain active, the code must be in some way or other, be divisible in more or less N parts, independent part, every part taking almost equal amount of time.


Related Discussions:- Explain potential of parallelism

Differentiate b/w pre-emptive and non-pre-emptive scheduling, Differentiate...

Differentiate between pre-emptive and non-pre-emptive scheduling. Pre-emptive scheduling : in its approach, center processing unit can be taken away from a process if there is a

create a class called auditorium, Create a class called auditorium that sp...

Create a class called auditorium that specifies the seats in the auditorium. The class should include at least one data item: seat (two dimensional array of Char) and at least thre

Define the karnaugh maps (k maps), Define The Karnaugh Maps (K Maps) Th...

Define The Karnaugh Maps (K Maps) The Karnaugh map (K map) provides the systematic method for simplifying a Boolean expression or a truth table function when used properly the

Software aspects - computer technology , Software Aspects: Software is...

Software Aspects: Software is a generic term covering the concepts, procedures and instructions which enable computer systems to do useful things. Usually, software is conceiv

Basic operational concepts of a computer, Basic Operational Concepts of a C...

Basic Operational Concepts of a Computer: Most of computer operations are executed in the ALU (arithmetic and logic unit) of a processor. For an example: to add 2 numb

Explain how a critical section avoids race condition, Explain how a critica...

Explain how a critical section avoids Race condition. To prevent Race Condition, concurrent processes should be synchronized. Data consistency needs that only one process m

How many words can be acquired by the word universal, How many words can be...

How many words can be acquired by arranging the letters of the word 'UNIVERSAL' in different way? In how many of them  (i)  E, R, S takes place together (ii)  No two of the

What is dynamic memory allocation, What is dynamic memory allocation? T...

What is dynamic memory allocation? The mechanism of allocating needs amount of memory at run time is known as dynamic allocation of memory. Sometimes it is needed to allocate m

What is a unix device driver, A UNIX device driver is ? Ans. A UNIX devi...

A UNIX device driver is ? Ans. A UNIX device driver is structured in two halves termed as top half and bottom half.

Describe the vertical frequency or cycle, Q. Describe the Vertical Frequenc...

Q. Describe the Vertical Frequency or cycle? Like a Fluorescent lamp, the screen has to repeat same image many times per second to display an image to user. The frequency of th

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd