
3.6 Implications for Programming Models 187
the word being referenced (e.g., a cache block). The cost of communication is thus
amortized without the programmer having to worry about preserving the coherence
of the rest of the transferred data; the system takes this responsibility. In the latter
case,
however, replication and coherence are the programmer's responsibility; so on
a miss, the system fetches only the referenced word (otherwise, the burden on the
programmer may be too large).
In message-passing systems, local references incur no more overhead than on a
uniprocessor. Communication messages, however, are very flexible and therefor