В связи с появлением модели памяти С++ (и прочих, вроде java) открываются два интересных направления:
1. доведение НАБЛЮДАЕМОГО переупорядочивания процессорных операций и прочих операций на кеше и памяти до максимально возможной степени безумия - ибо подробный и внятный программистский стандарт даёт кое-какие гарантии производителям железа, что новые причуды их процессоров будут заведомо (в теории, конечно) совместимы с программистскими практиками. Во всяком случае, теперь более-менее ясно к чему программистское сообщество в принципе готово, или должно быть готово, а что может посчитать недопустимым превышением допустимого уровня переупорядочивания операций.
2. одновременный ввод максимально эффективных SC-атомарных операций для обеспечения эффективной и общеупотребимой SC-модели.
Удастся ли SC-атомарным операциям "вынести" полностью все другие, "relaxed" варианты атомарных операций на всех архитектурах (что предполагает их высокоэффектвную реализацию в контексте максимально-безумного переупорядочения операций - см пункт 1), станет ли "SC+no races" действительно общепринятым стандартом практики даже низкоуровнего программирования - вопрос открытый. Лично для меня это видится как довольно неожиданный подход, и перспективы его на действительно интенсивно переупорядочивающих архитекрурах мне не ясны совершенно. Но... направление заявлено.