Мне чтоб потом не возвращаться, сразу вобью гвоздь.
Примеры типа IRIW показывают слабость Acq/Rel относительно SeqCst. То, что какие-то там два проца сделали два rel, а потом какие-то два проца сделали acq, не говорит, что два rel-а "ушли в память" в каком-то одном порядке, а два acq-а "прочитали из памяти" в каком-то одном порядке. Acq/Rel только говорит, что всё зарелиженное "в это место" будет увидено эквайрящими "из этого места" процами, точка. С другими acq/rel эта гарантия связана очень слабо (можно считать, что вообще не). Хотите связывать операции на разных процах глобальным порядком -- это к sequential consistency. Поэтому для IRIW нужен более сильный memorder::seq_cst (или как он там называется в C11).
В этом смысле acq/rel -- это штука, которая хорошо ложится на всякие распределённые системы (одна нода послала конверт, другие ноды его полностью приняли), а вот seqcst требует извращённых протоколов консенсуса (все ноды согласились, что конверт вообще был послан, что его порядок относительно других конвертов именно такой, етц)...