
11.3 Latency Tolerance in a Shared Address Space 851
tern to change the program counter and perform other protected thread manage-
ment functions. For example, the implementation of the send primitive might
automatically cause a thread switch after initiating the send (of course, if there is no
other ready thread on that processing node, then the same thread will be switched
back in). Multithreading allows latency tolerance even with a synchronous message-
passing programming model. This approach was the basis of the Occam language on
the Transputer.
Switching a thread requires that we save the processor state needed to restart it,
including