Версія даної теми для друку

Натисніть сюди для перегляду даної теми у оригінальному форматі

Розподілені обчислення в Україні _ Створення свого проекта РО _ Биологический проект

Автор: Alien Jan 31 2010, 15:26

Как насчет сделать клиенты для громакса\намда с практическим применением в НИИ академии наук Украины?

Автор: Rilian Jan 31 2010, 16:17

QUOTE(Alien @ Jan 31 2010, 15:26) *

Как насчет сделать клиенты для громакса\намда с практическим применением в НИИ академии наук Украины?

Мы можем обеспечить "серверную" поддержку (аптайм, поддержка англоязычных юзеров на форуме, итд), но биологических знаний у нас недостаточно.

Если у вас есть команда которая разбирается в молекулярном ПО, которая знает как делать и изучать ВЮ, то давайте

Автор: Alien Jan 31 2010, 17:00

(Rilian @ Jan 31 2010, 16:17) *

Мы можем обеспечить "серверную" поддержку (аптайм, поддержка англоязычных юзеров на форуме, итд), но биологических знаний у нас недостаточно.

Если у вас есть команда которая разбирается в молекулярном ПО, которая знает как делать и изучать ВЮ, то давайте

ну если так, то больших проблем не должно возникнуть..
Мои предложения и уточнения:
1.1- сервер на виндовс? есть ли возможность для линукса ибо для виндовс версия устаревшая и редко обновляется http://www.gromacs.org/index.php?title=Download_%26_Installation/User_contributions/Gromacs_binaries/i686//MS_Windows
1.2- важно ли какая ос на сервере и у клиента? она должна быть одинакова или все равно?
2.1- из темы про молдингрид, мы уже знаем, что для громакса, для хорошей параллелизации необходимы минимальные задержки, как думаете какой прирост производительности будет с добавление еще одного юзера? К примеру у обоих Q6600 задержка между пользователями и сервером 10-20 мс.
2.2- от сюда целесообразность, какова статистика у F@H по вопросу эффективности относительно серверного решения?
3- можно пока сконцентрироваться на громаксе ибо он сейчас самый популярный в расчетах. Еще гауссиан, но он платный, а это проблемы с лицензией.
4- есть плагин для ГПУ акселерации, но боюсь пока непрактичен для нас. Хотя не перепроверяли на последних версиях.
5- в идеале для такого решения подойдет программа для докинга Autodock 4, но мы пока редко используем этот метод... (для одной задачи - тысячи проектов по 1ядру, которые технически независимы) Сейчас сконцентрированы на МД.
6- постановка задачи в громакс состоит из ~12 шагов, сама МД на последнем и занимает 95% времени, вот последний шаг (mdrun) можно и адаптировать под клиент, чтоб не заниматься лишней работой.
7- какие технические требования к серверу?
8- что такое ВЮ? =)

Автор: Rilian Jan 31 2010, 17:17

QUOTE(Alien @ Jan 31 2010, 17:00) *

QUOTE(Rilian @ Jan 31 2010, 16:17) *

Мы можем обеспечить "серверную" поддержку (аптайм, поддержка англоязычных юзеров на форуме, итд), но биологических знаний у нас недостаточно.

Если у вас есть команда которая разбирается в молекулярном ПО, которая знает как делать и изучать ВЮ, то давайте

ну если так, то больших проблем не должно возникнуть..
Мои предложения и уточнения:
1.1- сервер на виндовс? есть ли возможность для линукса ибо для виндовс версия устаревшая и редко обновляется http://www.gromacs.org/index.php?title=Download_%26_Installation/User_contributions/Gromacs_binaries/i686//MS_Windows
1.2- важно ли какая ос на сервере и у клиента? она должна быть одинакова или все равно?
2.1- из темы про молдингрид, мы уже знаем, что для громакса, для хорошей параллелизации необходимы минимальные задержки, как думаете какой прирост производительности будет с добавление еще одного юзера? К примеру у обоих Q6600 задержка между пользователями и сервером 10-20 мс.
2.2- от сюда целесообразность, какова статистика у F@H по вопросу эффективности относительно серверного решения?
3- можно пока сконцентрироваться на громаксе ибо он сейчас самый популярный в расчетах. Еще гауссиан, но он платный, а это проблемы с лицензией.
4- есть плагин для ГПУ акселерации, но боюсь пока непрактичен для нас. Хотя не перепроверяли на последних версиях.
5- в идеале для такого решения подойдет программа для докинга Autodock 4, но мы пока редко используем этот метод... (для одной задачи - тысячи проектов по 1ядру, которые технически независимы) Сейчас сконцентрированы на МД.
6- постановка задачи в громакс состоит из ~12 шагов, сама МД на последнем и занимает 95% времени, вот последний шаг (mdrun) можно и адаптировать под клиент, чтоб не заниматься лишней работой.
7- какие технические требования к серверу?
8- что такое ВЮ? =)


1) есть мощный сервер на debian. + небольшой опыт установки BOINC-сервера
какая ось у клиента не важно, ибо ВЮ хранятся в унифицированном формате, а рассчетные ядра высылаются юзеру в зависимости от его ОС

2) нужно будет разбивать задание на много кусков и установить приемлемый дедлайн. Этим должна заниматься команда биологов которые разбираются в громаксе итд...

3) --//--

4) --//--

5) тысячи проектов по одному ядру - как раз для этого и нужны РВ. Думаю наша команда сможет без проблем обеспечить 1000 компьютеров, а в мире еще есть несколько миллионов кранчеров smile.gif

7) требования к серверу - не падать под большой нагрузкой. в данное время у нас сервер "оттестирован" на 2000000 хитов в день (2MB/sec траффика) (надо было подержать в рабочем состоянии канал TNT в турции). Короче - можно не переживать по этому поводу.

8) ВЮ = work unit, задача, которая отсылается для рассчетов на компьютер юзера

Автор: Alien Jan 31 2010, 17:45

приемлемый дедлайн, ммм наверное это будет действительно выгодно лишь для докинга и квантовой химии - гауссиан http://www.gaussian.com
Сейчас по кластерам Украины ожидает в очереди десятки тысяч проектов для гауссиана. Каждый проект этой программы может параллелиться только в пределах узла\компьютера, таким образом это будет небольшим отличием от сервера, а с такими ресурсами как домашние ПК это в несколько раз лучше серверного решение и освобождение ресурсов для более тяжелых расчетов, как МД.
Жаль, что все упирается в лицензию, без нее проект может быть только неофициальным. У академии наук есть лицензия, она находится в ИТФ НАНУ, но привязана только к одну кластеру. Еще проблема в том, что обновления тоже стоят дополнительных растрат. Как обойти или решить эти юр проблемы я не знаю.
Есть идеи?

Автор: Rilian Jan 31 2010, 17:58

я не очень понимаю. и докинг (Autodock) (могу перечислить десяток проектов которые его юзают) и MD (юзается как минимум F@H) успешно считаются на домашних ПК

Можешь еще раз перечислить:
1) виды рассчетных программ которые доступны
2) задачи которые можно решить с помощью домашних компов и чем их решать

и подробнее чем плоха "неофициальность проекта"

Автор: Alien Jan 31 2010, 18:25

ок, приведу в цифрах.
Что касается МД, для нас интересно считать системы более 500 тыщ атомов, более 100 нм. На сервере с 96 ядрами, при инфинибенде это занимает месяц. Повторюсь, что уже интересно более 100 нм, хотя бы до 1000. Это при тех же 96 ядрах может занять соответственно в 10 раз больше времени.
Если речь о домашних компьютерах, то прирост производительности не будет таким хорошим и я полагаю относительно того же серверного решения может занять в ~5 раз больше.

C Autodock, проблем абсолютно никаких нет, кроме той, что я не знаю пока тех, кто активно на нем считает СЕГОДНЯ, но это вопрос времени.. Я до него через годик лично сам доберусь =)

F@H, считающие в громаксе это хороший пример, но мне почему-то кажется что они добавили в открытй код свои доработки, благодаря которым все чудненько получается.. Но я не уверен тут, я не с пец в программинге. Как я уже писать вся система разбивается на ячейки, на группы задач, благодаря которым происходит параллелизация и для ее эффективности необходимы минимальные задержки между процессами.
более детально http://www.gromacs.org/@api/deki/files/82/=gromacs4_manual.pdf (41 cт. Domain decomposition)
есть еще зависимость, от количества запрашиваемых ядер, должен меняться размер ячеек, есть для этого утилита http://www.mpibpc.mpg.de/home/grubmueller/projects/MethodAdvancements/Gromacs/index.html

1- программы, которые доступны, востребовательны сегодня, бесплатны:
GROMACS, NAMD, Autodock (аналог Arguslab)

2.1- ПП GROMACS, запуск самой МД, программой mdrun
выглядит это так

mdrun_mpi -s tyrn_md.tpr -g tyrn_md.log -o tyrn_md.trr -x tyrn_md.xtc -e tyrn_md.edr -c tyrn_md.gro -cpo tyrn_md.cpt -v  -nice 0
где tyrn_md.tpr входяхий файл, размером в пару мб, на выходе получаются файлы траекторий tyrn_md.trr (динамика всей системы, достигает 250 Гб и более, можно от него отказаться), tyrn_md.edr (файл с инфой об энергии) и tyrn_md.xtc (динамика самого белка, урезанный trr файл, занимает ~2Гб при 100 нс), tyrn_md.cpt (файл чекпоинта, хранит последние фреймы динамики)

2.2 ПП NAMD, почти тоже самое, нужен только сам запуск МД.
./charmrun namd2 +p4 md_4mp.namd ++verbose 2>&1 | tee md_4mp.log

где md_4mp.namd , подготовленый заранее файл проекта

2.3 Автодок, еще проще там файлик самой программы размером 400кб, отправляется на расчетную машину и там считается с проектом

Автор: Rilian Jan 31 2010, 18:35

Какие требования по памяти в MD для "интересных" параметров 500к атомов, 1000нс для одного подзадания (1 ядра) ?

Падение скорости в 5 раз на домашних компах по сравнению с тем же кол-вом выч мощности кластера -- эта проблема нивелируется тем что домашних компов грубо говоря - неограниченное количество и можно одновременно решать кучу подзаданий. Ускорить вычисления можно также такими способами:

1) Отсылается сразу несколько одинаковых копий одного подзадания. Например кворум = 2 валидных результата. А отправляем 3. То есть даже если один из тройки компов не ответит в течение дедлайна, на сервер прийдут 2 результата. Ситуации когда не успевают 2 компьютера - меньше 1%, ситуации когда не успевают 3 компа - еще меньше.

2) бонусы по очкам за очень быструю доставку результатов. Многие кранчеры которые следят за статистикой будут рады.

Автор: Alien Jan 31 2010, 18:44

если поставить весь проект на одно ядро, то не требовалось более 700мб, в случае параллелизации, на каждое ядро уходить по 300-500мб. Мы ставим по 756мб на ядро, при 512мб вылетов вроде не было.
насчет распределения задач, с копиями я не представляю как это с громаксом реализуемо, но если F@H сделали, то можно же как-то. Если что может стоит им написать и уточнить, если они нигде это не описывали.

Автор: Rilian Jan 31 2010, 18:55

на автодоке сейчас считают РВ:
docking@home - собсно обкатывают софт
drugdiscovery@home
hydrogen@home
WCG fightAIDS@home
WCG discovering dengue drugs

