LINUX.ORG.RU

software transaction memory & C/C++(gcc, tinystm, libltx, libcmt, ctl, etc.)

 , , ,


0

7

Кто-то работал с какими-то библиотеками для STM, версией от gcc(Transactional Memory in GCC) или даже писал собственные реализации? Поделитесь опытом. Интересует как аспекты реализации, так и удобство использования, а так же, безусловно, производительность и аппетиты тех или иных решений.


Заодно расскажите, как и зачем пользоваться STM в языке, где I/O не участвует в системе типов.

anonymous ()
Ответ на: комментарий от anonymous

Заодно расскажите, как и зачем пользоваться STM в языке, где I/O не участвует в системе типов.

При чем тут I/O? При чем тут система типов? Пользоваться затем же, зачем пользуются другими механизмами конкурентности.

anonymous ()
Ответ на: комментарий от anonymous

При чем тут I/O? При чем тут система типов? Пользоваться затем же, зачем пользуются другими механизмами конкурентности.

Видимо более другой анонимус намекает на то что если внутри stm-транзакции окажется код ввода-вывода или какой-либо иной деструктивной операции — случится что-то плохое.

KblCb ★★★★★ ()
Ответ на: комментарий от anonymous

Сколько раз выполняются сайд-еффекты (например, вывод на экран) внутри STM-транзакции?

anonymous ()
Ответ на: комментарий от KblCb

Ну так мозг-то никто не отменял. В той же clojure, где STM в языке, сайд-эффекты тоже есть. Никто не ноет.

anonymous ()
Ответ на: комментарий от anonymous

Сколько получится. А зачем ты выводишь что-то на экран в теле транзакции?

anonymous ()
Ответ на: комментарий от anonymous

Сколько раз выполняются сайд-еффекты (например, вывод на экран) внутри STM-транзакции?

Столько раз сколько будет перезапущена транзакция.

KblCb ★★★★★ ()
Ответ на: комментарий от anonymous

Ну так мозг-то никто не отменял. В той же clojure, где STM в языке, сайд-эффекты тоже есть. Никто не ноет.

А в кожуре ввод-вывод не типизирован? Транзакционные переменные ничем не отличаются от остальных переменных? Я просто не в курсе. Знаю как оно в хаскеле и худо бедно представляю как в скале.

KblCb ★★★★★ ()

Я подписался, но, чую никто это ещё толком не использовал. Я и сам не стал т.к. на интелях технология не выглядит обкатанной. Вот, например, хотел купить проц с STM и на тебе: http://www.anandtech.com/show/8376/intel-disables-tsx-instructions-erratum-fo... . И, по-моему, это не в первый раз. И это при том что, имхо, они уже как минимум один раз меняли то как это внутри работает. Т.е. для старых и новых платформ нужен разный код. И ещё AMD забила на это.

true_admin ★★★★★ ()

для реальных проектов забей и юзай механизмы синхронизаций

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.