1 Preliminary
- Computer Architecture A Quantitative Approach, 5th Edition()
2 Memory Model
2.1 Three Aspects
Atomicity
Visibility
Ordering
2.2 General Model(Weaker)

- The hardware threads can each perform reads and writes out-of-order, oreven speculatively (before preceding conditional branches have been resolved). In contrast to TSO, where there is no local reordering except of reads
after writes to different addresses, here any local reordering is allowed unless specified otherwise.
- The memory system (perhaps involving a hierarchy of buffers and a complex interconnect) does not guarantee that a write becomes visible to all other hardware threads at the same time point; these architectures are not multiple-copy atomic.
3 Two aspects
3.1 CPU Memory Model
3.1.1 Implementation
3.1.2 Specification
3.1.3 Formal Model
3.2 Language Memory Model
3.2.1 Implementation
3.2.2 Some Concepts
3.2.3 Language Standard
Java:
Java Language Specification Chapter 17. Threads and Locks
C++: ISO/IEC 14882:2011(E) Information technology — Programming languages — C++ [1.10, 29]
3.2.4 Nonformal Interpretation
3.2.4.1 Java
3.2.4.2 C++
4 Applications(Concurrent/Parallel Programming)
4.1 Lock-Free Programming
4.1.1 Examples
4.1.2 Libraries
4.2 Books
5 Others
5.1 Nice Blogs
5.2 Mixed
|