Параллельные вычисления для Microsoft HPC

 
0
 
C++
ava
rhiannon | 24.01.2013, 16:43
Доброго времени!
В перспективе планируем собирать вычислительный кластер на Microsoft Windows HPC 2008 R2.
Библиотек много разных: PVM, MPI, OpenMP и много других

Какие библиотеки, технологии лучше пременять для оптимальных инженерных вычислениий на MS HPC?

Поделитесь, пожалуйста, опытом кто-какие библиотеки использует. Любые размышления, отзывы о программировании под Windows HPC...
Kommentare (20)
ava
Фантом | 24.01.2013, 20:10 #
Зачем? Это имеет смысл только в том случае, если спонсором железа для кластера является Microsoft (и выбирать ОС приходится, исходя не из здравого смысла, а из условий спонсорского контракта).
ava
rhiannon | 25.01.2013, 09:13 #
Цитата (Фантом @ 24.1.2013,  20:10)
Зачем? Это имеет смысл только в том случае, если спонсором железа для кластера является Microsoft (и выбирать ОС приходится, исходя не из здравого смысла, а из условий спонсорского контракта).

Хорошо, можно список библиотек для проектирования ПО для высокопроизводительных кластеров (Windows/Linux)? Какие бы выбрали Вы для программирования на Windows HPC и почему? 
ava
Фантом | 25.01.2013, 10:31 #
Цитата (rhiannon @  25.1.2013,  10:13 findReferencedText)
Хорошо, можно список библиотек для проектирования ПО для высокопроизводительных кластеров (Windows/Linux)? Какие бы выбрали Вы для программирования на Windows HPC и почему?  


Давайте отделим мух от котлет. Я вроде бы уже написал, что для такой работы Windows HPC вообще бы не выбирал.

Из приведенного Вами списка:
Цитата (rhiannon @  24.1.2013,  16:43 findReferencedText)
Библиотек много разных: PVM, MPI, OpenMP и много других

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

Впрочем, насколько я помню, в состав Windows HPC 2008 входит какая-то реализация (хотя и кривая, как обычно от MS) именно MPI, поэтому проблема выбора, если уж Вам позарез хочется использовать продукцию MS, непонятна.
ava
rhiannon | 25.01.2013, 11:08 #
Цитата (Фантом @ 25.1.2013,  10:31)
Цитата (rhiannon @  25.1.2013,  10:13 \\"findReferencedText\\")
Хорошо, можно список библиотек для проектирования ПО для высокопроизводительных кластеров (Windows/Linux)? Какие бы выбрали Вы для программирования на Windows HPC и почему?  




Давайте отделим мух от котлет. Я вроде бы уже написал, что для такой работы Windows HPC вообще бы не выбирал.



Из приведенного Вами списка:

Цитата (rhiannon @  24.1.2013,  16:43 \"findReferencedText\")
Библиотек много разных: PVM, MPI, OpenMP и много других


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



Впрочем, насколько я помню, в состав Windows HPC 2008 входит какая-то реализация (хотя и кривая, как обычно от MS) именно MPI, поэтому проблема выбора, если уж Вам позарез хочется использовать продукцию MS, непонятна.

Хорошо, а на чем бы Вы лично могли посоветовать реализовывать HPC-кластер? Есть не Windows HPC, то что? 
ava
Фантом | 25.01.2013, 11:22 #
Цитата (rhiannon @  25.1.2013,  12:08 findReferencedText)


Хорошо, а на чем бы Вы лично могли посоветовать реализовывать HPC-кластер? Есть не Windows HPC, то что?  

В первую очередь - Linux. Во вторую и последнюю - прочие *nix.
ava
bsa | 25.01.2013, 11:52 #
Цитата (rhiannon @  25.1.2013,  12:08 findReferencedText)
 Есть не Windows HPC, то что? 
Честно говоря, от такого вопроса сразу возникает ощущение, что человек в информационном вакууме находится... Я бы в первую очередь поинтересовался, на чем обычно кластеры делают. Затем из этого списка выбрал то, что устраивает по цене, простоте и др. качествам.
ava
Фантом | 25.01.2013, 11:54 #
Цитата (bsa @  25.1.2013,  12:52 findReferencedText)
Честно говоря, от такого вопроса сразу возникает ощущение, что человек в информационном вакууме находится... Я бы в первую очередь поинтересовался, на чем обычно кластеры делают. Затем из этого списка выбрал то, что устраивает по цене, простоте и др. качествам. 

Именно так.
ava
rhiannon | 25.01.2013, 12:23 #
Цитата (Фантом @ 25.1.2013,  11:54)
Цитата (bsa @  25.1.2013,  12:52 \\"findReferencedText\\")
Честно говоря, от такого вопроса сразу возникает ощущение, что человек в информационном вакууме находится... Я бы в первую очередь поинтересовался, на чем обычно кластеры делают. Затем из этого списка выбрал то, что устраивает по цене, простоте и др. качествам. 


Именно так.

Я интересуюсь в первую очередь своими текущими задачами: есть цели - есть разбор предметной области, нет такой задачи - если только случайно наткнусь на статью или люди расскажут. Кроме того, у меня есть и другие интересы кроме своей работы!

В своей жизни я собирал в основном HA и NLB-кластеры, по HPC у меня мало информации.
И все-таки я хотел бы получить ответ на свой вопрос об опенсорсных решениях HPC для Linux??? 
ava
bsa | 25.01.2013, 12:26 #
ava
rhiannon | 25.01.2013, 12:45 #
Цитата (bsa @ 25.1.2013,  12:26)
А искать пробовал?

Естественно у меня есть уже информация по HPC на nix.
Я предполагал, что участники дискуссии захотят рассказать о своем опыте внедрении/программировании для HPC-кластеров!?
Что-то вроде опроса.. Кто-нибудь хочет рассказать в общем о реализованных проектах? Что, где, когда?
ava
bsa | 25.01.2013, 13:30 #
rhiannon, боюсь, этот сегмент довольно узкий. поэтому найти такого специалиста на общем форуме будет довольно непросто.
ava
rhiannon | 25.01.2013, 15:32 #
Цитата (bsa @ 25.1.2013,  13:30)
rhiannon, боюсь, этот сегмент довольно узкий. поэтому найти такого специалиста на общем форуме будет довольно непросто.

А где на Винграде ходят такие люди? 
ava
Фантом | 25.01.2013, 16:29 #
Цитата (rhiannon @  25.1.2013,  13:23 findReferencedText)


В своей жизни я собирал в основном HA и NLB-кластеры, по HPC у меня мало информации.

И все-таки я хотел бы получить ответ на свой вопрос об опенсорсных решениях HPC для Linux??? 


Вообще-то сделать HPC-кластер проще. Берется практически любой дистрибутив Linux, делается выбор между OpenMPI и MPICH (или MPICH2), и настраивается (мануалов в сети огромное количество, никаких подводных камней в этом процессе нет). Выбор реализации MPI - это совершенно точно дело вкуса, в качестве дистрибутива, если нет личных предпочтений, проще всего будет взять, пожалуй, Scientific Linux - он, с одной стороны, не предельно узко специализирован (и RH-based), с другой - поддержка всего требуемого есть в стандартной поставке. Впрочем, я делал то же самое и на OpenSUSE, разница невелика.

Цитата (rhiannon @  25.1.2013,  13:45 findReferencedText)
Кто-нибудь хочет рассказать в общем о реализованных проектах? Что, где, когда? 

Хм... что-нибудь пишется/дописывается раз в месяц-два в среднем.  smile Но, честно говоря, в смысле именно организации вычислений на кластере рассказывать особо не о чем - это действительно просто и не слишком интересно.
ava
W4FhLF | 25.01.2013, 21:07 #
Вы бы лучше рассказали какие задачи вы собираетесь решать. Почему вам понадобились распределённые вычисления? Собираетесь ли вы постоянно считать или это разовые вычисления?

Сегодня можно довольно легко и дёшево арендовать вычислительные мощности. Ведь кластер нужно не только купить и настроить, но ещё и сопровождать, платить за электричество, аренду пространства.

Цитата


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



Ну это если кластер небольшой и им пользуется пара человек, которые всегда могут договориться.
ava
Фантом | 25.01.2013, 23:23 #
Цитата (W4FhLF @  25.1.2013,  22:07 findReferencedText)


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

Конечно. Но если это не так, то администраторы кластера не устраивают опросы на форумах.  smile 
ava
phprus | 26.01.2013, 16:56 #
Цитата (rhiannon @  25.1.2013,  15:45 findReferencedText)
Я предполагал, что участники дискуссии захотят рассказать о своем опыте внедрении/программировании для HPC-кластеров!?

А что именно рассказывать? Сейчас большая часть суперкомпьютеров это архитектурно обычные Linux-кластера, с установленными библиотеками для разработки ПО для систем с распределенной памятью. На практике это одна из реализаций стандарта MPI.
А большая проблема заключается в аппаратуре, а именно в создании эффективного интерконнекта между узлами. Скорость света уже давно одно из самых значительных ограничений роста эффективности больших вычислительных систем. Правда решения этой проблемы не обязательно аппаратное. Это могут быть и алгоритмы менее чувствительные к большим задержкам при передаче данных и протоколы передачи данных, эффективно работающие в условиях больших скоростей и Latency и т.д.

Дальнейший диалог будет намного эффективнее после определения целей и задач для проектируемого суперкомпьютера. Ну а дальше в зависимости от требований могут быть либо сборки на основе обычных Blade-серверов с InfiniBand до покупки суперкомпьютеров под ключ у IBM или Cray или Т-платформ и т.д.

А на счет Windows HPC, то как уже выше правильно сказали, ее имеет смысл использовать только если построение системы полностью оплачивается Microsoft.
ava
rhiannon | 29.01.2013, 13:14 #
Вот тут есть полезные материалы по лицензированию Windows HPC Server: http://www.microsoft.com/hpc/en/us/product...uting-faqs.aspx
Там написано, что HPC-кластер можно собрать не только на редакции Windows HPC Edition:

1) Q.  What operating systems does the Microsoft HPC Pack 2008 R2 support?
A.  
The head node must run any of the following x64-bit (Non-Itanium) operating systems:
Windows Server 2008 R2 HPC Edition
Windows Server 2008 R2 Standard
Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Datacenter

