Ядра, которые мы выбираем

vilianov (97 пост(а)) 12.02.2009 15:00

Будучи несколько озадаченным невниманием программистов к многоядерным процессорам, я воспользовался служебным получением и запустил на портале Computerra.Ru опрос с единственным вопросом - "Есть ли реальная польза от многоядерных процессоров?".

Сбор ответов в самом разгаре, но их структура за 15 часов уже определилась. 29.63% участников считают, что "Кое-какая польза есть, но не на все деньги". 28.40% не понимают, как раньше без многоядерников вообще жили. Чуть больше 22 процентов уверены, что для их задач хватит и одного ядра, а еще 19.75% еще не определились. Как ни крути, большинство пользователей - "ЗА".

Странно, ведь производители ПО тоже организуют какие-то фокус-группы, опрашивают потенциальных покупателей своей продукции - неужели им еще не растолковали суровую правду? В конце первого десятилетия 21-го века нельзя быть такими неторопливыми :)

Категории: Параллельное программирование, Разработка софта

Комментарии (48)

12.02.2009 04:04

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
Как долго ваш опрос провисит? Интересуюсь окончательным результатом...
12.02.2009 05:04

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Хорошая (для меня) новость - что от их мнения уже ничего не зависит :)
(в отличие, например, от SSD и 64bit)

З.ы. проголосавал "ЗА"
12.02.2009 05:05

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Может быть тут какой-то линк разместить. Найти, в принципе, можно; но с линком будет приятнее.
12.02.2009 05:12

vilianov
Всего баллов:
9,500
Статусных баллов:
9,000
коричневый пояс
Линк простой - http://www.computerra.ru :)

Опрос будет висеть до понедельника. Мы меняем их 2 раза в неделю.
12.02.2009 05:19

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
А тоже "за", причем голосую рублем :)
12.02.2009 06:01

vilianov
Всего баллов:
9,500
Статусных баллов:
9,000
коричневый пояс
(лихорадочно ищет рубль)
12.02.2009 06:04

Marianna Svetlosanova (Intel)
Всего баллов:
5,270
Статусных баллов:
5,270
Community Manager
я тоже "за", но что толку то... мой маленький ноут виснет безбожно каждое утро совершая какие то апдейты и закачиваю почту.. а вроде не одно ядро..
12.02.2009 08:03

ilnarb
Всего баллов:
2,925
Статусных баллов:
2,425
коричневый пояс
а вот мне нравится работать за многоядерно/многопроцессорной системой.
чего стоит набрать make -j 24
12.02.2009 08:49

vilianov
Всего баллов:
9,500
Статусных баллов:
9,000
коричневый пояс
Марианна, попробуйте дефрагментировать винчестер :)
12.02.2009 12:08

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Ядра не помогут - у среднестатистического пользователя одновременно работающих вирусов всё равно значительно больше, чем ядер :)
И антивирус не поможет - если вирусы хотя бы пытаются как-то вести себя неприметно, то уж антивирус всё тормозит похлеще и на законных основаниях :)
12.02.2009 15:43

Alexey Kukanov (Intel)
Всего баллов:
13,376
Статусных баллов:
13,376
черный пояс
К счастью, одновременно работающего антивируса достаточно и одного :)
По моему опыту, после переезда на двухядерный лэптоп я наш корпоративный антивирус почти перестал замечать. Однажды как-то в разговоре сказал, мол, интересно, а параллелит ли кто антивирусы... и тут же мы собеседником решили, что пусть уж лучше работают последовательно, а то точно никаких ядер не хватит :)
13.02.2009 05:59

Marianna Svetlosanova (Intel)
Всего баллов:
5,270
Статусных баллов:
5,270
Community Manager
"Марианна, попробуйте дефрагментировать винчестер :)"
пробовала :) помогает, но не надолго.
15.02.2009 00:48


abba
Советую производителям (и Интелу в том числе) не делать больше 16 ядер- это из пушки по воробьям!! Всем задачам еще долгие годы этих 16 с головой.

Только научным задачам (вычислениям) требуется больше ядер (процессоров), но (увы!) вычислительная математика непараллельна!
15.02.2009 12:28

vilianov
Всего баллов:
9,500
Статусных баллов:
9,000
коричневый пояс
Итоговые цифры завтра, а пока более 62 процентов голосуют за многоядерность :)
15.02.2009 23:02

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
2 abba: Совет принят :), до 16-ти осталось всего-ничего :)
16.02.2009 04:04


abba
Dmitry Oganezov (INTEL): Это у вас еще осталось всего-ничего :)-у nVIDIA это давно есть, точнее с тех пор когда она реанимировала закон Мура похороненный INTELом в 2003.
Впопыхах не отвечайте - наведите справки!!
16.02.2009 07:23

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
2 abba: Экий вы суровый :) А я так и не понял, вы за "больше 16-ти" или против? Или все-таки ядра ядрам рознь? ;)
16.02.2009 08:52


abba
Dmitry Oganezov (INTEL): ПОЯСНЯЮ: я за 16 000 000 ядер, но сейчас (здесь внимание!) МАССОВЫЙ ВЫПУСК (этим же занимается INTEL?!) МНОГОЯДЕРНЫХ ПРОЦЕССОРОВ СВЫШЕ 16 ЯДЕР ЭКОНОМИЧЕСКИ НЕ БУДЕТ ОПРАВДАН (в противном случае они будут простаивать т.к. для существующих на сегодня задач 16 более чем достаточно на долгие годы!). Научные задачи конечно требуют большего колличества ядер (процессоров), но массовой многоядерности придется подождать до создания параллельных методов математиками (снова внимание! -не программистами, не инженерами и т.д. ) . А пока будет по старинке - много процессоров.
Этот тезис дорого стоит!!!
17.02.2009 00:41

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
2 abba: собственно этим (параллельными вычислениями на прикладном уровне) мы тут, в сообществе ISN, и пытаемся заниматься. А кое-где в недрах нашего блога есть и математические дискуссии. С "вашим" тезисом я просто вынужден согласиться, добавив свое маленькое "но" - наука может и должна двигаться в обоих направлениях: от теории к практике, и время от времени - наоборот.
17.02.2009 10:14

Alexey Kukanov (Intel)
Всего баллов:
13,376
Статусных баллов:
13,376
черный пояс
О законе Мура.
Во-первых, это не физический закон, а наблюдение, и для того, чтобы воплотить его в реальность, требуется гигантский труд сотен и тысяч инженеров, решающих самые различные проблемы.
Во-вторых, закон Мура не говорит о повышении тактовой частоты (как, возможно, многие думают); он говорит о повышении количества транзисторов на единицу площади. И Intel его не хоронил, как вы, abba, утверждаете, а напротив, продолжает работать над уменьшением техпроцесса, соответственно увеличивая выход транзисторов.
В-третьих, десятки специализированных ядер для обработки графических примитивов далеко не то же самое, что десятки вычислительных ядер общего назначения. С точки зрения программиста уж точно. Это ничуть не умаляет достижения NVidia; просто каждому инструменту - своё применение.
В-четвёртых, с точки зрения чистой математики, нет принципиальной разницы между CMP и SMP. Есть алгоритм допускает параллельное исполнение, он допускает его на любой архитектуре системы, от CMP до кластеров. Другое дело, что нужно соизмерять выигрыш от параллелизма и затраты на коммуникации.
Потом, вы меня извините, abba, но вы, я полагаю, никому тут не открыли глаз на неизвестную доселе проблему. Давать бесплатные советы просто, но не стоит при этом думать, что в Intel, AMD, Nvidia и т.д. сидят люди, которые не разбираются в бизнесе.
А массовый выпуск процессоров с большим количеством ядер будет оправдан тогда, когда эти количества будут востребованы на массовом рынке - то есть, в каждом доме. И развитие соответствующих моделей использования и сопутствующей инфраструктуры - дело далеко не только математиков.
17.02.2009 13:54


abba
Киканову: Ни одна ваша мысль не содержит логически разумных высказываний. Мой совет - несколько раз и вдумчиво прочтите мои предыдущие несколько предложений, там есть все ответы на ваш расказ.
В подтверждение приведу один из ваших ляпсусов - я вижу что вы не в ладах с математикой, но понимать утверждения (называемые законом Мура) думаю поощряются в ИНТЕЛЕ. А этот закон гласит - что ЧТО-ТО удваивается КАЖДЫЕ 18 МЕСЯЦЕВ, А ПОСЛЕ 2001года (точка отсчета ЭТОГО) прошло несколько 18 месяцев!! И потому к вашему утверждению, что ИНТЕЛ " продолжает работать над уменьшением техпроцесса, соответственно увеличивая выход транзисторов" следует добавить - ударными темпами.
...... лучше следите за моей перепиской с Оганезовым!
18.02.2009 03:15

