Introduction to parallel programming, Computer Networking

Assignment Help:

Introduction To Parallel Programming

After getting an enormous breakthrough in the serial programming and figuring out its limitations, academicians and computer professionals are focusing now on parallel programming. Parallel programming is a well-liked choice today for multi-processor architectures to solve the complex problems. If developments in the last decade give any indications, then the future belongs to of parallel computing. Parallel programming is intended to take benefits the of non-local resources to save cost and time and overcome the memory constraints.

In this section, we shall introduce parallel programming and its classifications. We shall talk about some of the high level programs used for parallel programming. There are certain compiler-directive based packages, which can be used along with some high level languages. We shall also have a detailed look upon them.

Usually, software has been written for serial computation in which programs are written for computers having a single Central Processing Unit (CPU). Here, the troubles are solved by a series of instructions, implemented one after the other, one at a time, by the CPU. Though, many complex, interrelated events happening at the same time like galactic orbital and planetary events, weather and ocean patterns and tectonic plate drift may needs super high complexity serial software. To solve these big problems and save the computational time, a new programming paradigm called parallel programming was introduced.

To develop a parallel program, we must first decide whether the problem has any part which can be parallelized. There are some problems like producing the Fibonacci sequence in the case of which there is a little scope for parallelization. Once it has been determined that the problem has some segment that can be parallelized, we break the problem into discrete chunks of work that can be distributed to multiple tasks. This partition of the problem may be data-centric or function-centric. In the earlier case, different functions work with different subsets of data while in the latter every function performs a portion of the overall work. Depending upon the type of partition approach, we need communication between the processes. Accordingly, we have to design the mechanisms for process synchronization and mode of communication.


Related Discussions:- Introduction to parallel programming

Show upper layers of tcp-ip model, Q. Show Upper Layers of tcp-ip model? ...

Q. Show Upper Layers of tcp-ip model? The Session Layer - The Session layer allows two parties to hold ongoing communications called a session across a network. - Not

Sole access protocol in parallel programming , Sole Access Protocol Th...

Sole Access Protocol The atomic operations, which have conflicts, are handled using sole access protocol. The process used for synchronization in this protocol is given below:

Calculate the efficiency of stop-and-wait ARQ, Suppose that frames are 1250...

Suppose that frames are 1250 bytes long including 25 bytes of overhead. Also assume that ACK frames are 25 bytes long. Calculate the efficiency of stop-and-wait ARQ (a) Transmits a

What is horizontal and vertical parity, What is horizontal and vertical par...

What is horizontal and vertical parity A single error can cause both horizontal and vertical parity checks to be wrong. Two errors can also be easily detected. If they are not

What is applets, What is Applets Little programs that can make the We...

What is Applets Little programs that can make the Web pages more aesthetically beautiful by means of animations, text, and graphics moving across the screen.

Reliability - fundamentals of networks , Reliability Reliability  is t...

Reliability Reliability  is the measure of how  often  a network is usable. MTSF( Mean time  Between Failure) is a measure of the average time  a component  is expected to ope

Define the term network throughput, Network throughput It is a symptoma...

Network throughput It is a symptomatic measure of the message carrying capability of a network. It is termed as the total number of messages network can send in per unit time.

Describe about the noiseless channel, Describe about the noiseless channel ...

Describe about the noiseless channel A noiseless channel can transmit an arbitrarily large amount of information, no matter how frequently it is sampled. Just send a lot of dat

Html, Write an HTML program segment that contains hypertext links from one ...

Write an HTML program segment that contains hypertext links from one document to another.

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