Re: Библиография STM
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 26.11.09 08:29
Оценка: 21 (2)
Здравствуйте, Mr.Cat, Вы писали:

MC>Коллеги, подкиньте годных обзорных статей или книг по software transactional memory, наподобие вот этой:

MC>James R. Larus and Ravi Rajwar. Transactional Memory. 2006.
MC>То бишь хочется поглядеть на направления развития и мысли в stm.

Papers and presentations about transactional memory in Haskell
Intel® C++ STM Compiler, Prototype Edition 3.0

Вот еще:
Parallel Programming with Transactional Memory

Если на portal.acm.org есть учетка с соответствующими правами, то можешь сам скачать, если нет, то пиши, какие статьи заинтересовали, я дома гляну (у меня где-то были скачаны все статьи с ACM) я их выложу куда-нибудь:
Flexible Decoupled Transactional Memory Support
Stretching transactional memory
An integrated hardware-software approach to flexible transactional memory
An effective hybrid transactional memory system with strong isolation guarantees
Toward high performance nonblocking software transactional memory
Adaptive transaction scheduling for transactional memory systems
Hybrid transactional memory
Against lock-based semantics for transactional memory
Transactional memory
Early experience with a commercial hardware transactional memory implementation
The transactional memory / garbage collection analogy
Towards transactional memory semantics for C++
Understanding Tradeoffs in Software Transactional Memory
An efficient lock-aware transactional memory implementation
Re: Библиография STM
От: remark Россия http://www.1024cores.net/
Дата: 27.11.09 07:24
Оценка: 15 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Коллеги, подкиньте годных обзорных статей или книг по software transactional memory, наподобие вот этой:

MC>James R. Larus and Ravi Rajwar. Transactional Memory. 2006.
MC>То бишь хочется поглядеть на направления развития и мысли в stm.

Может тут найдёшь чего интересного, тут тусуются представители всей промышленности (Sun, Microsoft, Intel) и университетов, которые этим занимаются:
http://groups.google.com/group/tm-languages

Направление развития для масс тут:
http://blogs.msdn.com/stmteam

А из общих статей (не про реализацию) за последнее время больше всего понравилось это:
QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory
http://www.multicoreinfo.com/research/papers/2009/ics09-gajinov-quaketm.pdf
Если не украшая, то вывод такой: что бы использовать STM надо докуя времени лучших экспертов, и даже тогда получится полностью тормозная и немаштабируемая система.



1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re: Библиография STM
От: remark Россия http://www.1024cores.net/
Дата: 27.11.09 07:32
Оценка: 10 (1)
Здравствуйте, Mr.Cat, Вы писали:

MC>Коллеги, подкиньте годных обзорных статей или книг по software transactional memory, наподобие вот этой:

MC>James R. Larus and Ravi Rajwar. Transactional Memory. 2006.
MC>То бишь хочется поглядеть на направления развития и мысли в stm.

В целом направление мысли для STM сейчас слудующее.

Снижение однопоточного оверхеда — все.
Достижение хорошей масштабируемости для хороших программ — SkySTM.
Интеграция в существующие языки — Intel C++ STM Compiler, Microsoft STM .NET, по-моему на днях Sun интергрировал в C++ Studio, ну и для Java есть работы.
Стандартизация — Intel STM ABI, Intel C++ Transactional Constructs.
Интеграция STM и HTM — в Sun много работ типа HyTM (Hybrid TM), PhTN (Phased TM).
Чисто HTM решения — AMD ASF, Sun Rock (это я имею в виду те, которые можно ожидать в ближайшие пару лет).

Если не найдёшь по ключевым словам, могу дать конкретные ссылки на это всё — сейчас просто лень все ссылки выискивать.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Библиография STM
От: Mr.Cat  
Дата: 15.11.09 23:27
Оценка:
Коллеги, подкиньте годных обзорных статей или книг по software transactional memory, наподобие вот этой:
James R. Larus and Ravi Rajwar. Transactional Memory. 2006.
То бишь хочется поглядеть на направления развития и мысли в stm.
Re: Бамп
От: Mr.Cat  
Дата: 18.11.09 00:26
Оценка:
Ну или хотя бы отправьте меня на правильный форум
Re: Бамп
От: Mr.Cat  
Дата: 21.11.09 22:19
Оценка:
Последний. Больше не будет.
Re[2]: Библиография STM
От: Mr.Cat  
Дата: 27.11.09 00:04
Оценка:
Здравствуйте, SergeyT., Вы писали:
ST>Papers and presentations about transactional memory in Haskell
Да, про работы SPJ знаю — читаю потихоньку.

ST>Parallel Programming with Transactional Memory

ST>Transactional memory
Да, эти тоже видел. Коротких обзорных статей, в принципе, довольно много — меня все-таки интересуют более детальные, наподобие книжки по ссылке из моего поста.

ST>Если на portal.acm.org есть учетка с соответствующими правами, то можешь сам скачать, если нет, то пиши, какие статьи заинтересовали, я дома гляну (у меня где-то были скачаны все статьи с ACM) я их выложу куда-нибудь:

Ок, спасибо. Вроде у моего ВУЗа должен быть доступ к библиотеке ACM, чуть ли не по диапазону IP. Надо будет попробовать.

ST>Stretching transactional memory

ST>Against lock-based semantics for transactional memory
ST>Understanding Tradeoffs in Software Transactional Memory
ST>The transactional memory / garbage collection analogy
ST>Towards transactional memory semantics for C++
Спасибо. Как раз подобными обзорными и философскими статьями я сейчас и интересуюсь. Пока попробую сам раздобыть копии, если не получится — тогда обращусь за помощью.
Собственно, к чему создавалась эта ветка — мой интерес к stm грозит вылиться в дипломную работу (ибо других вариантов как-то не получилось) — и поэтому нужно в сией достаточно обширной теме выбрать достаточно узкую проблему, чтобы получение презентабельного результата не оказалось непосильной задачей. Поэтому сейчас вот пытаюсь как-то систематизировать наличествующие напрвления.

ST>Flexible Decoupled Transactional Memory Support

ST>An efficient lock-aware transactional memory implementation
ST>Toward high performance nonblocking software transactional memory
ST>Adaptive transaction scheduling for transactional memory systems
Ага, тут обсуждаются конкретные имплементации. В детали реализаций я пока не особо вникал — ибо материала много, а меня мало.

ST>An integrated hardware-software approach to flexible transactional memory

ST>An effective hybrid transactional memory system with strong isolation guarantees
ST>Hybrid transactional memory
ST>Early experience with a commercial hardware transactional memory implementation
Ага, тут про имплементации с участием железок. Надо будет тоже почитать, но пока больше интересуют софтверные решения.
Re[3]: Библиография STM
От: Mr.Cat  
Дата: 27.11.09 00:16
Оценка:
Кстати, если еще кому интересно.

ST>>Stretching transactional memory

http://infoscience.epfl.ch/record/136702

ST>>Against lock-based semantics for transactional memory

Нинашел Но там всего 2 странички — меня ведь совесть замучает

ST>>Understanding Tradeoffs in Software Transactional Memory

www.cs.tau.ac.il/~shanir/nir-pubs-web/Papers/Understanding.pdf

ST>>The transactional memory / garbage collection analogy

www.cs.washington.edu/homes/djg/papers/analogy_oopsla07.pdf

ST>>Towards transactional memory semantics for C++

http://www.adamwelc.org/papers/spaa09.pdf
Re[2]: Библиография STM
От: Mr.Cat  
Дата: 29.11.09 01:09
Оценка:
Здравствуйте, remark, Вы писали:
R>А из общих статей (не про реализацию) за последнее время больше всего понравилось это:
R>QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory
R>http://www.multicoreinfo.com/research/papers/2009/ics09-gajinov-quaketm.pdf
R>Если не украшая, то вывод такой: что бы использовать STM надо докуя времени лучших экспертов, и даже тогда получится полностью тормозная и немаштабируемая система.

Да, интересная статья. Получается, взяв готовую непараллельную программу, можно за 10 человеко-месяцев можно переписать ее с использованием stm и получить сильные тормоза даже на мощной машине, либо за 15 человеко-месяцев (с участием разработчиков примерно той же квалификации?) "распараллелить" ее и получить (пусть небольшой, но) профит. То бишь на профит от stm можно надеяться, лишь разрабатывая приложение с нуля и проектируя его архитектуру прицельно под (конкретную имплементацию?) stm?
С другой стороны, если обратить внимание на распараллеленный на основе pthreads сервер — восемь потоков уменьшают веря обработки фрейма где-то на треть. Я так понял — большая часть времени уходит на работу с areanode-деревом: обработку движения и коллизий объектов, а поскольку игроки все-таки имеют тенденцию не разбегаться по карте, а искать друг друга и кучковаться (особенно когда их 16 на сравнительно небольших квейковских картах — хотя вот непонятно, по какому алгоритму действовали боты и были ли задействованы живые игроки вообще) — то действия игроков в рамках фрейма затрагивают одни и те же узлы дерева — и параллелить это дело сложно, какими средствами не пользуйся.

