
190 CHAPTER 3 Programming for Performance
Given these trade-offs, the questions that an architect has to answer are
■ Is it worthwhile to provide hardware support for a shared address space (i.e.,
transparent naming), is software support enough, or is it easy enough for pro-
grammers to manage all communication explicitly?
■ If a shared address space is worthwhile, is it also worthwhile to provide hard-
ware support for transparent replication and coherence?
■ If the answer to either of the preceding questions is yes, then is the implicit
communication enough or should there also be hardware support for explicit
message passing among processin ...