Topic: managing shared memory
Topic: code optimization by code rewrite
Topic: initialization of data
Topic: race conditions
| |
Reference
Pugh, W.,
"Fixing the Java memory model",
Proceedings of the ACM 1999 Conference on Java Grande, San Francisco, California, USA, June 1999, ACM, pp. 89-98.
Google
Other Reference
Pugh, W., "The Java memory model is fatally flawed," Concurrency: Practice and Experience, 12.6:445-455, May 2000.
Quotations
89 ;;Quote: the Java memory model is too weak, too strong, and hard to understand; allows invalid programs while prohibiting compiler optimizations
| 90 ;;Quote: prescient stores allow stores before the corresponding assignment; allows writes before reads
| 91 ;;Quote: Java requires memory coherence; i.e., reads and writes must appear to act on global memory in a coherent order for each thread
| 91+;;Quote: with memory coherence, any read is a possible write; i.e., a read may make a thread aware of another thread's write
| 92 ;;Quote: with memory coherence, legal transformations are not closed under composition; i.e., downstream components can produce an illegal reordering of memory references; prohibits bytecode transformations
| 92 ;;Quote: allow processors to reorder instructions during execution, and allow write-buffers, including forward substitution and scalar replacement
| 98 ;;Quote: want guarantees that objects are properly initialized; but restrict data races to the low-level implementation of synchronization primitives
|
Related Topics
Topic: managing shared memory (74 items)
Topic: code optimization by code rewrite (30 items)
Topic: initialization of data (45 items)
Topic: race conditions (33 items)
|