Alexey Kukanov (Intel)
Всего баллов:
13,376
Статусных баллов:
13,376
черный пояс
:)
19.02.2009 04:08

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
2abba: я не знаю, возможно в последнее время произошёл какой-то принципиальный сдвиг в индустрии, но наблюдения за последние десятилетия показывают, что программное обеспечение сразу же (а то и с опережением) находило применение всем новым ресурсам, которые ему давало аппаратное обеспечение.
Игры, возможно, не лучший пример "среднестатистического" ПО, однако именно они во многом двигают прогресс массовых процессоров (чего стоят Extreme версии процессоров). Так вот как только у разработчиков появились "лишние" ресурсы сразу пошли разговоры о симуляции движения одежды, симуляции жидкостей, симуляции огня, динамической генерации деревьев, более качественной физике, более качественном рей-трейсинге, более качественном AI. На вскидку, тут 16 ядер будет ой как мало для полноценной реализации всего этого, тем более, что большинство из этих вещей прекрасно распараллеливаются.
19.02.2009 11:42

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Интересный блог от Cilk Arts "Don't get caught with your multicore pants down!":
http://www.cilk.com/multicore-blog/bid/8097/Don-t-get-caught.....pants-down
В частности там есть график сколько сейчас компьютеров с 1,2,4,8 ядрами (в процентном соотношении), сколько было год назад, и сколько будет через год.
Так же там есть интересный график по поводу использования различных библиотек поддержки параллелизма (включая TBB).
19.02.2009 11:44

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Ох как классно искаверкалось отображение ссылки :)
21.02.2009 00:48


abba
Dmitriy Vyukov: Перечисленные вами задачи все изначально параллельны (только дурак их не распараллелит)- это "информационные" задачи или переборные я их называю, а не задачи научных вычислений. И некоторые из них будут требовать и тысяч процессоров (как высокореалистическая графика, игра в шахматы на уровне чемпиона мира, и т.д. , я к таким переборным задачам отношу даже задачи для GRID-вычислений, хотя там есть много чисто научных задач) - но это эксклюзив и для них создание массовых многоядерных процессоров неоправдано.
И вновь остаются задачи, требующие использования вычислительной математики - научных вычислений!!
Не мучайтесь цифрой 16 ! можно 24.
21.02.2009 03:26


abba
Dmitry Oganezov (Intel)2: Вы пишите" abba: собственно этим (параллельными вычислениями на прикладном уровне) мы тут, в сообществе ISN, и пытаемся заниматься. А кое-где в недрах нашего блога есть и математические дискуссии. С "вашим" тезисом я просто вынужден согласиться, добавив свое маленькое "но" - наука может и должна двигаться в обоих направлениях: от теории к практике, и время от времени - наоборот."

И это самое опасное, как ни странно что этим занимаются программисты и инженеры! Я писал ранее "массовой многоядерности придется подождать до создания параллельных методов математиками (снова внимание! -не программистами, не инженерами и т.д. ) ". Этим вы уже бузуспешно занимаетесь 50 лет!и она никогда не будет разрешена без (главенствующего) участия математиков! Это и есть мой тезис и без кавычек "вашим" .
Дальше еще хуже - этого не понимает (может осознанно!) и руководство Интела, Майкрософта, IBM, AMD, HP,.., что подтверждает тот факт, что в 2007г. эти компании выделили миллионы долларов некоторым американским университетам, но НЕ МАТЕМАТИКАМ, а традиционным распараллельщикам. Заметтьте, вам выделяется "прикладной уровень" и оценка - ноутбук или поездка за границу!
22.02.2009 16:56

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
2abba: Именно! Это всё задачи - изначально параллельные. Поэтому и не очень понятна Ваша позиция - есть широкий класс прикладных полезных изначально параллельных задач, а Вы говорите, что много ядер не надо в массовых процессорах.
Плюс вообще не понятна связь между массовыми процессорами и научными вычислениями. Понятная свзять между массовыми процессорами и играми, графикой, обработкой видео и звука и т.д.
Я, например, иногда конвертирую видео, занимает это часы, при этом элементарно параллелится на сотни ядер.
22.02.2009 17:03

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Кстати, серверные нагрузки (наверное второй после игр потребитель высокопроизводительных массовых процессоров) тоже обычно тривиально распараллеливаются на сотни процессоров - врожденный параллелизм на уровне запросов.
Т.е. серверные фермы, которые сейчас состоят из десятков и сотен компьютеров, могут быть сведены до 1 компьютера (кроме многоядерного процессора подпёртые SSD дисками и кучей памяти). Вы скажите о такой возможности любому системному администратору такой фермы - да он Вам душу продаст за это :)
22.02.2009 17:08

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Re: И это самое опасное, как ни странно что этим занимаются программисты и инженеры!

