четверг, 22 апреля 2010 г.

[prog.flame] Тихо и незаметно разговорам о новой multi/many-core эре в программировании исполнилось пять лет

Причем исполнилось не сегодня, а еще первого марта – именно первого марта 2005 года вышла знаменитая статья Герба Саттера “A Fundamental Turn Toward Concurrency in Software”.

Вот так вот. Все еще кажется, что это новая и очень перспективная тема – обуздание многоядерных процессоров. Тогда как теме этой уже пять лет. Срок очень не маленький по меркам компьютерной индустрии.

Такое впечатление, что разговоры ведутся, какие-то результаты периодически возникают (вроде Intel TBB)… А вот революции нет. И задумываешься: либо она зреет-зреет и таки разразиться со временем, либо же ее не будет вовсе.

10 комментариев:

Miroslav комментирует...

к сожалению интел не только буксует сам но еще и борется с развитием альтернатив - они купили RapidMind когда те уже имели продажи. судя по тому что они все еще не продают - цель была избежать распространения "опасных" gpu-computing технологий :(
Недавно на http://software.intel.com/en-us/blogs/2010/04/19/parallel-programming-talk-68-data-parallelism-ct-rapidmind-with-intel-engineer-mike-mccool/ было интервью с. Там сочетание gpu из списка целевых платформ уже испарилось совсем. Я понимаю что патентов у них не хватает сделать gpu но когда лидеры тормозят всех только потому что им мало рекордных прибылей это навевает :(

eao197 комментирует...

Интересно. Я и не знал как Intel с купленными продуктами поступает. Судя по статьям на Dr.Dobb, они в основном TBB и Ct продвигают.

Miroslav комментирует...

дык это ct и есть - просто насколько я понимаю оно продвигается без продаж :)

eao197 комментирует...

Странно, я почему-то думал, что RapidMind и Ct -- это разные вещи.

Miroslav комментирует...

то было название фирмы которую они купили.

Меня огорчает что теперь слова gpu из всего этого исчезло.

имхо мэникоры как концепция так на бумаге и останутся

eao197 комментирует...

>имхо мэникоры как концепция так на бумаге и останутся

Так на днях Intel вроде выпустил в продажу новый, шестиядерный процессор i7 980.. Конечно, до обещанных 80-ти ядер вряд ли они дойдут. Но года через 3-4 процы с 16-ю ядрами в обычных ноутбуках уже могут быть реальностью. Не говоря уже про нормальные desktop-системы и сервера.

Просто не видно, за счет чего они будут доить покупателей. Гонка мегагерцев закончилась. Единственный видимый путь наращивания мощности -- это увеличение количества ядер и кэша.

Miroslav комментирует...

ну закон of diminishing marginal returns говорит мне что уже после 8ми даже самые отчаянные признают что на практике проще получить замедление от обычного распараллеливания чем ускорение :)

eao197 комментирует...

Ну поживем, увидим.

Мне пока кажется, что реально multicore нужна в двух прикладных областях: разные формы HPC (как вычисления, так и всякое кодирование/декодирование) и различные формы concurrency (когда программы, как в Erlang-е, состоят и тучи самостоятельных сущностей). Так вот оказывается, что и тем, и другим ничего собственно и не нужно. У HPC были MPI+OpenMP, у вторых -- тот же Erlang. Поэтому им (нам) ничего и не нужно особо. Мы чем пользовались, тем и будем продолжать пользоваться.

А различные вещи вроде TBB или MS-овского Parallel Task Library -- это всего лишь новая, чуть посахаренная обертка для давно известных и использующихся вещей.

Rustam комментирует...

Похоже революция отменяется. Так же как и с .NET, Влад и Co. помню примерно те же пять лет назад писали что через пять лет он точно завоюет мировое господство :)

eao197 комментирует...

>Так же как и с .NET, Влад и Co. помню примерно те же пять лет назад писали что через пять лет он точно завоюет мировое господство :)

Они начали раньше. Года с 2004-го или 2003-го. Так что у multicore еще есть запас времени :)