и другие проекты (надо повспоминать)

Автор: Alien Jan 31 2010, 18:58

чем нам поможет то, что они считают? предоставят готовый софт для сервера и клиентов?

Автор: Rilian Jan 31 2010, 19:00

---
с 700МБ памяти на ВЮ на домашних компах думаю проблем не будет

---
итак
1) надо решить на чем (какой софт) нужно считать, MD или Autodock,
2) и подробнее чем плоха "неофициальность проекта" (лицензия gaussian итп)
3) что именно считать

QUOTE(Alien @ Jan 31 2010, 18:58) *

чем нам поможет то, что они считают? предоставят готовый софт для сервера и клиентов?

нет, это я к тому что кто "СЕГОДНЯ" на нем считает. Например организатор hydrogen@home и drugdiscovery@home у меня есть в скайпе smile.gif. Я думаю если что можно будет образаться за помощью

Автор: Alien Jan 31 2010, 19:30

такс..
1- МД это одно, а докинг это другое.. Хотя сегодня это связано, но все же 2 разных метода.
Чтоб все поняли, то конечная цель МД это докинг, как правило. Целью которого является подготовить белок для перебора к нему ряда потенциальных лекарственных препаратов.
В идеале, после докинга, белок с лекарством нужно еще пропустить в динамике..
Получается схема МД-Докинг-ДМ или так называемое MM\QM.

Конкретный ответ.
Для динамики нужен громакс, для докинга - автодок.

2- сорри, забыл ответить, тем что когда пишется научная статья в материалах и методах обязательно нуждно писать чем считалось, версии и т.д. Если узнают, что была использована пиратка в НИИ для печати официальных результатов - будут неприятности на национальном уровне, как минимум у академии наук. С такими вещами у нас не шутят, пристиж важнее.

3- что именно считать, я могу отправить тестовый проект.
на данный момент для нас актуальны:
фермент тирозил-тРНК синтетаза человека и быка и их комплексы с нуклеиновыми кислотами, то есть тРНК.
Для докинга, к сожалению сейчас ушел человек который этим занимался, но он подбирал препарат к такому же ферменту только у у возбудителя туберкулеза, таким образом искал ингибиторы против туберкулеза.
кое что можно глянуть здесь http://grid.imbg.org.ua/index.php?option=com_wrapper&Itemid=48

Более востребовательно сегодня настроить для МД громакс и намд (если время будет), в перспективе автодок (потому, что сегодня мало кому есть на нем считать).
1- http://www.gromacs.org/
2- http://www.ks.uiuc.edu/Research/namd/
3- http://autodock.scripps.edu/

Автор: Sergyg Jan 31 2010, 20:40

конечно я не знаком даже с основами сегодняшнего программирования, но, насколько я понял, как раз одной из наиболее сложных задач будет адаптация схемы вычислений на кластере к РВ.

я не совсем понял, что означает

Alien Дата Сьогодні, 19:25
Если речь о домашних компьютерах, то прирост производительности не будет таким хорошим и я полагаю относительно того же серверного решения может занять в ~5 раз больше.


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

Возвращаясь к вычислениям: полагаю, что вся эта громоздкая (ресурсоёмкая) задача выполняется одним логическим "компьютером" (кластером), который представлен совокупностью узлов (грубо говоря пользовательских ПК), которые соединены высокопропускным каналом связи. Т.е. вся эта система очень быстро получает новые задания, отталкиваясь от результатов предыдущих вычислений. Кстати, не представляю себе - есть ли в кластере какой-то особый, координирующий узел (аппаратный) или аппаратно все равны, а вся корректировка заложена в общем алгоритме программы.
Т.е. грубо говоря вычисления в кластере линейны во времени: чтобы начался расчет кластера на 100-м часу его работы, нужно выполнить 99 часов предыдущих вычислений. И вся эта махина - считает много суток.
Так как же "порезать" этот большой последовательно выполняющийся алгоритм на кучу маленьких для 1CPU@3.0GHz?
В голову приходит только такой метод, когда на довольно мощном (кластере) выполняется какой-то предварительный расчет, относительно быстрый и неточный, но с точным определением границ. А уже множество клиентских CPU будут уточнять тот предварительный результат.

Не удивлюсь, если всё вышенаписанное не соответствует действительности bunny.gif Просто интересная тема, но ничего не понятно censoree.gif
Плохо, что Планетачка все ещё не написал/а свой диплом sarcastic.gif - вот бы нам и рассказал/а всю правду (хотя кто б говорил, я свой доделывал в последние часы smile.gif )

Автор: Rilian Jan 31 2010, 21:00

Если мы предоставим сервер и возьмем на себя поддержку и продвижение проекта РВ, у вас есть команда которая может заняться генерацией заданий и изучением результатов и довести их до чего-то осмысленного (статьи или может какие-то реальные опыты в лаборатории основанные на результатах) ?


Автор: Alien Jan 31 2010, 23:12

я не совсем понял, что означает

Из темы по http://distributed.org.ua/forum/index.php?showtopic=4250, в презентациях об эффективной параллелизации есть график сравнения есернет соединения с инфинибендом, между узлалами. Причем эффект в несколько раз лучше при использовании технологий с минимальными задержками.. Просто наш софт для МД, громакс, нуждается в таком аспекте. Есть программы которым некритичны задержки между узлами или компьютерами.
Есернет соединение так же присудствует между домашними пользователями, разница с сервером та, что у нас задержки при есернет 0.5-0.7 мс, а между домашними компьютерами и сервером может досягать 20 мс и более, в зависимости от провайдера.

Если более практично говорить, то в пределах серверного решения при разных интерконектах эсернет\инфинибенд составляет разницу в 2-3 раза.. Это при том что у инфинибенда задержки раза в 4-8 меньше чем у есернет. Есть почти прямая зависимость.
Теперь если говорить о домашних пользователей соединенным есернетом, задержки будут около 10-40мс (UA-IX), а с международным трафиком или укр.телекомом будет уже 50-100 мс. Это превышает в 10-100ни раз задержку относительно сервера.
Вот я не знаю как получится на практике с громаксом, который нуждается в минимальных задержках, для быстрого расчета. Потому, что теоретический прогноз говорит о неэффективном использовании ресурсов, в домашних условиях. Тут как Rilian сказал, разве что взять большим количеством ядер =).

Число в 5 раз медленней это я оптимистично прикинул, на эквивалент...)

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

нуу не совсем.. Есть 6 степеней свободы, есть белок, есть вода и соли, которые на базе силового поля (растояние между атомами и т.д) и прочих условий симуляции как давления и температура выполняют ньютоновские движения. Более конкретно и кратко можно почитать десь http://www.library.biophys.msu.ru/MolDyn .
Да, здесь есть зависимость от чиста участвующих атомов, количества воды в боксе и т.д.
В примитивном варианте выгладит так


Кроме того ещё что-то там меняется во времени - я так и не понял, что же это за наносекунды, которых нужно хотя бы 1000?

нет, это я к тому, что до 2010 года мы расчеты динамики проводили до 100 нс, теперь ходим увеличить время до 1000нс, чтоб получить больше статистики.

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

увидеть фолдинг для нас мечта =) Объект слишком большой и требует большого расчетного времени. А так у нас целый димер, тоесть можно сказать вся четвертичная. =)

Т.е. вся эта система очень быстро получает новые задания, отталкиваясь от результатов предыдущих вычислений. Кстати, не представляю себе - есть ли в кластере какой-то особый, координирующий узел (аппаратный) или аппаратно все равны, а вся корректировка заложена в общем алгоритме программы.
Т.е. грубо говоря вычисления в кластере линейны во времени: чтобы начался расчет кластера на 100-м часу его работы, нужно выполнить 99 часов предыдущих вычислений. И вся эта махина - считает много суток.
получается так, расечты самого процесса МД, ведутся по фреймам (кадрам). В каждый фрейм заложены скоростя атомов, которые используются для последущего.. Принцип цепочки. Но для расчета одного фрейма, идет распределение вычислений по узлам и ядрам. Вот почему можно хорошо распараллелить, но при этом критично к задержкам.

Так как же "порезать" этот большой последовательно выполняющийся алгоритм на кучу маленьких для 1CPU@3.0GHz?
В голову приходит только такой метод, когда на довольно мощном (кластере) выполняется какой-то предварительный расчет, относительно быстрый и неточный, но с точным определением границ. А уже множество клиентских CPU будут уточнять тот предварительный результат.

этого я уже не знаю.

Просто интересная тема, но ничего не понятно
Плохо, что Планетачка все ещё не написал/а свой диплом (хотя кто б говорил, я свой доделывал в последние часы )

понимаю, сложно, но стараюсь объяснять.
да, была бы неплохая дипломная работа для студента, с практической реализацией по всему миру, для украинского проекта =))
Хотя тут мало что придется своего писать, тут скорее проблема в настройках и адаптации.

Автор: Sergyg Jan 31 2010, 23:55

аааааааа, ты все же предлагаешь (пока что) рассматиривать сеть удаленных юзеров как кластер? blink.gif
Я же как раз РВ вычисления всегда воспринимал как совокупность ПК с очень медленной связью (0,5-1 Мбит/с) , где сервер раздает относительно небольшие (как по объему просчетов, так и банально по размеру передаваемой по сети информации) отностительно самостоятельных заданий (с проверкой контрольных сумм сервером) , а ты задумываешься от расширении грид по территории Украины - в каждый дом . Это ж какой канал интернета нужно иметь? и как тут с дублированием клиента (надежность результата и вообще факта выполнения задания) shuffle.gif

Rilian

у вас есть команда которая может заняться генерацией заданий и изучением результатов и довести их до чего-то осмысленного

думаю, твой вопрос в части "изучением результатов и довести их до чего-то" - имеет заранее положительный ответ, а вот на счет "генерации заданий" Alien и пытается разобраться...

Автор: Rilian Feb 1 2010, 00:01

Alien, как насчет обычного проекта на BOINC? Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно

Автор: Alien Feb 1 2010, 00:11

так ребята не спешите комментировать, я обновил пост =))
просто старая версия форума глючит с браузером ИЕ 7й версии (maxthon)..

Автор: Rilian Feb 1 2010, 00:18

Я прочитал пост, примерно информация соответствует тому что я уже знаю (впоросы как работает фолдинг итд у нас поднимались неоднократно и есть много инфы на официальных форумах проектов).

еще один не ясный вопрос, сколько все это ест диского пространства?

Автор: Alien Feb 1 2010, 00:22

(Sergyg @ Jan 31 2010, 23:55) *

аааааааа, ты все же предлагаешь (пока что) рассматиривать сеть удаленных юзеров как кластер? blink.gif
Я же как раз РВ вычисления всегда воспринимал как совокупность ПК с очень медленной связью (0,5-1 Мбит/с) , где сервер раздает относительно небольшие (как по объему просчетов, так и банально по размеру передаваемой по сети информации) отностительно самостоятельных заданий (с проверкой контрольных сумм сервером) , а ты задумываешься от расширении грид по территории Украины - в каждый дом . Это ж какой канал интернета нужно иметь? и как тут с дублированием клиента (надежность результата и вообще факта выполнения задания) shuffle.gif