2) Q.  Does HPC Pack 2008 R2 require Windows Server 2008 R2 Enterprise?
A.  
Windows Server 2008 R2 Enterprise is only required when using two head nodes or two or more broker nodes in a failover configuration. Compute nodes can still run Windows Server 2008 R2 HPC Edition even when head nodes are using Windows Server 2008 R2 Enterprise.

3) Q.  Can my cluster contain both HPC Pack 2008 R2 Express and HPC Pack 2008 R2 Enterprise nodes?
A.  
Yes. Compute nodes that require the Enterprise functionality require a license per server for Microsoft HPC Pack 2008 R2 Enterprise. It is recommended when deployed in this mix licensed mode that the cluster administrator create a node group for Enterprise nodes to make job submission easier when using Enterprise-only features.


В связи с этим вопросы:
1) Из последнего вопроса не совсем ясно нужно ли закупать HPC Pack 2008 R2 Express/HPC Pack 2008 R2 Enterprise для ноды диспетчеризации (head node)?
2) Опять непонятна разница между HPC Pack 2008 R2 Express и HPC Pack 2008 R2 Enterprise?
3) Какие плюсы/минусы от использования Windows Server 2008 R2 HPC Edition по сравнению с другими редакциями?
4) Сейчас вроде как Windows Server 2008 R2 HPC Edition уже не продают, а предлагают вместо него Windows Server 2012 (http://www.microsoft.com/hpc/en/us/product...quirements.aspx). Кто собирался HPC Cluster 2012 отзовитесь? 

ava
phprus | 29.01.2013, 13:40 #
rhiannon,
Скажите пожалуйста, для каких целей Вам нужен вычислительный кластер?
ava
bsa | 29.01.2013, 14:13 #
rhiannon, ты случаем не рекламой "мелкомягкой" продукции занимаешься?
ava
Фантом | 29.01.2013, 23:19 #
Цитата (rhiannon @  29.1.2013,  14:14 findReferencedText)


В связи с этим вопросы:


В дополнение к уже заданным выше phprus и bsa встречным (и очень правильным) вопросам, я задам еще один: почему бы Вам не обратиться непосредственно в Microsoft? Вы собираетесь заплатить им деньги за продукцию, так что им эти деньги, в частности, в форме консультаций, и отрабатывать.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden