Hiding Relaxed Memory Consistency with Compilers

作者: David A. Padua , Jaejin Lee

DOI: 10.5555/517554.825792

关键词: Consistency modelCompilerComputer scienceSequential consistencyTheoretical computer scienceConsistency (database systems)Memory architectureControl flow graphParallel computingOptimizing compilerNode (circuits)

摘要: 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 explicitly parallel programs. The presents programmers with sequentially consistent view of machine irrespective whether it follows or model. To guarantee sequential consistency, our algorithm inserts fence instructions by identifying memory-barrier nodes. r educe number exploiting ordering constraints property synchronization operations. introduce dominators respect node in control flow graph identify also show that minimizing nodes using NP-hard.

参考文章(38)
David A. Padua, Samuel P. Midkiff, COMPILER GENERATED SYNCHRONIZATION FOR DO LOOPS. international conference on parallel processing. pp. 544- 551 ,(1986)
David A. Padua, Samuel P. Midkiff, Issues in the Optimization of Parallel Programs. international conference on parallel processing. pp. 105- 113 ,(1990)
Jaejin Lee, Samuel P. Midkiff, David A. Padua, A Constant Propagation Algorithm for Explicitly Parallel Programs languages and compilers for parallel computing. ,vol. 26, pp. 563- 589 ,(1998) , 10.1023/A:1018772514882
David A. Padua, Samuel P. Midkiff, Ron Cytron, Compiling programs with user parallelism languages and compilers for parallel computing. pp. 402- 422 ,(1990)
Jaejin Lee, Samuel P. Midkiff, David A. Padua, Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs languages and compilers for parallel computing. pp. 114- 130 ,(1997) , 10.1007/BFB0032687
David A. Padua, Jaejin Lee, Compilation techniques for explicitly parallel programs University of Illinois at Urbana-Champaign. ,(1999)
Arvind Krishnamurthy, Katherine Yelick, Optimizing Parallel SPMD Programs languages and compilers for parallel computing. pp. 331- 345 ,(1994) , 10.1007/BFB0025888
Jens Palsberg, Andrew W. Appel, Modern Compiler Implementation in Java ,(1997)
Daniel E. Lenoski, Wolf-Dietrich Weber, Scalable shared-memory multiprocessing ,(1995)