Форумы на Realcoding.NET: Столпы параллелизма - Форумы на Realcoding.NET

Jump to content

Page 1 of 1

Столпы параллелизма Herb Sutter. The Pillars of Concurrency

#1 User is offline   Didro 

  • Новичок
  • Group: Пользователь
  • Posts: 6
  • Joined: 21-January 06

Posted 09 July 2007 - 11:38 AM

Herb Sutter начал вести колонку по параллельному программированию в журнале Dr.Dobb's. Закончил перевод его первой обзорной и в тоже время достаточно конкретной статьи - здесь.


0

#2 User is offline   Nuzhny 

  • Авторитетный программист
  • Group: Пользователь
  • Posts: 432
  • Joined: 24-July 06

Posted 09 July 2007 - 02:33 PM

Статья интересная.

Я довольно давно интересовался параллельным программированием. Диплом писал по параллельным языкам. Основным источником была книга "Параллельные вычисления" Воеводиных и материалы с их сайта parallel.ru.
2Didro: Насколько я понял, ты серьёзно этим занимаешься. Видел несколько твоих тематических переводов на rsdn'е. Интересно было бы узнать, насколько близки работы мировых разработчиков и разработчиков с того же parallel.ru.
0

#3 User is offline   Didro 

  • Новичок
  • Group: Пользователь
  • Posts: 6
  • Joined: 21-January 06

Posted 10 July 2007 - 01:08 PM

[skip (здесь был дубль нижнего поста)]

This post has been edited by Didro: 10 July 2007 - 01:12 PM

0

#4 User is offline   Didro 

  • Новичок
  • Group: Пользователь
  • Posts: 6
  • Joined: 21-January 06

Posted 10 July 2007 - 01:08 PM

ЦИТАТА
Насколько я понял, ты серьёзно этим занимаешься. Видел несколько твоих тематических переводов на rsdn'е. Интересно было бы узнать, насколько близки работы мировых разработчиков и разработчиков с того же parallel.ru.

За весь Parallel.ru я не скажу, а как пример близости технологий, разработанных у нас и на западе, могу привести язык MC# (проект в котором сейчас работаю).
Язык базируется на C#. В основе модели MC# положено Join-исчисление (которые на западе было реализовано в JoCaml, MS Research Polyphonic C#(который стал частью MS C_omega), и в Nemerle на макросах).
Run-time языка MC# основан на .NET FW(\Mono). В определенном смысле MC# - развитие майкрософтовского Polyphonic C# на случай как локальных, так и распределенных вычислений. Так что в этом смысле работа находится в русле (в мейнстриме :)).
К тем категориям, которые выделили Callahan\Sutter можно добавить ещё рад столпов, которые лежат в другой, ортогональной столпам Каллахана плоскости. Это:
  1. Встроенные системы (нпр., DSP\ПЛИС\FPGA)
  2. Многоядерные ПК\Суперкомпьютеры (точка соприкосновения с Callahan\Sutter и Воеводиным)
  3. Кластера\GRID-системы
Очевидно, что эти столпы также являются категориями параллелизма, как и столпы Каллахана.

В области встроенных систем у нас есть успехи, например - НТЦ Модуль _ разработал собственный DSP процессор и совместно с Samsung-ом запустил его производство. Процессор может быть использован и для параллельных вычислений, только параллелизм там основан нейронных сетях. (по крайней мере, такие заявления делались при анонсировании НТЦ Модуль технологии NeuroMatrix)
Или даже вот этот пример ("народная" разработка Форт(Forth) процессора на ПЛИС) показателен.

Нельзя не сказать также о GPGPU технологиях,..., хотя видимо можно и не сказать, поскольку в России насколько я знаю, нет проектов подобных MS Research Accelerator GPGPU (исполнение managed-программ на процессорах графической карточки). Недавно (месяца 4 назад) мой науч.руководитель был на конференции в Москве (к сожалению, название забыл, возможно, DSPA 2007), рассказывал, что там ребята из МГУ делали презентацию нейросети на базе GPGPU, так что скорей всего российские GPGPU проекты есть, просто они не известны мне. (Вспомнилось, кстати, что Тони Хоар заканчивал МГУ, так что у нас в России база для параллелизма оч.хорошая :)

Вообще сейчас все труднее и труднее делить разработки на наши и "ихние", вот например, такие продукты Intel VTune\ThreadAssistatn\ и п.р., которые, безусловно, имеют прямое отношение к параллелизму (многопоточности), разрабатываются в центре Intel в Нижнем Новгороде нашими программистами. Есть, разумеется, и сугубо наши, российские разработки - например, алгоритмы параллельных подстановок(это из области мелкозернистый параллелизм(Fine-grained parallelism), нечто близкое к клеточным автоматам), над проблемами которых в частности работает О.И.Бандман в Новосибирском научном городке.

На западе понятно дело куча(кучища!) проектов, посвященных параллелизму, меня заинтересовал проект Ptolemy (университет Беркли, один из авторов - Эдвард Ли) - среда моделирования разнообразных моделей параллельных вычислений. У нас, к сожалению, насколько я знаю таких проектов нет, а ведь именно моделирование и рассмотрение применимости разнообразных моделей вычислений, позволило бы создавать как удачные языки параллельного программирования, базирующиеся на той или иной модели, так и технологии вообщем. Сейчас же отсутствует даже классификация моделей параллельного программирования, что показывает незрелость ещё пока, не системность данной области, имхо.

This post has been edited by Didro: 10 July 2007 - 01:34 PM

0

#5 User is offline   Nuzhny 

  • Авторитетный программист
  • Group: Пользователь
  • Posts: 432
  • Joined: 24-July 06

Posted 10 July 2007 - 02:22 PM

Спасибо за столь подробную лекцию. И за множество материала для изучения. Очень интересное направление.
0

Share this topic:


Page 1 of 1


Fast Reply