Title :
Information-flow models for shared memory with an application to the PowerPC architecture
Author :
Adir, Allon ; Attiya, Hagit ; Shurek, Gil
Author_Institution :
IBM Labs., Haifa Univ., Israel
fDate :
5/1/2003 12:00:00 AM
Abstract :
This paper introduces a generic framework for defining instructions, programs, and the semantics of their instantiation by operations in a multiprocessor environment. The framework captures information flow between operations in a multiprocessor program by means of a reads-from mapping from read operations to write operations. Two fundamental relations are defined on the operations: a program order between operations which instantiate the program of some processor and view orders which are specific to each shared memory model. An operation cannot read from the "hidden" pastor from the future; the future and the past causality can be examined either relative to the program order or relative to the view orders. A shared memory model specifies, for a given program, the permissible transformation of resource states. The memory model should reflect the programmer\´s view by citing the guaranteed behavior of the multiprocessor in the interface visible to the programmer. The model should retrain from dictating the design practices that should be followed by the implementation. Our framework allows an architect to reveal the programming view induced by a shared-memory architecture; it serves programmers exploring the limits of the programming interface and guides architecture-level verification. The framework is applicable for complex, commercial architectures as it can capture subtle programming-interface details, exposing the underlying aggressive microarchitecture mechanisms. As an illustration, we define the shared memory model supported by the PowerPC architecture, within our framework.
Keywords :
message passing; parallel architectures; programming; shared memory systems; synchronisation; PowerPC architecture; causality; consistency; information flow models; microarchitecture mechanisms; multiprocessor systems; out-of-order execution; programming; shared memory model; synchronization instructions; Degradation; Electric breakdown; Gas insulated transmission lines; Microarchitecture; Multiprocessing systems; Out of order; Performance gain; Power system modeling; Programming profession;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2003.1199067