Я не использовал компилятор Intel, однако у Херба Саттера есть несколько интересных комментариев по нему ...
Источник: Саттер говорит: будущее параллелизма
Вы видите большой интерес к транзакционной памяти и ее использование или эта концепция слишком сложна для понимания большинством разработчиков?
Пока невозможно ответить, кто его использует, потому что он еще не выпущен на рынок. У Intel есть прототип программного компилятора транзакционной памяти. Но если вопрос: «Разве это сложно для разработчиков?» ответ в том, что я, конечно, надеюсь, что нет. Все дело в том, что это проще, чем замки. Это единственная важная вещь на горизонте исследований, которая дает надежду на значительное сокращение использования замков. Он никогда не заменит замки полностью, но это наша единственная большая надежда заменить их частично.
Есть некоторые ограничения. В частности, некоторые операции ввода-вывода по своей сути не являются транзакционными - вы не можете взять атомарный блок, который запрашивает у пользователя его имя и читать имя из консоли, и просто автоматически прервать и повторить попытку блока, если он конфликтует с другой транзакцией; пользователь может заметить разницу, если вы предложите ему дважды. Однако транзакционная память отлично подходит для вещей, которые касаются только памяти.
Все известные мне крупные поставщики аппаратного и программного обеспечения используют несколько инструментов транзакционной памяти в исследованиях и разработках. Есть конференции и научные доклады по теоретическим ответам на основные вопросы. Мы еще не на стадии Model T, на которой мы можем ее отгрузить. Вы, вероятно, увидите ранние, ограниченные прототипы, где вы не можете использовать неограниченную транзакционную память - где вы можете только читать и записывать, скажем, 100 ячеек памяти. Тем не менее, это все еще очень полезно для включения большего количества алгоритмов без блокировки.
person
Brian Stewart
schedule
17.09.2008