Title :
Hiding relaxed memory consistency with a compiler
Author :
Lee, Jaejin ; Padua, David A.
Author_Institution :
Dept. of Comput. Sci. & Eng., Michigan State Univ., East Lansing, MI, USA
fDate :
8/1/2001 12:00:00 AM
Abstract :
We present a compiler technique, which is based on Shasha and Snir´s delay set analysis, to hide the underlying relaxed memory consistency model for an optimizing compiler for explicitly parallel programs. The compiler presents programmers with a sequentially consistent view of the underlying machine, irrespective of whether it follows a sequentially consistent model or a relaxed model. To hide the underlying relaxed memory consistency model and to guarantee sequential consistency, our algorithm inserts fence instructions by identifying memory-barrier nodes. We reduce the number of fence instructions by exploiting the ordering constraints of the underlying memory consistency model and the property of fence and synchronization operations. We introduce dominators with respect to a node in a control flow graph to identify memory-barrier nodes and show that minimizing the number of memory-barrier nodes is NP-hard
Keywords :
computational complexity; optimising compilers; synchronisation; NP-hard; compiler; control flow graph; delay set analysis; dominators; memory consistency model; memory-barrier nodes; optimizing compiler; ordering constraints; parallel programs; relaxed memory consistency hiding; sequentially consistent model; Delay; Flow graphs; Hardware; Operating systems; Optimizing compilers; Program processors; Programming profession; Read-write memory; Sun; Yarn;
Journal_Title :
Computers, IEEE Transactions on