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

Describe one security measure against reverse tunneling, Question: a) I...

Question: a) In route-optimized communication, a mobile node sends packets to a correspondent using the home address present in the destination option. Why does the design use

Options - transport layer, Options The options  fields may be  used to...

Options The options  fields may be  used to  provide  other functions that are not  covered by  the header. If the length  of the  options  field is not  a multiple of 32 bits

Digital encoding, A modified NRZ code known as enhanced-NRZ (E-NRZ) operate...

A modified NRZ code known as enhanced-NRZ (E-NRZ) operates on 7-bit words; inverting bits 2,3,6 and 7; and adding one parity bit to each word. The parity bit is chosen to make the

Topology-tcp and udp sources, To relieve some programming burden, project 5...

To relieve some programming burden, project 5 is a group project that two students can form a group to do and submit one report. In your submitted report, please specify who is you

Encoding data options in parallel virtual machine , Encoding data options ...

Encoding data options PVM uses SUN's XDR library to generate a machine independent data format if you request it. Settings for the encoding option are: PvmDataDefault: Use X

Construct with private and firstprivate clauses, In this example we will se...

In this example we will see the use of parallel construct with private and firstprivate clauses. At the end of the program i and j remain undefined as these are private to thread i

What does the user datagram protocol (udp) , UDP is connectionless, and doe...

UDP is connectionless, and does not give error checking. But remember, error checking can happen at other layers too.

Tqm in design manufacturing, Quality assurance through statistical methods...

Quality assurance through statistical methods is a key component in a manufacturing organization where TQM generally starts by sampling a random selection selection of th

Ip checksum, This code properly implements the IP checksum function on a 32...

This code properly implements the IP checksum function on a 32-bit machine: unsigned short cksum(unsigned short *buf, int count) { unsigned long sum = 0; while (count--) { sum += *

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