A Relaxed Guide to memory_order_relaxed☐ Assuming aligned machine-sized atomic objects, that is... - Small problems: Out of thin air (OOTA) & read from untaken branch (RFUB) ☐ Small but persistent: Java has been attacking a similar for more than 20 years ☐ Some progress within the past few years: We now have ways of classifying OOTA vs. simple reordering! One requires per-scenario creativity, others are also not suited for compilers of memory_order_load_store ## OOTA (Out-of-thin-air problem) Introduction We contrast three examples: - Simple reordering must be allowed. Occurs in practice. - (OOTA) Not believed to occur in practice0 码力 | 32 页 | 278.53 KB | 1 年前3
cppcon 2021 safety guidelines for C parallel and concurrency17: ParallelSTL, control false sharingC++ 14: shared_lock/shared_timed_mutex, OOTA, atomic_signal_fence, C++ 17: scoped _lock, shared_mutex, ordering of memory models, progress guarantees 0 码力 | 52 页 | 3.14 MB | 1 年前3共 2 条- 1













