Здравствуйте, Шахтер, Вы писали:
Ш>Довольно интересно. Ш>В выходящем gcc 4.7. обещали поддержку Transactional Memory Ш>здесь
Посмотрел эту штуку со стороны реализации — впечатление — то же самое OpenMP, вид с низкоуровневого боку. Все на барьерах и синхронизации.
Думаю, это серьезно выстрелит только тогда, когда Transactional Memory будет реализована аппаратно (вот тогда — это будет БОМБА!!!). А с этим имеет место быть напряг. Последний драфт от Intel датируется 2009-м. С тех пор — тишина. То есть — пока — здоровый скептицизм — почитаем драфты, поиграемся без фанатизма и отложим.
Я бы лучше для мелкого параллелизма оставался при старых-добрых OpenMP и/или Thread Building Blocks.
__________
16.There is no cause so right that one cannot find a fool following it.
Здравствуйте, 0xDEADBEEF, Вы писали:
DEA>Здравствуйте, Шахтер, Вы писали:
Ш>>Довольно интересно. Ш>>В выходящем gcc 4.7. обещали поддержку Transactional Memory Ш>>здесь DEA>Посмотрел эту штуку со стороны реализации — впечатление — то же самое OpenMP, вид с низкоуровневого боку. Все на барьерах и синхронизации. DEA>Думаю, это серьезно выстрелит только тогда, когда Transactional Memory будет реализована аппаратно (вот тогда — это будет БОМБА!!!). А с этим имеет место быть напряг. Последний драфт от Intel датируется 2009-м. С тех пор — тишина. То есть — пока — здоровый скептицизм — почитаем драфты, поиграемся без фанатизма и отложим.
+
Я, собственно, надеюсь, что Intel таки сделает аппаратную поддержку. Не зря же они в этом проекте участвуют.
А пока можно будет поиграться и прикинуть архитектурные выгоды.
Здравствуйте, 0xDEADBEEF, Вы писали:
DEA>Думаю, это серьезно выстрелит только тогда, когда Transactional Memory будет реализована аппаратно (вот тогда — это будет БОМБА!!!).
Аппаратно это будет реализовано или когда память будет работать быстрее процессора (т.е. никогда), или на гарвардской архитектуре.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Здравствуйте, BulatZiganshin, Вы писали:
BZ>на эту штуку надо смотреть со стороны упрощения программирования. а со стороны реализации даже хаскел ничем не отличается машинного кода
Ты драфты читал? Думаю нет, а то твоя реплика выглядиела бы иначе
Почитай вот здесь: http://software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition/ Там еще и компилятор предлагают скачать.
Особое внимание на Draft Specification of Transactional Language Constructs for C++.
Лично мое мнение — эта штука по определению низкоуровневая.
Плюсы:
— вводится аннотация кода на уровне компилятора по признаку работы с общей памятью. Это позволит компилятору такие куски немножко (или множко) пооптимизировать. Например, складировать данные, к которым обращаются "одинаковым образом" поближе друг к другу.
— весьма облегчается написание "многословных" lock-free конструкций. Разумеется, при условии аппаратной реализации.
Минусы:
— "Поощряет" работу с общей памятью. Что в моем понимании есть зло (неизбежное, но тем не менее). Параллельная обработка должна быть параллельной
__________
16.There is no cause so right that one cannot find a fool following it.
Здравствуйте, Шахтер, Вы писали:
Ш>Довольно интересно. Ш>В выходящем gcc 4.7. обещали поддержку Transactional Memory Ш>здесь
типа микрореклама. не со злым умыслом
сборки для windows можно качнуть здесь.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)