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

Hardware difficulty of Benz Network: - Benz network uses smaller switches and it gives excellent connectivity.  To find hardware difficulty of Benz network let us presume that

ARP sent the request in broadcast, response is unicast When a source sends ARP request the switch broadcast the ARP req. if it doesn't have the destination mac address in its ma

You should develop a system consisting of an application acting as a broker and several agents that need to communicate between them. The agents can only communicate in pairs (i.e.

What is Error Control ? Error control is both error detection and error correction. It allows the receiver to inform the sender of any frames lost or damaged in transmission an


Can you describe how BGP does the decision process?

Q. What are the Local Network Security Issues? Local Network Security Issues Password Protection - Encrypted username & password Group/Owner ID's - File Permissi

Question : (a) Several techniques are now available for users to connect to the Internet. (i) A modem is commonly used to dial up to the Internet. Why is a modem needed fo

Introduction of DNS While discussing about the Internet, one things comes automatically in the n=mind and hence it is directly or indirectly depended on DNS. The DNS which sta