Peng Wu, Maged M. Michael, et al.
CCPE
This paper describes alternative memory semantics for Java programs using an enriched version of the Commit/Reconcile/Fence (CRF) memory model [16]. It outlines a set of reasonable practices for safe multithreaded programming in Java. Our semantics allow a number of optimizations such as load reordering that are currently prohibited. Simple thread-local algebraic rules express the effects of optimizations at the source or bytecode level. The rules focus on reordering source-level operations; they yield a simple dependency analysis algorithm for Java. An instruction-by-instruction translation of Java memory operations into CRF operations captures thread interactions precisely. The fine-grained synchronization of CRF means the algebraic rules are easily derived from the translation. CRF can be mapped directly to a modern architecture, and is thus a suitable target for optimizing memory coherence during code generation. © 2000 ACM.
Peng Wu, Maged M. Michael, et al.
CCPE
Arvind, Kattamuri Ekanadham
Journal of Parallel and Distributed Computing
Karin Strauss, Xiaowei Shen, et al.
MICRO 2007
Mengting Hu, Shiwan Zhao, et al.
EMNLP-IJCNLP 2019