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

Explain j2ee, With respect to security, which one is the better choice? ...

With respect to security, which one is the better choice? .Net or J2EE? Explain? As per majority programmers .NET is the best one which have single vendor compare to, the

What are the types of instructions, Q. What are the types of Instructions? ...

Q. What are the types of Instructions? Computer instructions are translation of high level language code to machine level language programs. So from this point of view machine

Describe the uses of credit cards and smart cards, Credit cards and smart c...

Credit cards and smart cards Credit cards comprise a magnetic stripe on the back made up of iron-based particles in a plastic film. Stripe is split up into 3 tracks which a

Define hit ratio, Define Hit ratio. The performance of cache memory is ...

Define Hit ratio. The performance of cache memory is frequently measured in terms of quantity called hit ratio. Hit-Find a word in cache. Miss-Word is not found in cache.

Illustrate basic strategy used in raid, Q. Illustrate Basic strategy used i...

Q. Illustrate Basic strategy used in RAID? Basic strategy used in RAID is to replace large capacity disk drive with multiple smaller capacity disks. Data on these disks is dist

What is artificial intelligence fuzzy logic, Fuzzy logic is a form of vario...

Fuzzy logic is a form of various-valued logic; it deals with reasoning that is approximate rather than fixed & exact. In contrast with traditional logic theory, where binary sets h

Hypertext vs hypermedia, Hypertext vs Hypermedia     Hypertext is basic...

Hypertext vs Hypermedia     Hypertext is basically the similar as regular text - it can be stored, read, searched, or edited - with a significant exception: hypertext having co

Define software is in machine language or not, Define Software is in machin...

Define Software is in machine language or not Software is in machine language, today it is often developed by first writing in a high-level language or an assembly language or

Determine the input and output devices, I/O devices need to be matched up t...

I/O devices need to be matched up to computer application. -  Computer-aided design (graph plotters, large screens, etc.) -  Virtual reality (data gloves, data goggles, etc.)

Compares a pair of characters entered by keyboard, Program: This program c...

Program: This program compares a pair of characters entered by keyboard. ; Registers used: AX, BX, CX, DX DATA SEGMENT                          XX DB?

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