Я правильно понимаю, что Вы считаете программистов и инженеров низшей расой по сравнению с математиками? :)))
23.02.2009 00:21


abba
Dmitriy Vyukov: Я уже предлагал одному из местных спецов внимательно читать мои сообщения, вам так же это требуется. На этот раз не буду резок и дам вспомогательные пояснения.
1. Вы понимаете хотя бы о чем мы говорим?! МЫ ГОВОРИМ О ПРОБЛЕМЕ РАСПАРАЛЛЕЛИЗАЦИИ!!! еще раз - О ПРОБЛЕМЕ!! (чтоб вы наконец поняли чем вы занимаетесь, факультативно сообщу - несбыточные законы Амдала подтверждают , что это проблема! ).
Вы же рассказываете как много есть (УЖЕ!!!!) параллельных задач и как было бы здорово если бы их сделать - так делайте их каждый в своей норке , кто и что вам мешает . Это не проблема, если есть деньги!

2.Ваше 3-е сообщение"Re: И это самое опасное, как ни странно что этим занимаются программисты и инженеры!
Я правильно понимаю, что Вы считаете программистов и инженеров низшей расой по сравнению с математиками? :)))"

Еще два таких письма от спецов Интела и я так буду думать!
А мысль " что самое ОПАСНОЕ, как ни странно, что этим занимаются программисты и инженеры!" никак не относится к рассизму! Этим могли бы заниматься и литераторы и это было бы лучше (не опасно!!) т.к. все прозрачно и конец виден. В вашем же случае все туманно - трудитесь и трудитесь и в теме, уже не вспоминая, что было 50 лет такого же безрезультатного труда.
(это пояснение следовало из моего письма!...?)
23.02.2009 02:36

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Возможно до этого это был какой-то другой abba, с которым мы говорили о том, что не надо делать массовых процессоров с более чем 16 ядрами. Именно поэтому я и говорил о том, уже есть много прикладных полезных алгоритмов, которые распараллеливаются, и которым пригодилось бы больше 16 ядер. Разьве массовые процессоры это не есть как раз деньги?
О проблеме параллелизации я ни с кем тут не говорил. Возможно для научных вычислений и не нужно больше 16 ядер, не знаю... Хотя многопроцессорные системы с сотнями и тысячами процессоров всегда создавались как раз для HPC...
23.02.2009 05:41


Andrew.W Worobow
Занимаясь несколько лет назад исследованием вопроса поиска пути повышения производительности системного ПО в частности я занимался подсистемами в ядре Windows, как ни парадоксально будет звучать но удалось понять что сама архитекура "совремменных" ОС, будучи рожденной идеологически в тот период когда такие "проблемы" не стояли, имеет ряд существенных "идеологических" ( архитектурных) ограничений в части возможности использования всех возможностей многопоточности... Даже более того было как это и страннно также будет звучать и существенно белое пятно и в научных проработках существующих на момент 2005-2006 годов ... Причем даже обнаружили несколько не разрешимых алгоритмических парадоксов :) ... - оказалось что используя современные алгоритмы меж-поточной изоляции нельзя доказать что гарантированно не произойдет неких коллизий ( не хочу тут останавливаться подробно ) в резльтате которых не произойдет ошибки... А понятно что когда речь идет об ядре ОС, то такие веши недопустимы... Одним словом, пришлось закрыть данный прект, вернее оставить его только для нашего внутреннего пользования, а понятно что планировалось-то как таки раз наоборот :) Поэтому мне кажется, что многоядерность еще долго будет уделом узкоспециаллизорованных систем. И как следствие будет не сильно востребованна в массах... Пишу это тут только потому, что уже не занимаюсь данной тематикой, отчасти _увы_, а отчести что же делать ... :) Детей-то надо чем-то кормить... :-)) ... Но вот как зар именно для таких "узкоспециализированных" задач мы будем сейчас использовать CUDA... Пока впечатление от нее, хм... ну такое двойственное, но жизнь покажет... :)

