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

Need for standards, Need for standards - Over the past couple of decade...

Need for standards - Over the past couple of decades several of the networks that were built used different hardware and software implementations therefore they were incompatib

Sorting using combinational circuit, Now, let us suppose a famous sequence ...

Now, let us suppose a famous sequence called as bitonic sequence and sort out the elements using a combinational circuit consisting of a set of comparators. The property of bitonic

List all application layer and transport layer protocols, a)  A host is sen...

a)  A host is sending a HTTP request to a HTTP server. In the table below, propose a correct set of source and destination port numbers for segments sent from host to server and fr

System inheritance.., what is inheritance in computer systems special permi...

what is inheritance in computer systems special permissions?

Define retransmission, Define Retransmission? Retransmission is a proce...

Define Retransmission? Retransmission is a process in which the receiver detects the occurrence of an error and asks the sender to resend the message. Resending is repeated unt

The ip address ranges for public and private ip address, What are the IP ad...

What are the IP address ranges for public and private IP address?

Name the categories of multiplexing, Name the categories of Multiplexing? ...

Name the categories of Multiplexing? There are three categories of multiplexing a. Frequency Division Multiplexing (FDM) b. Time Division Multiplexing (TDM)    i. Sync

What is netbios and netbeui in networking, What is NETBIOS and NETBEUI in N...

What is NETBIOS and NETBEUI in Networking? NETBIOS is a programming interface that permits I/O requests to be sent to and received from a remote computer and it keeps the netwo

Which layer defines bit synchronization, Physical layers defines with synch...

Physical layers defines with synchronizing the 1s and 0s on the wire.

Explain the public-key cryptography, Q. Explain the Public-Key Cryptography...

Q. Explain the Public-Key Cryptography? Public-Key Cryptography - Each user has the same encryption algorithm and key - Decryption algorithm also key are kept secret

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