я пока что не понял разницы между тем, что предлагал Rilian и BOINC. Но это скорее из-за того что не вникал сильно в принцип BOINC.
Ну как я понял, должен быть сервер, на котором будет находится сам проект для расчета по которому будет происходить обмен данными с клиентским сегментом..
Задержки тут могут быть между сервером и клиентом и между самими клиентами.

еще один не ясный вопрос, сколько все это ест диского пространства?

для 100 нс, можно ограничится 5 Гб. чем дольше время, тем дольше.
Просто выключим запись trr файлов. Для наших био целей они не нужны. Их анализируют только физики, для термодинамических переходов.

Автор: nikelong Feb 1 2010, 00:22

просто старая версия форума глючит с браузером ИЕ 7й версии (maxthon)..


Фаерфокс\опера тебе в помощь....

ДА, с ИЕ наш форум дружит очень, очень слабо ...

Автор: Rilian Feb 1 2010, 00:24

QUOTE(Alien @ Feb 1 2010, 00:22) *

QUOTE(Sergyg @ Jan 31 2010, 23:55) *

аааааааа, ты все же предлагаешь (пока что) рассматиривать сеть удаленных юзеров как кластер? blink.gif
Я же как раз РВ вычисления всегда воспринимал как совокупность ПК с очень медленной связью (0,5-1 Мбит/с) , где сервер раздает относительно небольшие (как по объему просчетов, так и банально по размеру передаваемой по сети информации) отностительно самостоятельных заданий (с проверкой контрольных сумм сервером) , а ты задумываешься от расширении грид по территории Украины - в каждый дом . Это ж какой канал интернета нужно иметь? и как тут с дублированием клиента (надежность результата и вообще факта выполнения задания) shuffle.gif

я пока что не понял разницы между тем, что предлагал Rilian и BOINC. Но это скорее из-за того что не вникал сильно в принцип BOINC.
Ну как я понял, должен быть сервер, на котором будет находится сам проект для расчета по которому будет происходить обмен данными с клиентским сегментом..
Задержки тут могут быть между сервером и клиентом и между самими клиентами.

так я BOINC и предлагаю smile.gif

Автор: Alien Feb 1 2010, 00:30

(nikelong @ Feb 1 2010, 00:22) *

Фаерфокс\опера тебе в помощь....

спасибо) не первый день в интернете smile.gif.
для меня удобней макстон, но есть и лиса.

Автор: Sergyg Feb 1 2010, 00:41

я пока что не понял разницы между тем, что предлагал Rilian и BOINC.


Ы, так Rilian именно Боинк и предлагает. (ну или хотя бы принцип Боинка, /многократно сорри/ но это не принципиально)

А вот мне пока кажется (через необiзнанiсть), что кластер ну слишком отличается от Боинка т.е. традиционных РВ именно из-за этого:

Т.е. грубо говоря вычисления в кластере линейны во времени: чтобы начался расчет кластера на 100-м часу его работы, нужно выполнить 99 часов предыдущих вычислений. И вся эта махина - считает много суток.

получается так, расечты самого процесса МД, ведутся по фреймам (кадрам). В каждый фрейм заложены скоростя атомов, которые используются для последущего.. Принцип цепочки. Но для расчета одного фрейма, идет распределение вычислений по узлам и ядрам. Вот почему можно хорошо распараллелить, но при этом критично к задержкам.

А Боинк (поправьте, если это не так) - как раз рассылает множество заранее заготовленных, достаточно несвязных между собой, маленьких заданий. Т.е. автор проекта имеет небольшие вычислительные мощности (+ свой мозг) - только, чтобы сформировать задания. Их делают очччень много, заготавливают впрок, рассылаются с дублированием (повторностью для лостоверности). ПРичем задания из диапазона №№1001-2000 сформированы БЕЗ УЧЁТА результатов выполнения заданий №№0000-1000.
А вот при расчете ВАШИМ методом на кластере (имхо) именно нельзя приступить к серии №№1001-2000 не дождавшись предыдущих. Как раз кластер и выполняет быстренько такой обмен, когда даже при скорости соединения 1Гбит общая производительность в 3 раза падает против коннекта Инфайнибенд.
Имхо это совсем не Боинк...

_______________________
забавно выглядят наши лаги в реагировании на посты, нужно включать "сообщ. отредактировано" для ясности smile.gif

Автор: Alien Feb 1 2010, 00:43

(Rilian @ Jan 31 2010, 21:00) *

Если мы предоставим сервер и возьмем на себя поддержку и продвижение проекта РВ, у вас есть команда которая может заняться генерацией заданий и изучением результатов и довести их до чего-то осмысленного (статьи или может какие-то реальные опыты в лаборатории основанные на результатах) ?

Не хотелось бы, чтоб кто-то сильно растрачивался на нас.
Это же кто-то должен оплачивать сервер, техническую работу проводить + еще и ресурсы предоставлять.
Это немаленькие деньги. Пожалуйста подумайте, прежде чем начинать.
Что касается статей, лабораторных исследований, то этим занимается отдел достаточно давно =)
Научную работу можно прочитать здесь (правда не все, не обновляли сайт) http://www.bioua.org.ua/proted/publications.php?newlang=ukr

С нашей стороны должны быть еще пожелания, что все алгоритмы работы, должны быть в рабочем состоянии, на базе BOINC.
Возможно такое распределение задачи, как раз лимитирует объекты, как мы это видим с F@H (что нам не подходит).
Этого я не знаю, но столкнулся при ГПУ акселерации.
(Rilian @ Feb 1 2010, 00:24) *

так я BOINC и предлагаю smile.gif

тогда я не понял про что это
(Rilian @ Feb 1 2010, 00:01) *

Alien, как насчет обычного проекта на BOINC? Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно

Автор: Rilian Feb 1 2010, 00:48

Кстати, чтобы не изобретать велосипед ( = не настраивать и не изучать boinc с нуля) как вариант - можно сотрудничать с WCG. У них уже настроена вся инфраструктура.

http://www.worldcommunitygrid.org/research/viewSubmitAProposal.do

мощностя - 287 процессорных лет в день, 1.4 млн девайсов ( http://www.worldcommunitygrid.org/stat/viewGlobal.do )

Автор: Sergyg Feb 1 2010, 00:52

...как раз лимитирует объекты, как мы это видим с F@H (что нам не подходит).

а я о чем говорю... неспроста у них молекулы ультрамикроскопические - нормальная молекула считалась бы на Ку6600 254234523457451 дней.
Вот и задача для вас - придумать, как разбить/разнести/развести ваш мега-процесс на млн. консьюмерских ЦПУ, в сети в 1Мбит/с - максиум . ИМХО

Автор: Rilian Feb 1 2010, 00:53

QUOTE(Alien @ Feb 1 2010, 00:43) *

тогда я не понял про что это
QUOTE(Rilian @ Feb 1 2010, 00:01) *

Alien, как насчет обычного проекта на BOINC? Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно



я так понимаю что у вас уже отлажен весь софт для работы на кластере, и вы предлагаете перенести его на домосеть.

->

QUOTE
Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно

потому что нельзя будет надеяться что определнный комп не выключат (на ночь) или не забьют канал (торрентами итд) пока он считает что-то важное

Автор: Alien Feb 1 2010, 00:58

мм.. еще раз повторюсь, что после сертификации глайт, мы выйдем активней в Европу, точнее в ЕГЕЕ проекты.
А проблема заключается еще в том, что не все так просто =)
На каждом кластере необходимо установить и вести поддерку не только софта но и интерфейсов между нашей лаборатория и ними (но это как правило занимает поначалу время).
Что касается бионика, то для нас это не критично.. Для меня это интересно как минимум в том, чтоб и домашние пользователи присоединялись к расчетам и участвовали с нами в исследованиях.
Кратко говоря чисто из патриотических побуждений, помочь тем кому интересно, смотря на реализацию этого у F@H.

я так понимаю что у вас уже отлажен весь софт для работы на кластере, и вы предлагаете перенести его на домосеть.

у нас отлажена работа на 7ми серверах Украины в рамках Украинского Академического Грида.
Ни в коем случае мы не откажемся от того что у нас уже есть, мы это будет еще развивать.
Но ничто не мешает эту же задачу или другую поставить на расчет используя BOINC.
Особенно учитывая то, что пользователей становится больше.

Автор: Sergyg Feb 1 2010, 00:59

тогда я не понял про что это
QUOTE(Rilian @ Feb 1 2010, 00:01)

Alien, как насчет обычного проекта на BOINC? Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно


Ы, так Рильян и высказывает сомнение о возможности организовать кластер из удаленных юзеров и предлагает рассмотреть возможность использования традиционной и проверенно-рабочей схемы РВ ака Боинк.
А я ,в свою очередь, пытаюсь выяснить можно ли (если да, то как) преобразовать схему (настроенного вами и успешно работающего) кластера в схему Боинк-образных sarcastic.gif вычислений.

Автор: Sergyg Feb 1 2010, 01:09

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

ну, хоть в этом утверждении здесь все сходятся... smile.gif

Автор: Rilian Feb 1 2010, 01:14

QUOTE(Sergyg @ Feb 1 2010, 00:59) *

А я ,в свою очередь, пытаюсь выяснить можно ли (если да, то как) преобразовать схему (настроенного вами и успешно работающего) кластера в схему Боинк-образных sarcastic.gif вычислений.

теоретически, если можно "замедлить" обмен данными (то есть одна нода будет сама по себе считать как минимум несколько минут) и если данных при обмене меньше нескольких МБ, то на BOINC перенести можно. Если же ноды читают и пишут в другие ноды, то без изменений архитектуры не обойтись.

Alien, ну так никто и не говорит закрывать кластеры. Давайте сделаем доп проект и что-то посчитаем на BOINC, чисто для обкатки технологии

Автор: Sergyg Feb 1 2010, 01:29

Если же ноды читают и пишут в другие ноды, то без изменений архитектуры не обойтись

Какой ты умный, Рильян! drinks2.gif (только в последнее время что-то зачастил орфографическими ошибками описками wink.gif )
Именно этот принцип (а что бывают и другие варианты ? fear.gif ) моё имхо и подразумевало в работе упоминаемого кластера.

Имхо, на это косвенно указывает тот факт, что коннекта в 1Гбит оказывается недостаточно: инфайнибенд позволяет вторе повысить произв.кластера. Значит, там всё "летает" оттуда-сюда и потом снова туда, новая задача формируется на основании результатов предыдущей.

Тогда, если утверждение
без изменений архитектуры не обойтись
- верно, то , видимо, мы уже на 1 шаг ближе к цели swoon.gif 6e047365df22.gif sarcastic.gif winner.gif

Автор: Alien Feb 1 2010, 01:32

Строить кластер на домашних компах, даже в пределах домосети, это будет очень нестабильно

потому что нельзя будет надеяться что определнный комп не выключат (на ночь) или не забьют канал (торрентами итд) пока он считает что-то важное

Отсылается сразу несколько одинаковых копий одного подзадания. Например кворум = 2 валидных результата. А отправляем 3. То есть даже если один из тройки компов не ответит в течение дедлайна, на сервер прийдут 2 результата. Ситуации когда не успевают 2 компьютера - меньше 1%, ситуации когда не успевают 3 компа - еще меньше.

БОИНК не подразумивает использование домашних компьютеров (ПК), в качестве ресурсов..? Или после каких моих слов я ограничился тем, что не есть BOINC?