С Уважением А. Воробьев.
23.02.2009 06:24


Andrew.W Worobow
Да, не очень корректно получилось... Хочу добавить, конечно речь идет не об "обычных", медленных "изоляциях", а об быстрых, совремменых... Только испльзуя которые можно получить приличное приращение производительности и по настоящему приемлимый эффект от много-поточности...
23.02.2009 22:38

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Хмм... А что такое межпоточная изоляция? Я знаю, что такое межпоточная синхронизация...
23.02.2009 22:44

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
А Вы какой версией Windows занимались? У них там вроде в Vista и Win7 много изменений касательно многоядерности, многопроцессорности и NUMA.
23.02.2009 23:25


aww
:) То есть в Интеле ЕЩЁ не знают, что такое "межпоточная изоляция"? Ну однако 8-| ... Ой... Как все запущено... :)) но не суть... простите, видимо я тут просто не в то место влез со своими комментами... Но если интересно, то как бы "синхронизация" это древность, это типа плохо...


...

... "версией Windows занимались"... "много изменений"... нет, суть та же.
24.02.2009 01:12

Alexey Kukanov (Intel)
Всего баллов:
13,376
Статусных баллов:
13,376
черный пояс
Уважаемый Andrew Worobow,
право слово, не стоит делать выводы о том, кто что знает в Интеле, по одному ответу одного человека. Да и в принципе чего-то не знать никому не возбраняется.
Вам ведь не будет сложным объяснить, что именно вы имели в виду под межпоточной изоляцией и прислать ссылку-другую на упомянутые современные алгоритмы, если они описаны в публичной литературе? А то как-то не получается продуктивной дискуссии - abba не хочет слышать никого, кроме себя, вы не хотите снисходить до объяснений...
24.02.2009 01:48


aww
Alexey, Вы меня с моим, может быть не очень удачным, юмором, немного не так поняли... Я никого ни в каких "не знания" даже и подозревать не собирался... Нет, просто я не совсем удачно пошутил, и я уверен на 100%, что конечно-же в ИНТЕЛЕ всё впорядке со знаниями... Глупо сомневаться. :) ... Что касается, "изоляций" ну это режим кодирования многопоточного кода, когда поток работает "как бы один" ... Но при этом все работает корректно... Без тормозов. :) Если ИНТЕЛУ вдруг потребуются специалисты в данной области, да и еще за достойную... :) как принято счас говорить, компенсацию, то бы не проч, вновь заняться этой очень интересной для меня тематикой... :)

24.02.2009 05:16

Alexey Kukanov (Intel)
Всего баллов:
13,376
Статусных баллов:
13,376
черный пояс
Андрей, спасибо за пояснения. Я действительно отнёсся к Вашим словам не как к шутке; привык, знаете ли, не обращать особого внимания на смайлы, потому что не зная человека достаточно хорошо, их невозможно корректно интерпретировать. Возможно, мне стоило быть менее серьёзным.

С изоляцией ("поток работает как бы один") понятно, но как при этом данными обмениваться (а это, хоть минимально, но чаще всего нужно)? Всё-таки пара ссылок не повредила бы для лучшего понимания. Или вы имеете в виду неблокирующие алгоритмы (суть синхронизацию через последовательность атомарных операций и барьеров доступа к памяти)?

Касательно работы в Интел: если ещё не оставляли своё резюме на http://www.intel.ru/jobs, Вы можете рассмотреть такую возможность. Открытые позиции хоть редко, но бывают. Чтобы резюме проще было выбрать из прочих, обязательно включите в него ключевые слова, соответствующие Вашему опыту и области интересов.
24.02.2009 05:33


aww
Алексей, к сожалению, ссылок нет, неверное еще идеи не расползлись ... :)

Спасибо за идею, об резюме... :)

