
CHAPTER
2 Parallel Programs
freedom—the number of processors—and higher costs for data access and coordina-
tion, giving the programmer a wide scope for software optimizations. Even as archi-
tects,
we therefore need to open the application "black box." Understanding the
important aspects of the process of creating parallel software (the focus of this chap-
ter) helps us appreciate the role and limitations of the architecture. A deeper look at
performance issues in the next chapter will shed greater light on hardware/software
trade-offs.
Even after a problem and a good sequential algorithm to solve it are determined, a
substantial process is involve ...