Introduction to parallel programming, Computer Networking

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.

Posted Date: 3/2/2013 7:42:57 AM | Location : United States







Related Discussions:- Introduction to parallel programming, Assignment Help, Ask Question on Introduction to parallel programming, Get Answer, Expert's Help, Introduction to parallel programming Discussions

Write discussion on Introduction to parallel programming
Your posts are moderated
Related Questions
Router# reload is the command to reload the router

Qustions: Simplify the following expression using a Karnaugh map: F = XY‾Z + X‾Y‾Z + XY Z +X‾ Y Z

Protocol Layering To design  structural  network protocols the designers organize protocol and use the network  hard ware and software to implement  the protocol  in layers. E


1.  Consider these two potential additions to the MIPS instruction set and explain how they would restrict pipelining. a)  cp d1(r1), d2(r2) copy contents of word at address

Q. What is Network Address? Network Address First address in the block, assigned to the organization Defines the network itself and cannot be assigned to a host

Question 1 Brief the Fourth generation network. List its advantages and disadvantages Question 2 Explain the steps involved in component identification and call establishm


1. Bob has been given the task of changing the IP address and enabling telnet access on a CISCO 2950 enterprise switch. The current IP address is 10.10.10.2/8 the new IP address

Describe any good security technology A good security technology should be powerful enough to support the features that the administrators need, including rules validation to i