Просто определить это точно так как Вы сформулировали, я не могу... Не все там так банально и примитивно бьло... Но и честно-то говоря сильно и распостраняться-то тоже как-бы смысла большого не вижу...

Досвидания.

24.02.2009 12:30

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Во-первых, я не из Intel, а во-вторых, Google тоже не знает, что такое "межпоточная изоляция", поэтому мне не стыдно :)

Под изоляцией, особенно в контексте ОС, часто понимают механизм безопасности (сбойный или враждебный процесс не может получить доступ к памяти других процессов)... но это не имеет никакого отношения к производительности.

А если под изоляцией понимается возможности независимой работы потоков, то тут и алгоритмов никаких не надо - они и так независимы пока не приложены усилия для обратного - для синхронизации потоков...
24.02.2009 12:44

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
Кстати, я вижу, что межпоточная изоляция - это не единственное, что я не понимаю по Вашему мнению. Так же я не понимаю, что такое многозадачность и принципы синхронизации в пользовательском режиме:
http://www.rsdn.ru/forum/message/2804844.1.aspx
http://www.rsdn.ru/forum/message/2805997.1.aspx
http://www.rsdn.ru/forum/message/2806303.1.aspx
Только Алексею об этом не говорите, а то он откажется включать мои контрибьюшены в TBB :)
25.02.2009 01:20

Dmitry Oganezov (Intel)
Всего баллов:
16,204
Статусных баллов:
16,204
Community Manager
Оппа :) - несколько ссылок, ведущих на один домен из одного комментария воспринимаются как спам. Даже если комментарий оставил "черный пояс" :) .
Бага, сорри, будем фиксить.
25.02.2009 12:36

worobow
Всего баллов:
5
Зарегистрированный пользователь
:) Дмитрий, ну не стоит, так на самом деле близко к сердцу воспринимать какие-то "корявые" слова, какого-то левого человека на странице комментариев каких-то блогов... Ну что собственно произошло-то? Вы написали, что вам де не знакомо какое-то там странное понятие... Попросили уточнить... Ну и что тут такого? Алексей Вам правильно, написал - подумашь, что кто-то чего-то не знает, всё знать в принципе не возможно, да и ни кому и не нужно! Да и главное и не обязан ни кто, всё знать. Ну и уж тут-то, в _этом_ вопросе... Так уж точно.

:) Ну а что касается, вопросов распаралеливания, потоков в Windows в пользовательском режиме, то тут уж - увы, ничего не поделаешь - единственное качественное решение это только афинити маск. Да и помоему, и не надо ничего лучше.

28.02.2009 10:50

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
А с другой стороны - почему бы просто кратко не пояснить термин... особенно учитывая, что он судя по всему не очень распространён, и вызвал непонимание у нескольких собеседников.
28.02.2009 11:03

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
А по поводу распараллеливания в пользовательском режиме мне особо нечего добавить кроме того, что я уже говорил:
http://www.rsdn.ru/forum/message/2806303.1.aspx

Хотя вот недавно описывал эту идею (использование в качестве хинта текущего процессора) Joe Duffy (Lead dev and architect for Parallel Extensions to .NET), на что он ответил:
"...using CurrentProcessorNumber() instead of the thread ID: good idea, I'll give it a try. Seems we can shave off some wasted space that way, without losing any scalability (and indeed reducing some false contention, as you say)..."
http://www.bluebytesoftware.com/blog/CommentView,guid,c69cb0.....99ffa.aspx

Не знаю даже кому верить...
28.02.2009 11:12

Dmitriy Vyukov
Всего баллов:
25,382
Статусных баллов:
25,382
черный пояс
По поводу Изоляции, недавно встретил этот термин в описании семинара Herb Sutter "Effective Concurrency":
Isolation: Keep Work Separate
* Running tasks in isolation and communicate via async messages
...
http://construx.com/Page.aspx?nid=84&id=108

Если это - та самая изоляция, то она определенно не требует никаких алгоритмов. Алгоритмов в таких системах требует синхронизация потоков - передача сообщений, управление памятью, управление временем жизни объектов, поддержка служебной информации и т.д.

Обратная ссылка (1)


Оставить комментарий  

To obtain technical support, please go to Software Support.
Имя (обязательно)*

Электронная почта (обязательно; не будет отображено на этой странице)*

Ваш URL-адрес (необязательно)


Комментарий*