В целом мы друг-друга поняли, если есть 10 компьютеров и они связаны в сеть и производят расчет одной задачи, в случае если один зависает или выключается вся задача виснет или сбивается (но есть чекпоинт у громакса).
Вопрос, что предлагает конкретно BOINC в решении таких непредвиденных ситуаций? Копии подзадач другим юзерам?
Я не уверен, но я думаю что перед запуском задачи необходимо знать точное число ядер, которое будет задано перед расчетом (не считая копий подзаданий).
К примеру есть задача и 3 ПК, поставили на расчет. Через 10 минут появляется еще 10 желающих, но расчет запущен, как они присоединятся? МЫсль одна, с каждым фреймом будет обновление информации о количестве доступных ядер и их участвии (заново разбиение на ячейки в фрейме, для параллелизации)..
Или отправляется какая-то тяжелая часть кода на расчет, а на сервере перед запуском указываем количество ядер, соответствующую доступности на узле.
преобразовать схему (настроенного вами и успешно работающего) кластера в схему Боинк-образных sarcastic.gif вычислений

я думаю при том, что будет использоваться лишь одна команда, серверные настройки неважны..
у нас настройка заключается в автоматизации процессов. А в данном случае процесс один, конечный.

Автор: Rilian Feb 1 2010, 01:51

QUOTE
Вопрос, что предлагает конкретно БИОНИК в решении таких непредвиденных ситуаций? Копии подзадач другим юзерам?


Конкретно при создании пачки ВЮ (work unit) указывается сколько копий (task) будет выслано _разным_ компьютерам, а также дедлайн тасков (время сколько сервер будет ждать результат, и если не дождется - сгенерит еще один таск на основе WU) .

QUOTE
К примеру есть задача и 3 ПК, поставили на расчет. Через 10 минут появляется еще 10 желающих, но расчет запущен, как они присоединятся? МЫсль одна, с каждым фреймом будет обновление информации о количестве доступных ядер и их участвии (заново разбиение на ячейки в фрейме, для параллелизации)..

В BOINC "есть задача" = есть пачка WU, например 1000 штук. Если делать двойную избыточность (для того чтобы убедиться что WU посчитана правильно), то будет создано 2000 тасков. Таски рассылаются на компьютеры юзеров в порядке очереди (компы сами периодически опрашивают сервер проекта на предмет наличия новых тасков). Например компьютеров меньше чем тасков - тогда таски которые не отправлены на рассчет так и будут висеть в очереди, пока за ними не обратятся.

А если через 10 минут вдруг появится 500000 новых юзеров, то счастливчики разберут все таски, а остальные будут ждать пока авторы проекта сгенерируют новые WU.

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

Автор: Alien Feb 5 2010, 03:54

(Sergyg @ Feb 1 2010, 00:41) *

ПРичем задания из диапазона №№1001-2000 сформированы БЕЗ УЧЁТА результатов выполнения заданий №№0000-1000.
А вот при расчете ВАШИМ методом на кластере (имхо) именно нельзя приступить к серии №№1001-2000 не дождавшись предыдущих. Как раз кластер и выполняет быстренько такой обмен, когда даже при скорости соединения 1Гбит общая производительность в 3 раза падает против коннекта Инфайнибенд.
Имхо это совсем не Боинк...

ну вот я тоже так думаю, наверное в Ф.Х отправляет индивидуальные, целостные, но маленькие задачки (малая система + короткое время). Обмен данных не производится между юзерами.
Пакет отправленный каждому из юзеров должен быть индивидуальным.
Я правильно понял?

Тогда таким критериям отвечают программы с принципом работы как у http://salilab.org/modeller/ и http://autodock.scripps.edu/. Тут будут десятки тысяч одноядерных независимых пакетов, для одной задачи.
У нас есть питоновский скрипт для моделлера, который может распараллелить в пределах одного узла или пк, если нужно.
Если с чего-то начинать то пока с моделлера, вроде бы он бесплатный.

Run your AutoDock Research project on World Community Grid!
by Sargis Dallakyan — Последнее изменение: 2009-02-10 16:34
Сделали вклад: Bill Bovermann

Does your research run on AutoDock? If so, you may be eligible to benefit from World Community Grid’s free computational power to accelerate your research. AutoDock has already been ”grid-enabled” by World Community Grid’s technical team and is currently being run on World Community Grid with the FightAIDS@Home project from The Scripps Research Institute and the Discover Dengue Drugs - Together project from The University of Texas Medical Branch. Please review World Community Grid’s research project criteria and contact World Community Grid if you have an idea for a project proposal or any questions.

возможно с автодоком не нужно будет создавать 2й велосипед (как предлагал Rilian), даже не знаю пока что делать в данном случае.
Если поставить задачу через WCG, будет ли это считаться украинским проектом?

Автор: Alien Feb 5 2010, 17:38

(nikelong @ Feb 4 2010, 23:33) *

Распределённые вычисления для чайников (F@H)
http://nnm.ru/blogs/folding/raspredelennye_vychisleniya_dlya_chaynikov_f_h/

блин,
Folding@home успешно смоделировал процесс свёртывания белковых молекул на протяжении 5—10 мкс

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

Автор: Sergyg Feb 5 2010, 19:56

вроде, 1,5мс - их наивысшее достижение http://distributed.org.ua/forum/index.php?showtopic=4261

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


мы с Рилианом несколько утрировали на счет автономности и несвязности заданий. По-видимому, они все же связаны. Но как бы в единицу времени у них заготовлено и находится на РВ-просчете ОЧЕНЬ много заданий. Они ОТНОСИТЕЛЬНО автономны. Но порции заданий, рассылаемых в течение бОльшего времени (напр. 1 мес) - всё же те, что выданы на 30-м дне, имхо, зависят от результатов, полученных в начале месяца. Просто эта взаимосвязь, из природы их РВ-метода, не может (имхо) быть очень быстрой. Т.е. авторы проекта ИМХО, постепенно получают результаты одной фазы просчета (дедлайн довольно большой), затем ихний "домашний" алгоритм сгенерирует следующую порцию заданий.
Т.к. у них одновременно запущено много проектов, то пул заданий на раздачу большой. Кажется, просто огромный.

А ваш кластер (имхо) берет 1 большую задачу, только её и считает (как мне кажется, с подсказки Рилиана - при этом данные перемещаются с узла на узел). Т.е. Эффективность работы вашей системы очень высока - 1 мега-задача --- 1 мега-компьютер.

Вообще-то Alien - я, например, ожидал, что ты более четко сможешь описать блок-схему выполнения вашего алгоритма на кластере (вполне возможно, что это не является твоей частью работы в проекте). А то мы все только гадаем пока что и всё. Например я до сих пор не понял (вполне возможно - из-за невнимательности), на каждом узле есть винт - зачем он там нужен и каковы его характеристики. Т.е. там лежат собственно файлы исполняемого софта - это понятно. А как часто и в каком объеме туда откладываются посчитанные данные? Как долго они там хранятся? Насколько я понял - есть ещё массив дисков (отдельно), куда накопительно сливаются все данные расчетов. Или всё 100%-равномерно и равноправно smile.gif распределено по узлам.
Т.е. я не перестаю удивляться, что скорость интерконнекта 1Гбит/с - была узким местом кластера. Ведь если бы работа каждого узла напоминала традиционные РВ - то каждый ЦП долго-долго считал бы задание, сохранял на винт (может, даже временные данные) и довольно небольшие по размеру данные отправлялись бы куда-то дальше. Но это ИМХО не приводило бы к росту производительности при переходе на инфайнибенд. Я думаю, здесь такое сильное распараллеливание, что "сырые данные" тоннами распределяются между нодами, т.е. даже без МЕДЛЕННОЙ записи на локальный винт. Т.е. 1Гбит/с=125Мбайт/с= скорости записи на быстрый винт (а если там можно задейстововать полный дуплекс, то вдвое больше). Но если при переходе на инфайнибенд скорость работы почти втрое выше, то это 350 Мбайт/с. Т.е. если бы данные в большей степени записывались на локальный винт (со скоростью, явно меньшей), то и не было бы так заметно влияние этого быстрого интерконнекта.

Поэтому, если товарищам всё же удается мега-задачу разрезать на мелкие куски. Наверняка у них есть план rtfm.gif koc.gif .

Автор: Death Feb 5 2010, 21:24

а как нащот http://en.wikipedia.org/wiki/CHARMM

http://en.wikipedia.org/wiki/AMBER

или ваще

http://en.wikipedia.org/wiki/List_of_software_for_molecular_mechanics_modeling

Major software for MD simulations

