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

Determine the definition of hdlc, Determine the definition of HDLC HDLC...

Determine the definition of HDLC HDLC has only one address field. In a LAN, any station may transmit to any other station. The receiving station needs to see its own address in

Router igrp 71 network 10.0.0.0 router igrp 109 , What does the following s...

What does the following sequence of commands accomplish? router igrp 71 network 10.0.0.0 router igrp 109 network 172.68.7.0 Ans) It isolates network 10.0.0.0 and 172.68.7.0 and

Different types of subnet classfull networks are present, How many dissimil...

How many dissimilar types of subnet classful networks are present?

sorting circuit along with odd-even merging circuit, As we previously know...

As we previously know, the merge sort algorithm needs two circuits, i.e. one for merging and second for sorting the sequences. Thus, the sorting circuit has been derived from the a

TCP for live video, 1. What advantages and disadvantages does TCP have for ...

1. What advantages and disadvantages does TCP have for live video teleconferencing applications

Applications of networks, Q. Applications of networks? End systems (h...

Q. Applications of networks? End systems (hosts): - Run application programs - Example email, Web - At -edge of network Client/server model - Client host

Describe about the server and browser software, Describe about the Server a...

Describe about the Server and browser software Most of the server and browser software developed by various vendors carry out encryption using either a 40-bit or a 128-bit sec

Problem with broadcasting, PROBLEM WITH BROADCASTING: There are some i...

PROBLEM WITH BROADCASTING: There are some issues with the broadcast. For each broadcast frame on the network every computer uses computational sources and places the data into

Dns cache poisoning, DNS cache poisoning The DNA cache poisoning gener...

DNS cache poisoning The DNA cache poisoning generally refers to the process of maintaining or developing the false information, in the cache of DNS server. This process refers

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