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

Describe the importance of micro-programming, Question: (a) Describe t...

Question: (a) Describe the importance of Micro-Programming and point out one area where Micro-Programming is extensively used. (b) Below is a diagram of an 8086 processor.

C++, pebble merchant

pebble merchant

What is .net and .net framework, What is .NET / .NET Framework?  It i...

What is .NET / .NET Framework?  It is a Framework in which Windows applications might be developed and run. The Microsoft .NET Framework is a platform for building, deploying,

Explain about end-user computing, End-user Computing: The growing base of p...

End-user Computing: The growing base of personal computers and local area networks in the end user community are supported. This offers installation services, training and helps de

Illustrate the examples of simulations, Illustrate the Examples of simulati...

Illustrate the Examples of simulations -  Training (for example pilots, drivers, etc.) -  Running/testing nuclear plants and chemical plants -  trying out equipment to be

Predicates, Fred, Barney and Ralph belong to the La Trobe Mountain Club. Ev...

Fred, Barney and Ralph belong to the La Trobe Mountain Club. Every member of the Club is either a skier or a hiker. Anyone that doesn't like snow does not like skiing. No hikers li

What does vuser_init action contain, Vuser_init action haves procedures to ...

Vuser_init action haves procedures to login to a server.

Basic working of semiconductors, Q. Basic working of Semiconductors? Se...

Q. Basic working of Semiconductors? Semiconductors are crystalline solid materials whose resistivities have values between those of conductors and insulators. Conductivity rang

Assembler directives, Assembler directives: An assembler directive is ...

Assembler directives: An assembler directive is a statement to give direction to the assembler to perform the task of assembly process. Assembler directives control organizati

Types of software - computer architecture, Types of software: A layer ...

Types of software: A layer structure is described where Operating System is located on generally used software systems on desktops   System software System sof

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