Main article: List of software for molecular mechanics modeling
Abalone (classical, implicit water)
ABINIT (DFT)
ACEMD (running on NVIDIA GPUs: heavily optimized with CUDA)
ADUN (classical, P2P database for simulations)
AMBER (classical)
Ascalaph (classical, GPU accelerated)
CASTEP (DFT)
CPMD (DFT)
CP2K (DFT)
CHARMM (classical, the pioneer in MD simulation, extensive analysis tools)
COSMOS (classical and hybrid QM/MM, quantum-mechanical atomic charges with BPT)
Desmond (classical, parallelization with up to thousands of CPU's)
Culgi (classical, OPLS-AA, Dreiding, Nerd, and TraPPE-UA force fields)
DL_POLY (classical)
ESPResSo (classical, coarse-grained, parallel, extensible)
Fireball (tight-binding DFT)
GROMACS (classical)
GROMOS (classical)
GULP (classical)
Hippo (classical)
Kalypso MD simulation of atomic collisions in solids
LAMMPS (classical, large-scale with spatial-decomposition of simulation domain for parallelism)
LPMD Las Palmeras Molecular Dynamics: flexible an modular MD.
MacroModel (classical)
MDynaMix (classical, parallel)
MOLDY (classical, parallel) latest release
Materials Studio (Forcite MD using COMPASS, Dreiding, Universal, cvff and pcff forcefields in serial or parallel, QMERA (QM+MD), ONESTEP (DFT), etc.)
MOSCITO (classical)
NAMD (classical, parallelization with up to thousands of CPU's)
NEWTON-X (ab initio, surface-hopping dynamics)
ORAC (classical)
ProtoMol (classical, extensible, includes multigrid electrostatics)
PWscf (DFT)
RedMD (coarse-grained simulations package on GNU licence)
S/PHI/nX (DFT)
SIESTA (DFT)
VASP (DFT)
TINKER (classical)
YASARA (classical)
XMD (classical)
[edit]Related software

VMD - MD simulation trajectories can be visualized and analyzed.
PyMol - Molecular Visualization software written in python
Packmol Package for building starting configurations for MD in an automated fashion
Sirius - Molecular modeling, analysis and visualization of MD trajectories
esra - Lightweight molecular modeling and analysis library (Java/Jython/Mathematica).
Molecular Workbench - Interactive molecular dynamics simulations on your desktop
BOSS - MC in OPLS
[edit]Specialized hardware for MD simulations

Anton - A specialized, massively parallel supercomputer designed to execute MD simulations.
MDGRAPE - A special purpose system built for molecular dynamics simulations, especially protein structure prediction.

вобщам главный вопрос как распараллелить большую задачу. у фолдинга это получается. а какой софт будет у боинковских клиентов уже неважно. хоть http://en.wikipedia.org/wiki/Molecular_modeling_on_GPU


Автор: Death Feb 5 2010, 21:32

Software

The Folding@home client consists of three separate components.
The client software acts as a download and file manager for work units and scientific cores, controls the cores, and is the software that the user interacts with. Separating the client from the core enables the scientific methods to be updated automatically (or new methods to be added) without a client update.
The Work Unit is the actual data that the client is being asked to process.
The Core performs the calculations on the work unit. Folding@homes cores are based on modified versions of seven molecular simulation programs for calculation: TINKER, GROMACS, AMBER, CPMD, SHARPEN, ProtoMol and Desmond.[10][11] Where possible, optimizations are used to speed the process of calculation. There are many variations on these base simulation programs, each of which is given an arbitrary identifier (Core xx):[12]
[edit]Active Cores
GROMACS (all variants of this core use SIMD optimizations including SSE, 3DNow+ or AltiVec, where available, unless otherwise specified)
Gromacs (Core 78)
Available for all Uniprocessor clients only.
DGromacs (Core 79)
Double precision Gromacs, uses SSE2 only.
Available for all Uniprocessor clients only.
DGromacsB (Core 7b)
Nominally an update of DGromacs, but is actually based on the SMP/GPU codebases (and is therefore a completely new core). As a result, both are still in use.
Double precision Gromacs, uses SSE2 only.
Available for all Uniprocessor clients only.
DGromacsC (Core 7c)
Double precision Gromacs, uses SSE2 only.
Available on Windows and Linux Uniprocessor clients only.
GBGromacs (Core 7a)
Gromacs with the Generalized Born implicit solvent model.
Available for all Uniprocessor clients only.
Gromacs SREM (Core 80)
Gromacs Serial Replica Exchange Method.
The Gromacs Serial Replica Exchange Method core, also known as GroST (Gromacs Serial replica exchange with Temperatures), uses the Replica Exchange method (also known as REMD or Replica Exchange Molecular Dynamics) in its simulations.
Available for Windows and Linux Uniprocessor clients only.
GroSimT (Core 81)
Gromacs with Simulated Tempering.
Available for Windows and Linux Uniprocessor clients only.
Gromacs 33 (Core a0)
Uses the Gromacs 3.3 codebase.
Available for all Uniprocessor clients only.
Gro-SMP (Core a1)
Symmetric MultiProcessing variant, locked to four threads (but can be run on dual core processors).
Runs only on multi-core x86 or x64 hardware.
Available for all SMP clients only.
GroCVS (Core a2)
Symmetric MultiProcessing variant with scalable numbers of threads.
Runs only on multi-core x86 or x64 hardware, with four or more cores.
Uses the Gromacs 4.0 codebase.
Available for Linux and Mac OS X SMP clients only.


NVIDIA GPU v2.0 r1 client for Windows.
Gro-A3 core (Core a3)
SMP version of the Gromacs A4 core.
Uses threads rather than MPI for multicore support.
Available for SMP2 client only.
In open beta testing before general release.
Released January 24th, 2010.
Gro-A4 (Core a4)
A single core version of the Gromacs SMP2 core.
Available for Windows and Linux Uniprocessor clients only.
GroGPU2 (Core 11)
Graphics Processing Unit variant for ATI CAL-enabled and nVidia CUDA-enabled GPUs.
Comes in two separate versions, one each for ATI and nVidia, but both have the same Core ID.
GPUs do not support SIMD optimizations by design, so none are used in this core.
Available for GPU2 client only.
ATI-DEV (Core 12)
Graphics Processing Unit developmental core for ATI CAL-enabled GPUS.
Does not support SIMD optimizations.
Available for GPU2 client only.
NVIDIA-DEV (Core 13)
Graphics Processing Unit developmental core for nVidia CUDA-enabled GPUs.
Does not support SIMD optimizations.
Available for GPU2 client only.
GroGPU2-MT (Core 14)[13]
Graphics Processing Unit variant for nVidia CUDA-enabled GPUs.
Contains additional debugging code compared to the standard Core 11.
Does not support SIMD optimizations.
Released March 2, 2009.
Available for GPU2 client only.
Gro-PS3 (Does not have a known ID number, but also called SCEARD core)
PlayStation 3 variant.
No SIMD optimizations, uses SPE cores for optimization.
Available for PS3 client only.
AMBER
PMD (Core 82)[12]
No optimizations.
Available for Windows and Linux Uniprocessor clients only.

Автор: Alien Feb 6 2010, 16:14

Death,
CHARMM интересно, но пока менее актуально..
AMBER, у нас есть лицензия на 9й, думаю обновим до 10го, но привязка к одному кластеру.. Опять таки мало людей у нас на нем считает.. Мы просто используем бесплатные силовые поля амбера для громакса.

Gromacs SREM (Core 80)
Gromacs Serial Replica Exchange Method.
The Gromacs Serial Replica Exchange Method core, also known as GroST (Gromacs Serial replica exchange with Temperatures), uses the Replica Exchange method (also known as REMD or Replica Exchange Molecular Dynamics) in its simulations.

помимо классики МД, мы используем еще Replica Exchange Method.
технический принцип работы таков что, создается 50 подпроектов (реплик), с разницей лишь в температуре, с шагом 2-3 градуса. К примеру задача состоит из 50 реплик с диапазоном температур от 300 К до 400 К. Каждая из реплик в процессе динамики обменивается данными. Но не все сразу, а как правило 2 из 50, в данном случае... Целью является переход структуры в другой энергетический минимум, для получения иной стабильной конформации.
Детали, если кому интересно можно будет потом рассказать..

Автор: Alien Feb 6 2010, 16:45

(Sergyg @ Feb 5 2010, 19:56) *

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

http://www.nmr.chem.uu.nl/~tsjerk/course/molmod/md.html
Блок схема есть, но еще раз повторю, что это не имеет большого значения ибо стоит выполнить лишь один этап, одну команду.
2.1- ПП GROMACS, запуск самой МД, программой mdrun
выглядит это так
mdrun_mpi -s tyrn_md.tpr -g tyrn_md.log -o tyrn_md.trr -x tyrn_md.xtc -e tyrn_md.edr -c tyrn_md.gro -cpo tyrn_md.cpt -v  -nice 0
где tyrn_md.tpr входяхий файл, размером в пару мб, на выходе получаются файлы траекторий tyrn_md.trr (динамика всей системы, достигает 250 Гб и более, можно от него отказаться), tyrn_md.edr (файл с инфой об энергии) и tyrn_md.xtc (динамика самого белка, урезанный trr файл, занимает ~2Гб при 100 нс), tyrn_md.cpt (файл чекпоинта, хранит последние фреймы динамики)

Делать все ~12 подготовительных этапов не имеет смысла из соображений затраченного труда и времени расчета.

А то мы все только гадаем пока что и всё. Например я до сих пор не понял (вполне возможно - из-за невнимательности), на каждом узле есть винт - зачем он там нужен и каковы его характеристики. Т.е. там лежат собственно файлы исполняемого софта - это понятно. А как часто и в каком объеме туда откладываются посчитанные данные? Как долго они там хранятся? Насколько я понял - есть ещё массив дисков (отдельно), куда накопительно сливаются все данные расчетов. Или всё 100%-равномерно и равноправно smile.gif распределено по узлам.

Это тоже как бы не имеет особого значения ИМХО, у нас тоже тут разные архитектуры. Более детально тут http://grid.nas.gov.ua/ (в меню Грид--Грид сайты--Города--Кластеры, вся тех. информация есть).
Обращаю внимание что в КПИ Дисковое пространство: 6Тб на базе распределенной файловой системы LustreFS.
У нас да, на каждом узле находится ЖД с ОС, сис. копии папок юзеров, мы можем переходить между узлами, но хранилище одно. Зачем узлы и переход между ними, потому что какие-то могут быть занятыми под расчет и стоит перейти для более комфортной работы (или зависнет)..

Т.е. я не перестаю удивляться, что скорость интерконнекта 1Гбит/с - была узким местом кластера. Ведь если бы работа каждого узла напоминала традиционные РВ - то каждый ЦП долго-долго считал бы задание, сохранял на винт (может, даже временные данные) и довольно небольшие по размеру данные отправлялись бы куда-то дальше. Но это ИМХО не приводило бы к росту производительности при переходе на инфайнибенд. Я думаю, здесь такое сильное распараллеливание, что "сырые данные" тоннами распределяются между нодами, т.е. даже без МЕДЛЕННОЙ записи на локальный винт. Т.е. 1Гбит/с=125Мбайт/с= скорости записи на быстрый винт (а если там можно задейстововать полный дуплекс, то вдвое больше). Но если при переходе на инфайнибенд скорость работы почти втрое выше, то это 350 Мбайт/с. Т.е. если бы данные в большей степени записывались на локальный винт (со скоростью, явно меньшей), то и не было бы так заметно влияние этого быстрого интерконнекта.

Наши 7 узлов в загрузке, при 1 Гбит есернет, загружены до 150-200 Мбит. Дело не в ширине канала, а во времени доступа в нем.
К примеру на кластере ИСМА, скорость такая же высокая как на КПИ. Есть еще ЖД для всего кластера, который предназначен для временного хранения файлов, прежде чем пойдет все на сторедж.

Автор: Rilian Feb 6 2010, 17:48

QUOTE(Alien @ Feb 5 2010, 03:54) *

QUOTE
Run your AutoDock Research project on World Community Grid!
by Sargis Dallakyan — Последнее изменение: 2009-02-10 16:34
Сделали вклад: Bill Bovermann

Does your research run on AutoDock? If so, you may be eligible to benefit from World Community Grid’s free computational power to accelerate your research. AutoDock has already been ”grid-enabled” by World Community Grid’s technical team and is currently being run on World Community Grid with the FightAIDS@Home project from The Scripps Research Institute and the Discover Dengue Drugs - Together project from The University of Texas Medical Branch. Please review World Community Grid’s research project criteria and contact World Community Grid if you have an idea for a project proposal or any questions.

возможно с автодоком не нужно будет создавать 2й велосипед (как предлагал Rilian), даже не знаю пока что делать в данном случае.
Если поставить задачу через WCG, будет ли это считаться украинским проектом?

да, будет украинский проект prapor.gif

WCG не заберет себе никакие результаты, конечно

Автор: Rilian Feb 11 2010, 03:57

судя по http://www.rechenkraft.net/wiki/index.php?title=RNA_World/en исходники RNA World открыты

Автор: Alien Feb 11 2010, 12:06

Ребята, что от меня еще нужно?
Вид команды для запуска я предоставил, могу предоставить тестовый проект. Что еще?

Автор: Rilian Feb 11 2010, 13:17

Alien, как видишь, биохимиков кроме тебя на форуме нет.

Автор: Alien Feb 11 2010, 13:51

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

Автор: Rilian Feb 11 2010, 14:10

ну мы настроим и получим еще один gerasim@home (который завис в состоянии "сервер поднят, что считать?")

Автор: Alien Feb 11 2010, 16:17

неправильная позиция..
если ты ждешь что сначала люди появятся, то ты ошибаешься..
Во-первых они есть, во-вторых, если речь о биологах\химиках, то они будут активны лишь когда будет все готово и автоматизировано.

Желающих ставить задачи огромное количество, еще меньше образованы в этой сфере (ИТ) и единицы работают без автоматизации.
Если говорить про молекулярную динамику и громакс, то мы автоматизировали процесс, но сейчас работаем над методологией, чтоб потом обучать людей далеких от информатики или прикладных пакетов.

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

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

Автор: Rilian Feb 12 2010, 03:49

О

читаю http://www.rechenkraft.net/wiki/index.php?title=RNA_World/FAQ/en:

QUOTE
Can I as a scientist submit tasks to RNA World?

Hopefully soon. We are working on implementing user job submission interfaces for each of the various RNA World applications. However, you will have to register and receive a digital certificate such that jobs submitted to our system are clearly correlated to an individual known to us.


Скоро можно будет сабмитить свои белки

Кстати сегодня видел в кэше задания с tRNA

Автор: Alien Feb 12 2010, 14:13

я видел в топике по РНК, что у них бесплатные сорсы.. было бы интересно протестировать.

Отлично, мы как раз с транспортной РНК и работаем!

Держи нас в курсе.

Автор: Rilian Feb 12 2010, 14:26

Alien, кстати в Hydrogen@home можно сабмитить работу на Autodock

теоретически также в DrugDiscovery@home. А там одним из кураторов проекта является Андрей Воронков из МГУ

Автор: Alien Feb 16 2010, 20:37

Rilian или кто-то из ребят, когда вы будете свободны, чтоб попробовать поставить задачу через WCG?
Мне наверное нужно получить аккаунт? Чтоб я не тратил и без того малое время, прошу помощи, чтоб разобраться в этой системе..

У меня есть международный сертификат (X509), он может быть им необходим, для идентификации моей личности.

Автор: Rilian Feb 16 2010, 21:25

Alien, хорошо! давай начнем пробовать со следующей недели. Щяс немного занят, и еще уезжаю оффлайн на неск дней.

Автор: Alien Feb 23 2010, 21:37

Такс, ребята..
Я уже зарегистрировался на международную конференцию, которая будет проходить в Киеве

МІНІСТЕРСТВО ОХОРОНИ ЗДОРОВ'Я УКРАЇНИ
ПЕРШИЙ З'ЇЗД ”МЕДИЧНА ТА БІОЛОГІЧНА ІНФОРМАТИКА І КІБЕРНЕТИКА”
http://www.inmeds.com.ua/content/conference/conf_2010.php

Тематика моего выступления будет по направлению ускорения процессов расчета молекулярной динамики на базе нашей виртуальной лаборатории MolDynGrid.
Если хотите, чтоб в докладе прозвучали и вы, а так же, чтоб были напечатаны в тезисах конференции, то стоит поторопиться.
Остался где-то месяц, а нам нужно настроить наш био-проект.
Пока я ориентируюсь на академический грид.
У кого есть хорошие знания линукса, С и CUDA - велкам! Попробуем настроить плагин к громаксу.

Автор: Death Mar 17 2010, 11:27

Rilian, а видел на вцг ссылку "отправить свой проект"?

может Элиена заинтересует.

Автор: Alien Mar 18 2010, 22:39

я не видел, покажи плиз.

Автор: Rilian Mar 18 2010, 23:15

QUOTE(Alien @ Mar 18 2010, 22:39) *

я не видел, покажи плиз.

имеется ввиду http://www.worldcommunitygrid.org/research/viewSubmitAProposal.do

Автор: Alien Mar 19 2010, 00:28

почитал...
идеально подходит
Genomics and disease - functions of proteins that are coded by human genes and how they might relate to cures for common diseases
но регламент у них конечно непростой..

как там успехи по направлению своего проекта?

Автор: Death Mar 19 2010, 10:53

надо делать свой DDOS@Home

Автор: Khvastov Maxim Mar 19 2010, 11:45

Можно сделать проект на AI тематику - Имитационное моделирование, с шахматами и библиотекаршами нейросетями и интеллектуальными агентами cool2.gif

Автор: Alien Mar 19 2010, 11:57

я имею ввиду по направлению биологии...

Автор: Death May 26 2010, 11:59

ап.

Рильян, сколько по времени займёт засетапать боинковый сервак?

Alien, ты решил ЧТО будешь считать и чем?

Автор: Alien May 26 2010, 22:16

да собственно давно решил..мне нужно знать какие технические ограничения будут.. одна задача\ядро-два или одну задачу можно будет распаралелить на тысячи юзеров? Нужно будет попробовать практически в громаксе..
если только на одно ядро, то тогда настроим моделлер, для моделирования ансамблей... Сделаем крутой проект... К примеру сегодня мы генерируем 500 моделей, а благодаря тысячам ядер мона сделать в десятки тыщ раз больше...Это колоссальная статистика... будет прорывом..
С громаксом сложнее, ему важны минимальные задержки между юзерами.. но стоит попробовать...

Даю тестовый файл для громакса https://moldyngrid.org/forum/uploads/MDG/linker_md.tpr
1- нужно заинсталлить громакс ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.0.7.tar.gz ( есть и для виндовс версии http://www.gromacs.org/index.php?title=Download_%26_Installation/Installation_Instructions )
2- я уже писал как выглядит команда..

QUOTE
2.1- ПП GROMACS, запуск самой МД, программой mdrun
выглядит это так
CODE
mdrun_mpi -s linker_md.tpr -g linker_md.log -o linker_md.trr -x linker_md.xtc -e linker_md.edr -c linker_md.gro -cpo linker_md.cpt -v  -nice 0


для самого этапа динамики входящий только один файл linker_md.tpr, он вмещает в себя все необходимое. Остальные файлы это выходящие..
данная задача не должна требовать более 300 мб озу на ядро. Настроена для 20 нс динамики вроде..

Автор: Algon May 26 2010, 23:46

Не знаю как насчет Linux, но в инструкции по установке на Windows x64 разобраться очень непросто: http://machine-phase.blogspot.com/2009/04/how-to-install-gromacs-on-windows-vista.html

К тому-же, насколько я понял, там описывается установка более ранних версий, или это не имеет особого значения?
Если не очень сложно, просмотрите пожалуйста инструкцию, все ли подойдет для этой задачи?

Если там все нормально, попробую просчитать тестовую задачу на QX или Xeon-кластере.

Автор: Alien May 27 2010, 11:03

вот еще один пример для инсталляции http://www.gromacs.org/index.php?title=Download_%26_Installation/Installation_Instructions/Cygwin_HOWTO&highlight=Windows
по идее разницы не должно быть, хоть я лично и не пробовал.

Здесь еще есть отдельная версия для виндовс http://www.gromacs.org/index.php?title=Download_%26_Installation/User_contributions/Gromacs_binaries/i686//MS_Windows
http://www.gromacs.org/@api/deki/files/85/=gromacs-4.0.2-MSHPCServer2008Port.zip

Автор: Algon May 27 2010, 13:56

Пакет для HPC 2008 (gromacs-4.0.2-MSHPCServer2008Port.zip) не запускается на CCS 2003 (выдает error#3920 - endpoint not match)

Пакет для Win32 (gromacs_win32.zip) говорит, что несоответствуют версии задачи и громакса:

QUOTE
Reading file linker_md.tpr, VERSION 4.0.4 (single precision)
Fatal error: reading tpx file (linker_md.tpr) version 58 with version 24 program


Чуть позже попробую по инструкции отсюда: http://lists.gromacs.org/pipermail/gmx-users/2009-September/044792.html но там описывается установка Gromacs-4.0.5, так что скорее всего снова получим несоответствие версий.

Автор: Alien May 27 2010, 19:58

эээ..ок ща переделаю на 407
не думал что будет настолько принципиально...


Автор: Alien May 27 2010, 22:40

заменил файлик полученный в 407 https://moldyngrid.org/forum/uploads/MDG/linker_md.tpr

Автор: Algon May 28 2010, 15:27

Установил Cygwin, сконфигурировал и скомпилировал FFTW 3.2.2. Сейчас компилируется Gromacs 4.0.7, уже примерно 2 часа на QX9650, сколько еще понадобится времени - непонятно. По результатам отпишусь.

Инструкция http://lists.gromacs.org/pipermail/gmx-users/2009-September/044792.html содержит ошибки, кое-что исправил, сейчас выдается только Warning по поводу отсутствия каких-то статических линков. Если все пройдет нормально, сделаю нормальную инструкцию по установке на Windows.

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

UPD: Все скомпилировалось без ошибок, запустил расчет. Что-то делает:


Занято 1 ядро и около 15 метров памяти. Понравилась строка "Loaded with Money" cool2.gif

UPD2:
Не сразу заметил, что прогресс показывает в самом верху. Сейчас "step 14600, will finish Wed Nov 17 11:24:58 2010" то есть общее прогнозируемое время выполнения задачи почти 6 месяцев. Ничего себе...

Автор: Alien May 28 2010, 20:04

круто, умничка что разобрался!
можно скомпилировать с mpi для параллелизации. хз как оно на винде..
Ждемс туториала по установке для виндовс.
пол года..ммм .. У меня тогда стояло 1000 нс, можно сократить, если хочешь, до 1 нс (нужно мне будет переделать проект).

теперь вопрос, можно ли эту одну задачу распараллелить между кранчерами? Или только в предалах одного ПК\сервера?

Автор: Algon May 28 2010, 20:38

QUOTE(Alien @ May 28 2010, 21:04) *

можно скомпилировать с mpi для параллелизации. хз как оно на винде..

А вот здесь можно подробнее? Я вроде как в общих чертах разобрался с этим Cygwin и нарыл кучу материала по нему. Теоретически он позволяет компилить под Windows любые исходники для Linux (кроме разве что уж совсем специфических). Но имеет и свои недостатки, например жесткую привязку к машине и учетке пользователя. Нужно разбираться дальше, скорее всего этого можно избежать.

QUOTE

Ждемс туториала по установке для виндовс.

Ок, до понедельника сделаю.

QUOTE
пол года..ммм .. У меня тогда стояло 1000 нс, можно сократить, если хочешь, до 1 нс (нужно мне будет переделать проект).

Если получится скомпилировать с MPI, есть идея как пихнуть все это на наш кластер. Там такая задача посчиталась бы примерно за 20-30 часов.

QUOTE
теперь вопрос, можно ли эту одну задачу распараллелить между кранчерами? Или только в предалах одного ПК\сервера?

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

Встречный вопрос: можно ли по этой задаче как-то проверить промежуточные результаты, чтобы убедиться, что все работает как нужно? Или действительно лучше будет просчитать короткую задачу?
В настоящий момент Step 247600

Автор: Alien May 28 2010, 20:56

уточню как делают с мпи.
а что у вас за кластер и организация. если не секрет?
Визуальные результаты проверить можно...
Для этого достаточно файла *.xtc и https://moldyngrid.org/forum/uploads/MDG/linker_pdb2gmx.gro
В программе VMD открывается сперва *.gro а потом созданный при расчете *.xtc и смотришь динамику...
для анализа траекторий достаточно
*.tpr и *.xtc

Автор: Algon May 28 2010, 21:02

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

Автор: Alien May 28 2010, 21:21

в данном случае мне эти файлы не нужны... я считал более длинную динамику..
это тестовые проекты, для тренировки...чтоб понять можно ли его использовать для боинк сервера и адаптирование клиентов для кранчеров, под эти задачи.
используя грид ARC я знаю как остановить типа ngkill -keep gsiftp://*
в путти можно нажать комбинацию Контрл + С, а в винде не пробовал..
Думаю если просто закрыть консоль то результаты останутся.

Автор: Algon May 28 2010, 21:30

Понял. В общем я занимаюсь дальше, по мере продвижения буду докладывать о результатах ))
Кроме MPI желательно еще уточнить вопросы с оптимизацией, например под SSE/3DNow и очень желательно под Cuda.

Автор: Alien May 28 2010, 21:42

касательно КУДА..
отличная идея... есть плагин - https://simtk.org/home/openmm
год назад тестили бетку и на GTX260 нехватало памяти... Но реально может был большой объект или глюченая версия..интересно было бы протестировать на проф карте сегодня.

Автор: Algon May 29 2010, 12:37

Установка однопоточного Gromacs на Windows

Для успешной компиляции и установки Gromacs необходимы следующие 3 компонента:
- Среда Cygwin, предназначенная для компиляции Linux-приложений из исходников и создания окружения для их успешной работы в OS Windows (http://www.cygwin.com/);
- FFTW, библиотека подпрограмм для языка C, предназначенная для работы с дискретными преобразованиями Фурье (http://www.fftw.org/);
- Непосредственно Gromacs (http://www.gromacs.org/)

1. В первую очередь необходимо загрузить Cygwin, текущая версия доступна по адресу http://www.cygwin.com/setup.exe
2. Запускаем полученный файл setup.exe, во втором окне выбираем "Install from Internet".
3. В качестве "Root Directory" оставляем "C:\cygwin". Вы можете выбрать свой путь для установки, но в дальнейшем придется вручную набирать большое количество команд с указанием этого пути. Учитывайте это при выборе каталога.
4. В качестве "Local Package Directory" оставляем "C:\cygwin\packages".
5. В следующем окне необходимо выбрать свой тип подключения к Интернет и указать необходимые данные.
6. Затем выбираем, с какого из зеркал будем загружать пакеты. Можно оставить по умолчанию.
7. В следующем окне "Setup Packages" будьте внимательны, необходимо установить следующие пакеты:

Секция "Devel"
- autoconf: Wrapper scripts for autoconf commands
- autoconf2.1: Stable version of the automatic configure script builder
- autoconf2.5: Development version of the automatic configure script builder
- automake1.9: a tool for generating GNU-compliant Makefiles
- binutils: The GNU assembler, linker and binary utilites
- gcc: C compiler upgrade helper
- gcc-core: C compiler
- gcc-g++: C++ compiler
- gcc-g77: Fortran compiler
- gcc-mingw-core: Mingw32 support headers and libraries for GCC
- gcc-mingw-g++: Mingw32 support headers and libraries for GCC C++
- gcc-mingw-g77: Mingw32 support headers and libraries for GCC Fortran
- libgcc1: GCC compiler support shared runtime
- libgdbm-devel: GNU dbm database routines (development)
- make: The GNU version of the `make` utility
- mingw-runtime: MinGW Runtime
Остальное оставляем по умолчанию.

Секция "Interpreters"
- perl: Larry Wall`s Practical Extracting and Report Language
Остальное оставляем по умолчанию.

Другие секции не трогаем.
После установки необходимых пакетов выбираем, создавать ли иконку на рабочем столе и добавлять ли в меню "Пуск".
После нажатия кнопки "Готово" инсталляция Cygwin завершена.

8. Загружаем во временную папку FFTW по ссылке http://www.fftw.org/fftw-3.2.2.tar.gz
9. Разархивируем полученный файл в папку C:\cygwin\packages\, в итоге должна получиться папка C:\cygwin\packages\fftw-3.2.2\ содержащая файлы FFTW.
10. Загружаем во временную папку Gromacs по ссылке ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.0.7.tar.gz
11. Разархивируем полученный файл в папку C:\cygwin\packages\, должна получится папка C:\cygwin\packages\gromacs-4.0.7\ содержащая файлы Gromacs.
12. Запускаем Cygwin ярлыком "Cygwin Bash Shell" или вручную C:\cygwin\Cygwin.bat
13. В Cygwin-сессии переходим в каталог FFTW, набрав команду:
cd /cygdrive/c/cygwin/packages/fftw-3.2.2

14. Запускаем конфигурирование FFTW командой:
./configure --prefix=/cygdrive/c/cygwin/packages/fftw --enable-float

15. Когда конфигурирование будет завершено, запускаем команду make:
make

16. Затем запускаем:
make install
Когда процесс завершится, будет создан новый каталог C:\cygwin\packages\fftw\ содержащий файлы FFTW для Windows.

17. После этого переходим в каталог с файлами Gromacs:
cd /cygdrive/c/cygwin/packages/gromacs-4.0.7

18. Конфигурируем Gromacs следующей командой:
./configure --prefix=/cygdrive/c/Packages/Gromacs LDFLAGS=-L/cygdrive/c/cygwin/packages/fftw/lib CPPFLAGS=-I/cygdrive/c/cygwin/packages/fftw/include

19. Когда конфигурирование будет завершено, запускаем команду:
make

20. И затем:
make install

Процесс конфигурирования и компиляции занимает много времени (до нескольких часов), это нормально.
Если будут выдаваться предупреждения типа "Warning..." не обращайте на них внимания, главное чтобы не было "Error...". )) Если вы все-же получили сообщение об ошибке, проверьте правильность написания команды и правильность указания путей.
Примечание: диск C: в Cygwin указывается как /cygdrive/c/

После завершения компиляции получим новый каталог C:\cygwin\packages\gromacs\ содержащий файлы Gromacs для Windows.

21. Для нормальной работы программы необходимо внести в системную переменную PATH следующие каталоги:
C:\cygwin\bin\
C:\cygwin\packages\gromacs\bin\

Запуск расчета задания осуществляется из командной строки командой:
mdrun -s linker_md.tpr -g linker_md.log -o linker_md.trr -x linker_md.xtc -e linker_md.edr -c linker_md.gro -cpo linker_md.cpt -v -nice 0

Автор: Alien May 30 2010, 19:05

спасибо за описание,
прежде чем обновим мануал, я вот нашел в той переписке такую ссылку
http://www.somewhereville.com/?p=112

Взята из переписки http://machine-phase.blogspot.com/2009/04/how-to-install-gromacs-on-windows-vista.html

amir said...
Dear Tom,
Im fairly new to Cygwin, openmpi,Etc. Im trying to install openmpi via the package i got from its website. My problem is that the openmpi configuration goes smooth , but the "make" and "make install" goes horribly wrong enters folders then exits saying that there is nothing to build ... Can you please somehow give me instructions as to how to install openmpi with Cygwin? I've searched all over the web and even Dr. Damian Allis' post (http://www.somewhereville.com/?p=112) but Im still very confused and frustrated.
Thanks alot,
Amir

May 11, 2010 3:27 AM
Tom said...
I encountered a similar problem when installing fftw, and it was because of how I extracted fftw to my fftw folder. I used 7-zip for the extraction. Fftw comes in a .tar.gz. I had to do two extractions (one for the gz and one for the tar) and ended up with something like C:/FFTW/FFTW with the second folder containing all the files including the make file. Make sure this isn't the case for you. If so, you have to change your directory down one more level, or cut all the files from the second FFTW folder and paste them into the first. This should put the make file in the proper place.


некоторые используют данный хелп http://www.gromacs.org/index.php?title=Download_%26_Installation/Installation_Instructions/Quick_and_Dirty_Installation&highlight=openmpi
( http://www.gromacs.org/index.php?title=Download_%26_Installation/Installation_Instructions/Quick_and_Dirty_Installation )

http://oldwww.gromacs.org/pipermail/gmx-users/2009-June/042682.html

Автор: Algon May 30 2010, 20:21

FFTW у меня стала нормально, немного была путаница с синтаксисом команд сборки Gromacs, но разобрались.
MPI пока серьезно не занимался, займусь завтра. Спасибо за ссылки.

Администраторам форума: проверьте пожалуйста длинные ссылки в посте выше, напрямую не открываются, приходится копировать и удалять всякие distribredir, только после этого работают.

Автор: Alien Jun 2 2010, 22:13

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

Автор: Algon Jun 4 2010, 12:29

Alien,
К сожалению пришлось плотно отвлечься на основную работу, так что пока все приостановилось. Еще 2-3 дня буду очень занят, потом продолжу.

QUOTE

Algon, поскольку ты понял весь процесс работы... скажи это реально использовать для BOINC? как создать клиентскую и серверную часть представляешь уже? вот для громакса желательно распараллелить одну такую задачу на много юзеров..

Если удастся уменьшить время выполнения одной задачи до разумных пределов - реально. Разумными на мой взгляд являются до 20 дней на современном Quad.
Одну задачу в Boinc распараллеливать на несколько юзеров не получится, принципы кластера здесь неприменимы. В основном потому, что между машинами разных пользователей вообще нет прямой связи. Теоретически можно связать их через сервер и получить что-то типа огромного кластера (правда с высокими задержками), но эффективность такого решения должны оценивать вы, а не я smile.gif
При таком решении возникают сопутствующие проблемы: подобная система будет требовать постоянного подключения к серверу, интернет-трафик у пользователей будет значительным, что снизит количество участников. Со стороны сервера будет требоваться широкий интернет-канал с минимальными задержками и оборудование самого сервера должно быть в состоянии кроме выполнения основных функций (сходных с функциями управляющей ноды кластера) поддерживать еще и сотни или тысячи VPN-подключений.
В итоге реализация подобного проекта становится довольно затратным делом, как по финансовым вложениям, так и по вложениям сил и времени.

QUOTE

как можно обойти такую штуку что один фрейм динамики создается всеми машинами, а следующий фрейм не будет создан без предыдущего... и если один из компов выключится, как будет перестрахован расчет?

Я инженер IT, а не биолог, поэтому принципы работы Gromacs для меня непонятны smile.gif
Идеальным решением для Boinc является "одно задание на один компьютер". Естественно что скорость расчетов будет низкой, но вот общий объем может быть очень большим. Для обхода проблемы со сбоями/отключениями отдельных компьютеров обычно применяется принцип избыточности, то есть одно и то-же задание дается 2-3 компьютерам. Вероятность, что расчет будет прерван на всех, очень низкая, хоть один да посчитает.

QUOTE

со своей стороны скажу..что создаются чекпоинты, после восстановления с чекпоинта можно задать иное число ядер участвующих в расчете... система будет переразбита на другое количество ячеек и подкорректирован их размер (PME). получается, что если выключится у кого-то комп..система остановится и восстановиться расчет на новом числе ядер..

Это справедливо и имеет смысл для классического кластера при отказе/сбое ноды. Если мы все-же попытаемся реализовать концепцию "распределенного кластера", то его отказоустойчивость нужно будет обеспечивать избыточностью, о чем я говорил выше. Чекпоинты в этом случае будут гарантией от сбоя системы в целом.

QUOTE
есть еще вариант..ставить данный расчет лишь на те машины которые гарантируют продолжительную работу, без выключений, с хорошим пингом между собой.

Да, это наиболее просто реализуемый вариант, но количество таких машин не очень большое. Нужно учитывать тот факт, что большинство участников РВ считают не на выделенных машинах. На этих-же компьютерах могут параллельно работать в Интернет, играть в игры и т.д. Наконец банально могут отключить электричество или может пропасть связь с Интернет.

P.S. Возможно стоит обратиться за помощью к вашим западным коллегам? Они наверняка уже сталкивались с большинством этих проблем, возможно имеют и готовые пути их обхода или решения. Gromacs используют несколько действующих проектов РВ, даже если они не дадут готового решения - возможно подскажут, куда двигаться стоит, а куда нет, что избавит нас от многих ошибок и проблем.

Автор: Alien Jun 4 2010, 14:14

Спасибо за ответ, буду ждать обновления.
Немного погуглил и нашел пару полезных ссылок, возможно знаете о них.
Создание BOINC проекта с нуля
http://www.spy-hill.net/~myers/help/boinc/Create_Project.html
И очень интересный источник нашел.. Ребята из России в 2008 году пытались сделать нечто подобное, к чему мы стремимся
http://www.boinc.ru/forum/default.aspx?g=posts&t=237&p=1

Автор: Algon Jun 4 2010, 17:34

Российский проект так и окончился не начавшись. Причины лично мне непонятны. Я вообще наблюдал за теми событиями и мало что понимал. Например:
- есть работающий российский Boinc-проект, который не знает, что-бы ему посчитать;
- есть люди, которые знают что считать, но не имеют опыта в РВ.
Вполне логично было-бы объединить усилия и создать проект, имеющий и цель, и базу для ее достижения. Но этого не произошло по непонятным причинам.
Далее, есть международные организации, объединяющие ученых, но почему-то каждый проект (за редким исключением) начинает все с нуля и категорически не желает делиться накопленным опытом с другими. В чем причина?

По практической части: нам пока рановато заниматься изучением и созданием платформы (Boinc-сервера или другой), поскольку отсутствует определенность с самим принципом проведения расчетов. Возможно Boinc для этого не подойдет и придется создавать что-то подобное платформе Folding@Home или вообще полностью свою платформу, основанную на других принципах.
Те требования к платформе, что мы имеем сейчас, практически несовместимы с Boinc, и нам остается два варианта: либо подгонять требования под возможности Boinc, либо искать/создавать что-то другое.

Автор: ReMMeR Jun 4 2010, 19:22

Возможно Boinc для этого не подойдет и придется создавать что-то подобное платформе Folding@Home

У фолдинга свой велосипед, весьма недоделанный.
Так что если боинк-платформа не подойдет, то для системы, где хосты должны активно общатся между собой, лично я вижу только систему на базе какойто п2п сети.
И опять же, боинк можно взять за основу.


Автор: Alien Jun 5 2010, 02:36

Algon, согласен с тобой...наблюдается проблема недопониманий.. Но вроде бы я все изложил понятно, что необходимо по технической части... и что еще важнее я наблюдаю понимание с твоей стороны проблематику наших расчетов.
Лично для нашей лаборатории, которая использует крупные объекты исследований в 500 тыщ атомов в системе (в отличии от F@H, в пару сотен или тысяч) существует проблема в ресурсах... Как ты заметил есть условный лимит - 4 ядра в пределах месяца... Я понимаю, что мало кто сможет продержать свой комп даже на такой период.. На благо есть чекпоинты...возможно исходя из этого можно как-то перенаправлять и продолжать расчеты..
Нужно реально подумать, со своей стороны я готов расписать весь технический процесс..

К примеру в качестве оптимизации, я могу пройти все 12 этапов до самой молекулярной динамики (МД), даже пройти саму МД до 30-40 нс, что будет отвечать уравновешенному участку, таким образом сэкономим пару месяцев времени, используя расчеты на кластерах УАГ.
С моей точки зрения F@H считают пустышки... я не уверен, но у меня подозрения, что они не проводят расчеты в водно-солевом растворе, таким образом экономя процессорное время ну и существенно добавляют погрешности в свои исследования.
У нас как бы более серьезный уровень, который соответственно и требователен к ресурсам..
Пару практический цифр.
Динамика моей системы в 300 тысяч атомов на 32 ядрах при интерконекте инфинибенд занимает около 3х недель, для 100 нс динамики. Меньше чем 100 нс считать сегодня не интересно.

Исходя из всего этого...
Если расчет при BOINC займет около полу года, но я получу статистику из тысяч траекторий игра будет стоить свеч....excl.gif Потому что за пол года при расчетах на кластерах я получу около 10 траекторий..
Вот тут сразу видна польза.

Автор: Algon Jun 5 2010, 13:52

Если делать упор на общее количество посчитанных траекторий, а не на скорость, то "игра стоит свеч".

В этом случае мы можем использовать следующий алгоритм расчетов:
1. Генерируются несколько сотен (или тысяч) задач, для каждой ограничивается время выполнения (например 120 часов). Для достижения избыточности каждая задача генерируетя в 2-3 экземплярах.
2. Эти задачи раздаются компьютерам участников.
3. Через 120 (ну или немного больше) часов возвращаются эти задачи, получаем промежуточные результаты (частично просчитанные траектории)
4. На основе полученных промежуточных результатов генерируется новая порция задач, снова раздается компьютерам участников проекта.
Пункты 3 и 4 повторяются до тех пор, пока траектории нужной длины не будут получены.

Если такой алгоритм вас устраивает, то вполне можно использовать Boinc, что несколько упрощает задачу в целом.

Автор: Alien Jun 5 2010, 14:18

О! вот так наверное и нужно сделать...! это походу лучший и вполне реальный вариант..
у ребят с России в 2008 году была другая ситуация, тогда в 3м громаксе не было системы чекпоинта. Сегодня в 4м это вполне реализуемая процедура..
Мне интересно было бы узнать, сколько кранчер в среднем выделяет ядер для расчета? 2-4 ядра? (для ориентира ресурсов для расчета одной траектории)

Теперь еще один момент. Для восстановления требует помимо самого файла чекпоинта еще траектория которая может занимать до 5 гигабайт при 100 нс. Будет проблематично каждому последующему кранчеру качать недосчитаную траекторию такого объема.. Мне нужно будет уточнить, нужна ли сама траектория для восстановления или громакс начнет писать продолжение сам, создав новый файл XTC и TRR, который на серверах можно будет сшить в один. Главное чтоб сервер знал где какое продолжение и для какой траектории... нужно будет создать ID генератор (или найти существующий) с привязкой к единице траекторий, чтоб не было путаницы.

Автор: Algon Jun 5 2010, 15:02

На мой взгляд имеет смысл использовать только системы, имеющие от 2 ядер. Компьютеры на базе Celeron и аналогичных процессоров будут считать слишком долго.
5 гигабайт это серьезный объем, необходимость передачи файлов такого объема сократит количество участников до считанных единиц.

По принципам работы Gromacs действительно лучше уточнять вам, получится быстрее и эффективнее. Если удастся свести трафик к минимуму и максимально использовать оптимизацию (под SSE, 3DNow, Cuda), получится привлечь максимальное количество участников.

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

Автор: Death Jun 7 2010, 15:46

боинк это не кластер и не грид.

рассчитывайте 1 юзер - 1 задание.

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

я не в курсе как считается динамика для таких процессов.

может быть надо считать статику - один юзер щитает при т=0, Т=100 градусов, второй т=0.1 мс, Т=100 градусов и теде, а потом сервер уже склеивает эти "картинки" и получается "фильм".

как-то так...

Автор: Alien Jun 12 2010, 21:37

хеллоу ребята, мне удалось запустить проект в громаксе на ГПУ Тесла 1060.
Я получил доступ на полигоне МГУ, кластер у них очень большой.. Так что благодарю их за возможность протестировать проект.
Очень долго этого ждал ибо годами были проблемы с запуском.. То было мало памяти на видеокарте, то еще что-то..

В общем с моими настройками параметров симуляции, у меня получился прирост в 6 раз больше, чем одно ядро AMD Opteron™ 270 2GHz процессора.
Как бы я ожидал большего, но все зависит от параметров.. собственно на сайте нвидиа это заметно, при использовании разных алгоритмов расчета для параллелизации.


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

Автор: Alien Jun 12 2010, 21:51

на самом деле можно начать с простых вещей и программ.. которые немение актуальны.
мне кажется когда получим маленькую победу, более сложная проблема с громаксом сможет активней решаться.

к примеру, как уже писал есть программа Modeller - http://www.salilab.org/modeller/download_installation.html
чуть позже могу расписать как и что нужно сделать, с примерами.
Это тот случай когда для одгой структуры нужно лишь одно ядро и расчет модели происходит за минуту.
С боинком можно получить сотни тысяч структур и отобрать при этом лучшую.

Автор: Algon Jun 13 2010, 12:58

Извиняюсь за длительное отсутствие, навалилась куча работы sad.gif
Запустил сборку openmpi-1.4.2, потом займусь Gromacs-MPI. Если все пройдет без ошибок, ближе к вечеру запущу пробный расчет. Кластер стоит наготове smile.gif

To Alien: нужно ли попытаться собрать GROMACS Double-Precision With OpenMPI? Или вы его не используете?

To Rilian: Возможна сборка всех этих пакетов под OSX, сможешь попробовать при возможности?

Автор: Alien Jun 13 2010, 20:17

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

Автор: Algon Jun 13 2010, 21:14

Пока результаты негативные, похоже начались настоящие проблемы smile.gif
Буду по возможности ковыряться дальше, рано или поздно что-нибудь получится.

Может действительно имеет смысл пока переключиться на Modeller, поскольку он обещает более быстрое получение результатов в виде рабочего модуля?
А затем можно будет и Gromacs довести.

Автор: Alien Jun 13 2010, 21:49

давай с моделлера...
самое главное что теперь однозначно знаем какие проблемы у громакса и пути их решения..
а после тестов с гпу, я понять не могу что там F@H считает, с такими ограничениями)) все надежды на выход 4.5 громакса, с нативной поддержкой гпу.

чуть позже напишу список того, что нужно.

Автор: Alien Jun 28 2010, 03:39

сорри, ребята..немного пропал.. готовился к выступлению на рабочем съезде по медицинской информатике, который прошел 23-26 июня..
еще сделаю пару отчетов и буду более свободен.

Автор: Rilian Jun 28 2010, 17:15

Обязанности: организация диагностики пациентов, составление "карты здоровья", взаимодействие с медицинскими учреждениями, лабораториями диагностики, научно-исследовательскими центрами. В том числе, организация сотрудничества с исследовательскими группами работающими в области биоинформатики, драг-дизайна, математического и компьютерного моделирования биологических процессов, определения биомаркеров здоровья. В том числе c: www.23andme.com, www.rayandterry.com, www.google.com/health/

Требования: К.М.Н., 25-35 лет, энергичность, компетентность, знание английского. Резюме на почту: mi20022@ya.ru Зарплата 100000 рублей.

http://m-batin.livejournal.com/68981.html link.gif

ps: умный человек, подписывайтесь на rss thumbsup.gif

Автор: Alien Aug 27 2010, 15:35

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

Автор: Finansist Dec 12 2011, 04:23

Аж интересно, чем все закончилось?

ЗЫ: прочитал все от корки до корки, уж очень хочется понять окончание этого проекта.

Автор: Alien Dec 12 2011, 15:56

ничем))
нет человека который бы занялся техническим решением данной проблемы, адаптации боинка под данные задачи по аналогии других проектов (F@H, etc).

Автор: smilesvua Dec 13 2011, 00:42

Может выложить на относительно общедоступное обозрение проблему и коллективное бессознательное поможет?

Invision Power Board
© Invision Power Services