Parallel programming
Parallel programming, or concurent programming, is the technique of computer programming that provide for the execution of operations (either actually or apparently) concurrently, either within a single computer, or across a number of systems. In the latter case, the term distributed computing is used. Multiprocessor machines achieve better performance by taking advantage of this kind of programming.In parallel programming or computing, single tasks are split into a number of subtasks that can be computed relatively independently and then aggregated to form a single coherent solution. Parallel programming is most often used for tasks that can easily broken down into independent tasks such as purely mathematical problems, e.g. factorisation. Problems such as these are known to be 'embarrassingly parallel'.
Distributed computing can be defined as a method of information processing in which work is performed by separate computers linked through a communications network.
Pioneers in the field of concurrent programming include Edsger Dijkstra and C. A. R. Hoare.
Topics in concurrent programming include:
- critical sections
- mutual exclusion
- synchronization
Related topics
