Я не использовал компилятор Intel, однако, Herb Sutter были некоторые интересные замечания по нему ...
От Sutter Speaks: The Future of Concurrency
Вы видите много интереса и использование транзакционной памяти, или это слишком сложная для большинства разработчиков концепция?
Невозможно ответить, кто его использует, потому что он еще не выведен на рынок. У Intel есть прототип компилятора программной транзакционной памяти. Но если вопрос: «Слишком сложно для разработчиков использовать?» ответ в том, что я, конечно, надеюсь, что нет. Все дело в том, что это проще, чем блокировки. Это единственное важное событие на горизонте исследований, которое дает надежду на значительное сокращение использования замков. Он никогда не заменит замки полностью, но наша единственная большая надежда на их замену частично.
Есть некоторые ограничения. В частности, некоторые операции ввода-вывода по сути не транзакционны - вы не можете взять атомный блок, который запрашивает у пользователя его имя и читает имя с консоли, и просто автоматически прерывает и повторяет блок, если он конфликтует с другой транзакцией; пользователь может сказать разницу, если вы попросите его дважды. Транзакционная память отлично подходит для вещей, которые только касаются памяти.
Каждый крупный поставщик аппаратного и программного обеспечения, о котором я знаю, имеет несколько инструментов транзакционной памяти в R & D. Существуют конференции и научные статьи по теоретическим ответам на основные вопросы. Мы еще не на этапе Model T, где мы можем отправить его. Вероятно, вы увидите ранние, ограниченные прототипы, где вы не можете делать неограниченную транзакционную память, где вы можете читать и писать, скажем, 100 мест памяти. Тем не менее, это все еще очень полезно для создания дополнительных алгоритмов блокировки.
Этот вопрос и его ответы по-прежнему актуальны? – 2017-06-13 11:46:13
@JanusTroelsen проверяет доступные реализации в https://en.m.wikipedia.org/wiki/Transactional_memory – 2017-06-13 11:53:05
Связанный: https://www.realworldtech.com/haswell-tm/ для записи Дэвидом Кантером некоторых из них -добавить информацию о том, как это реализовано на процессорах Intel. А также некоторые аккуратные вещи о транзакционной памяти в целом. – 2017-11-22 11:03:51