
CHAPTER 1 Introduction
We also see that a separation has emerged between programming model and
machine organization as parallel programming environments have matured. For
example, Fortran 90 and High Performance Fortran provide a shared address, data
parallel programming model that is implemented on a wide range of machines—
some supporting a shared physical address space, others with only message passing.
The compilation techniques for these machines differ radically, even though the
machines appear organizationally similar, because of differences in communication
and synchronization operations provided in the communication abstraction an