Abstract

This chapter presents an introduction to parallel programming. A shared-memory multiprocessor computer is a single computer with two or more central processing units (CPUs), all of which have equal access to a common pool of main memory. Multiprocessor computers can be used for general-purpose time-sharing and for compute-intensive application. Apart from running completely isolated programs, parallel processing is useful for calculations involving a number of nearly independent but communicating calculations. A different kind of parallelism involves apportioning what is normally thought of as an indivisible calculation among many processors. The type of parallelism that involves nearly independent tasks such as database management, parallel I/O, and Monte Carlo simulations of trajectories are examples of coarse-grained parallelism. The example in which different iterations of a loop are executed by different processors is called fine-grained parallelism. Fine-grained parallel programming is generally more difficult to do than coarse-grained parallel programming, although both types depend on exactly the same principles.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call