Sequential Consistency (for data race free programs, SC-DRF) is the strongest shared memory consistency model provided by modern programming languages (e.g., Java or C++11).
In ''Art of Multiprocessor Programming'' the authors (M. Herlihy and N. Shavit) use notion of atomic register in most of the theorems throughout the book.
Is it correct to say that volatile
references in Java and atomics with std::memory_order seq_cst
in C++ are (indistinguishable from) atomic registers? Is it possible to observe difference between linearizable registers and atomics in C++ if its memory model guarantees sequential consistency on whole space of memory locations marked as std::atomic
?
Aucun commentaire:
Enregistrer un commentaire