
Parallel Programs
To understand and evaluate design decisions in a parallel machine, we must have an
idea of the software that runs on the machine. Understanding program behavior has
led to some of the most important advances in uniprocessors, including memory
hierarchies and instruction set design. It is all the more important in multiproces-
sors,
both because of the increase in degrees of freedom and because of the much
greater performance penalties caused by mismatches between applications and
systems.
Understanding parallel software is important for algorithm designers, for pro-
grammers, and for architects. As algorithm designers, it help ...