Parallel computing divides a scientific computing problem into several small computing
tasks, and concurrently runs these tasks on a parallel computer, using parallel
processing methods to solve complex computing problems quickly. Parallel computing
is generally used in the fields that require high computing performance, such
as in the military, energy exploration, biotechnology, and medicine. It is also known
as High-Performance Computing or Super Computing. A parallel computer is a
group of homogeneous processing units that solve large computational problems
more quickly through communication and collaboration. Common parallel computer
architecture includes a shared memory symmetric multiprocessor, a distributed
memory massively parallel machines, and a loosely coupled cluster of
distributed workstations. Parallel programs to solve computational problems often
require special algorithms. To write parallel programs, one needs to consider factors
other than the actual computational problem to be solved, such as how to coordinate
the operation between the various concurrent processes, how to allocate tasks to
each process, and so on.