PS: Вспомнил школьные годы, пентиумы в компьютерном классе — и улыбнулся:

Both machines [клиент и сервер] are
PowerEdge 6850, with four dual-core 64-bit Intel® Xeon™
processors running at 3.2 GHz, with 16MB L3 cache memory per
processor unit, running SUSE LINUX 10.1.

Re[3]: Библиография STM
От: remark Россия http://www.1024cores.net/
Дата: 29.11.09 15:45
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Да, интересная статья. Получается, взяв готовую непараллельную программу, можно за 10 человеко-месяцев можно переписать ее с использованием stm и получить сильные тормоза даже на мощной машине, либо за 15 человеко-месяцев (с участием разработчиков примерно той же квалификации?) "распараллелить" ее и получить (пусть небольшой, но) профит. То бишь на профит от stm можно надеяться, лишь разрабатывая приложение с нуля и проектируя его архитектуру прицельно под (конкретную имплементацию?) stm?


Типа того
Надо ещё учитывать, кто эти люди. Это не совсем 10 человеко-месяцев среднестатистического разработчика, на которого рассчитаны STM.
Плюс попутно им пришлось разработать технику ReachPoints для анализа плохой производительности и оптимизации.


MC>С другой стороны, если обратить внимание на распараллеленный на основе pthreads сервер — восемь потоков уменьшают веря обработки фрейма где-то на треть. Я так понял — большая часть времени уходит на работу с areanode-деревом: обработку движения и коллизий объектов, а поскольку игроки все-таки имеют тенденцию не разбегаться по карте, а искать друг друга и кучковаться (особенно когда их 16 на сравнительно небольших квейковских картах — хотя вот непонятно, по какому алгоритму действовали боты и были ли задействованы живые игроки вообще) — то действия игроков в рамках фрейма затрагивают одни и те же узлы дерева — и параллелить это дело сложно, какими средствами не пользуйся.


Ну так с высоты птичьего полёта сложно сказать, можно его распараллелить или нет. Совсем идеально может и нельзя, но я думаю, что по-крайней мере значительно лучше, чем получилось у них с STM, — можно. Тем более, что в реальной игре с парой десятков игроков всё же не все прямо совсем рядом-рядом находятся.
Вообще они показали простой вариант, который не пытается достить производительности — изначальный однопоточный сервер. Полезно было бы так же поглядеть противоположный вариант — вариант, который ставит производительность превыше всего, а сложность кода уж такая какая получится. Тогда можно будет более объективно оценивать промежуточные варианты — например, такое-то увеличение сложности и одновременное такое-то повышение производительности это вообще насколько разумное соотношение? Пока не понятно.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
Re[4]: Библиография STM
От: Mr.Cat  
Дата: 29.11.09 21:32
Оценка:
Здравствуйте, remark, Вы писали:
R>Плюс попутно им пришлось разработать технику ReachPoints для анализа плохой производительности и оптимизации.
Тут я, кстати, немного растерялся. Cперва они жалуются на высокий abort rate, рассказывают про false sharing, предлагают технику по выявлению мест, где транзакции откатываются — а потом заявляют, что оверхед от abort rate на самом деле сравнительно невелик. Или это все надо читать, как "нам тут пришлось повозиться, но мы-таки почти свели на нет оверхед от откатов"?
Re[5]: Библиография STM
От: remark Россия http://www.1024cores.net/
Дата: 30.11.09 16:53
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, remark, Вы писали:

R>>Плюс попутно им пришлось разработать технику ReachPoints для анализа плохой производительности и оптимизации.
MC>Тут я, кстати, немного растерялся. Cперва они жалуются на высокий abort rate, рассказывают про false sharing, предлагают технику по выявлению мест, где транзакции откатываются — а потом заявляют, что оверхед от abort rate на самом деле сравнительно невелик. Или это все надо читать, как "нам тут пришлось повозиться, но мы-таки почти свели на нет оверхед от откатов"?

Я так это понял, что Да, указанной производительности, масштбаируемости и частоты абортов им удалось добиться после того, как они всё это пооптимизировали. Т.е. приведены только конечные результаты.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.