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

Explain about bridges, Bridges The bridge function is to attach separat...

Bridges The bridge function is to attach separate homogeneous networks. Bridges map the Ethernet address of the nodes residing on each network segment and allow only essential

Source port number - transport layer, Source Port Number This fields o...

Source Port Number This fields occupies  the first 16 bytes of the UDP header. This  fields typically hold the UDP port number  of the application sending  this datagram. The

What are the advantages of bus topology, What are the advantages of bus top...

What are the advantages of bus topology? The benefit of physical bus topology is: a. It uses established standards and it is relatively simple to install. b. It needs les

Explain transparent bridges and learning bridges, Transparent Bridges & Lea...

Transparent Bridges & Learning Bridges - Builds table by examining destination as well as source address of each packet it receives - Learning bridges - If address is not

Set up to use pvm run and complie, PVM uses two environment variables when ...

PVM uses two environment variables when starting and running. Every PVM user needs to set these two variables to use PVM. The initial variable is PVM_ROOT, which is set to the loca

Database management, today, what is the most common or mostly encountered p...

today, what is the most common or mostly encountered problem in terms of database management system?

Frequency division multiplexing, Frequency Division Multiplexing Frequ...

Frequency Division Multiplexing Frequency  division  multiplexing (FDM) is an analogy technique that can be applied when the bandwidth of a link is greater than the combined b

Assignment, Name the three ways or wireless data to be propagated.

Name the three ways or wireless data to be propagated.

Repeaters, REPEATERS:  Repeaters are needed when copper wire communica...

REPEATERS:  Repeaters are needed when copper wire communication is takes place. According to the fact that electrical signal goes weaker while travelling over copper lines. A

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