User-controllable coherence revives the idea of cooperation between software and hardware in an attempt to bridge the gap between efficient small-scale shared memory machines and massive distributed memory machines. It proposes a new multiprocessor architecture – which has both a global address-space and multiple processor-local addressspaces – with new memory instructions and a new coherence protocol to manage the dual address-spaces. The purpose of this paper is twofold. First, we solidify the semantics of instruction set extensions that enable “localization” – the act of moving data from the global address-space to a processor’s local address-space – thus clearly defining the requirements for a localizing coherence protocol. Second, we demonstrate the feasibility of localizing coherence by describing the workings of a full-scale directory-based protocol that we have implemented and tested using an existing protocol specification tool.
Collin McCurdy, Charles N. Fischer