Member
Статус: Не в сети Регистрация: 28.01.2005 Откуда: Москва
Научная сторона дела:
Цель проекта - решение одной из самых больших проблем в молекулярной биологии - вычисление 3-х мерной структуры белков из их аминокислотных последовательностей. Благодаря недавно завершенному проекту "Геном человека" известны аминокислотные последовательности всех белков в человеческом организме. Исследования по данному проекту также помогут в проектировании новых, не существующих белков. В случае успешного решения данных проблем мы сможем бороться с такими болезнями как рак, малярия, болезнь Альцгеймера, сибирская язва и другими генетическими и вирусными заболеваниями.
По сути Rosetta - это компьютерная программа для поиска: - структуры с наименьшей энергией для заданной аминокислотной последовательности для предсказания структуры белка, - обратная задача - поиск аминокислотной последовательности с наименьшей энергией для заданной белковой структуры; а также расчета взаимодействия комплекса белок-белок. В данном проекте используется обратная связь по прогнозированию и полученным результатам, чтобы улучшать потенциальные функции и алгоритмы поиска.
Rosetta строилась на основе нескольких идей, развиваемых несколькими группами, которые потом объединили усилия. Вот эти идеи 0. 3D структура белка полностью определяется 1D последовательностью. 1. Знание вторичной структуры сильно облегчает жизнь при предсказании 3D. 2. Нужен промежуточный набор блоков из которых можно строить белок для преодоления комбинаторного взрыва (эти блоки потом были названы мотивами) 3. Необходимо построить функцию пригодности смоделированной структуры достаточно хорошо описывающую свободную энергию белка в физиологическом растворе. 4. Поиск оптимальной конфигурации нужно вести, как минимум, в две стадии - на гладком потенциале для больших блоков, а затем на полноатомном потенциале. 5. Молекулярная динамика подходит только для заключительной полноатомной шлифовки, на начальных стадиях необходимо использовать методы Монте-Карло и генетические алгоритмы. 6. Самый компактный кластер решений в пространстве построенном по метрике RMSD обычно содержит правильное решение.
Поддерживаемые операционные системы: Windows - 2000/XP/Vista/7/10 Macintosh - Intel Mac OS X 10.4.6 и выше. Системы на PPC больше не поддерживаются. Linux (32-bit/64-bit) Android Системные требования 1 Гб RAM (запустить можно и с меньшим объемом памяти, но при счете возможны проблемы, в частности не рекомендуется считать с малым объемом на ОС Ubuntu) оперативная память занимаемая клиентом: от 200 Мб на ядро/поток CPU минимум (в среднем около 350 Мб, но в некоторых типах заданий бывает значительно больше - от 500 до 700 Мб). Rosetta@Home не использует GPU(видеокарты) в вычислениях и в ближайшее время эта поддержка не планируется.
Интернет трафик Трафик - одна из крупных проблем проекта. При первом подключении вам необходимо скачать собственно boinc клиент, размером около 10 Мб и файлы Розетты (расчетный модуль+графический модуль+основная база данных) размером около 80 Мб (скачиваются только один раз при подключении компьютера к проекту или выходе полностью новой версии расчетного приложения). Но, кроме этого надо регулярно закачивать и сами задания. И с ними трафик может достигать 50Мб/сутки на каждое задействованное ядро процессора (при счете 24/7 и настройках по умолчанию). Если вы хотите избежать такого трафика нужно пройти по этой ссылке и в поле Target CPU run time поставить 1 days. После этого считать Розетту можно будет, даже если у вас диал-ап. Задание, размером в среднем около 5Мб(от 2 до 10) будет считаться 1 сутки(против стандартных 3 часов) и за это время трафик тратиться не будет. Результат, загружаемый на сервер имеет размер примерно 1-3 мегабайт.
Время расчета одного задания или на что влияет Target CPU run time Настройка Target CPU run time позволяет участнику самостоятельно выбрать предпочтительное время расчета одного задания. Например, в целях экономии трафика имеет смысл его увеличить, так как объем скачиваемых для задания файлов не зависит от времени счета. Поэтому, увеличив время счета одного задания, допустим в 2 раза, новые файлы скачиваться будут в 2 раза реже (и того же объема), что приведет к снижению объема трафика за период (неделю/месяц) тоже примерно в 2 раза. Минимальное значение = 1 час, значение по умолчанию = 8 часов, максимальное значение = 24 часам (1 сутки) Выбрать предпочитаемое время счета можно в настройках проекта по этой ссылке: Target CPU run time При этом это время не зависит от мощности вашего процессора, просто более мощный успеет за заданное время выполнить больше полезной работы (и соответственно получит за нее больше очков). Как все это работает? Дело в том, что проект Rosetta@Home использует в работе статистически-вероятностные подходы, нет заранее жесткой программы которую нужно рассчитать, расчет продолжается до достижения необходимой ученым точности (достоверности). В рамках конкретного задания участнику высылается набор исходных данных (исходные модели исследуемых белков и другая подобная информация) + диапазон переменных параметров. На основе этих данных запускается моделирование, по его окончании полученный результат записывается как "модель" (так же используется термин "decoy"). После чего моделирование запускается заново: с теми же исходными данными, но другими значениями переменных параметров. Так продолжается до тех пор, пока: а) не будет достигнуто (или превышено) заданное пользователем время счета б) превышено максимальное количество моделей (в зависимости от используемого алгоритма расчета этот лимит обычно равен 100 для "медленных" моделей и 10 000 для "быстрых") Таким образом, чем больше было время счета, тем больше моделей будет вашим компьютером рассчитано и выслано на сервер проекта (а очки сейчас начисляются пропорционально количеству присланных моделей) Аналогично для ситуации медленный - быстрый процессор: чем быстрее процессор, тем больше моделей он успеет рассчитать за заданное время и получит пропорционально больше очков. Результат измеренный в очках/час, от выбранного времени счета практически не зависит.
Дополнительная экономия трафика Дополнительно экономить интернет трафик помогает увеличение кэша заданий. Работает это следующим образом: при получении нового задания BOINC клиент прежде чем скачивать нужные для этого задания файлы с серверов проекта проверят нет ли нужных файлов в локальном хранилище (на диске). Если такие файлы имеются(остались от заданий скаченных ранее), то используется локальная копия. Копия файлов хранится до тех пор, пока в очереди заданий есть хотя бы одно для которого данный файл требуется. Таким образом увеличивая объем кэша заданий мы увеличиваем вероятность того, что при получении очередного задания часть(или все) нужные для него файлы еще будут храниться локально и скачивать их заново не придется. Эффект от этого не очень большой, но поскольку увеличивать кэш полезно и по другим причинам (он позволяет избежать простоев при периодических сбоях на серверах проекта или отсутствующем интернет подключении), то рекомендуется воспользоваться этой возможностью. Рекомендуемый объем кэша для Розетты - от 2 до 5 суток (конкретное количество заданий BOINC клиент будет расчитывать самостоятельно исходя из времени счета 1 задания, количества активных ядер/потоков процессора и % времени когда компьютер включен и занимается расчетами).
Ещё один метод борьбы с повышенным трафиком Розетты от lusvladimir:
Цитата:
Я вот провел тут небольшое исследование (проверил архивы своей папки BOINC за последние 20 дней) и убедился в том, что базовые файлы, которые мы качаем для расчета WU Rosetta, (см. мой предыдущий пост) - (это *._09_05.400_v1_3 и *._03_05.400_v1_3) - файлы АБСОЛЮТНО ИДЕНТИЧНЫ, а для расчетов используются изменяемые файлы .psipred_ss2, .pdb и .fasta. Я сижу на dial-up и у меня на машине давно уже стоит локальный кэширующий прокси-сервер (CoolProxy) для того, чтобы при серфинге заново не закачивать неизменяемые части сайтов. Но прога может и файлы тоже кэшировать!, я в настройках BOINC-клиента указал адрес моего локального прокси (127.0.0.1), на прокси стоит что нужно закачивать только те файлы, которые изменились, и я теперь получаю только маленький трафик расчетной части. Работаю на этой системе пока неделю, глюков и сбоев кроме самих Rosett'овских замечено не было. Режим обновления - у меня стоит определеный пользователем.
Настройки - все настройки. Пользователи (127.0.0.1) Время для повторного обновления (сек) -30 Игнорировать дату и размер файла на сервере при обновлении - НЕТ Обновление HTML- Всегда Обновление прочих - Всегда Обновление скриптов - Всегда
P.S У меня довольно старая версия 2.0 build 1023, так что может что-то по другому называться...
P.P.S Да, вот еще что: эффект от этой системы проявится как Вы понимаете, не сразу, нужно чтобы как минимум 1 раз вышеописанные базовые файлы прошли через прокси, а вот уже при втором и последующих обращениях к серверу проекта прокси не будет качать заново файл из Сети, а отдаст BOINC'у файл из своего кэша (из папки на локальном диске). Вот Вам и экономия трафика!
Особенно эффективен этот метод будет, если у вас несколько компьютеров используют одно общее интернет подключение. В этом случае прокси сервер устанавливается на 1м компьютере, а остальные настраиваются на использование 1го в качестве прокси-сервера.
Избыточность: в проекте равна 1. То есть, одно задание выдается только одному участнику, а не двум-четырем как обычно в боинк-проектах. Выдача задания второму участнику происходит только в случае если расчет у первого завершится с ошибкой (либо ответ не будет получен до истечения крайнего срока).
Как считаются кредиты? Для начала что собственно представляет собой 1 кредит (Cr, так же называемый как Cobblestone) или в каких попугаях измеряем? За эталон была взята условная машина со скоростью счета 1 млрд. операций с плавающей точкой в секунду (1 GFLOPS) и 1 млрд. операций с целыми числами в секунду (1 GINTOPS). При непрерывном счете 1 сутки(24 часа) вклад такой машины оценивается в 100 Cobblestone. Соответственно 1 Cobblestone это 1/100 суточного счета такой машины. А теперь как происходит их расчет для реальных машин:
Цитата:
1. Claimed credit = (whetstone + dhrystone)*Tвычислений/1728000. Где: whetstone - скорость вычислений с плавающей точкой (FLOPS/s). (Например - 1785 миллионов/сек). dhrystone - скорость вычислений с целыми числами (например - 3075 миллионов/сек). Tвычислений - измеряется в секундах. whetstone и dhrystone опеределяются путем переодического запуска BOINC клиентом теста скорости стета CPU(бенчмарка)
2. Теперь давайте разберёмся, откуда взялся коэффициент 1728000: Как уже говорилось выше, объём вычислений V0 можно записать как: V0 = (Whetstone + Dhrystone)*T В тоже время, согласно определению: 1 Cobblestone = (1GFLOPS/s + 1GINTOPS/s) *24 часа * 3600 секунд /100 = 2 GigaOPS/s * 24 * 3600 / 100 = 1728 GigaOPS/s Тогда, выражая объём вычислений в Cobblestones мы получим: V = V0/(1 Cobblestone) = (Whetstone + Dhrystone)*T/1728GigaOPS/s. Поскольку результаты бенчмарков принято записывать в миллионах операций в секунду, то приставку Giga мы заменяет на 1000, а миллионы операций в секунду просто отбрасываем - поскольку они сокращаются и сверху (Whetstone + Dhrystone) и снизу (GigaOPS/s = 1000 MegaOPS/s).
3. как считается Recent Average Credit (RAC), написано тут http://www.boinc-wiki.info/RAC (внимание - научный контент!) Если написанное там слишком сложно для понимания думайте о RAC как об усредненном количестве очков/день, где средняя определяется в основном скоростью счета за последние ~2 недели, а окончательно стабилизируется около месяца
Изначально при начислении очков (кредитов) проект Rosetta@Home полагался только на Claimed credit, т.е. сколько компьютер участника запросил очков (исходя из теста скорости процессора и времени расчета), столько за задание и начислялось. Позднее (в 2006 году) система начисления была несколько модифицирована для борьбы с накрутками и читерами (которые использовали взломанные версии клиентов, для получения завышенного количества очков): 1. Фактически начисляемые за задание кредиты (granted credit) рассчитываются как количество присланных клиентом в результатах задания моделей(decoys) умножить на "цену" одной модели. 2. Цена модели определяется следующим образом: для каждого типа заданий из результатов присланных участниками выбирается информация о количестве моделей в них и том, сколько Claimed credit за них было запрошено клиентами. Далее из этой информации вычисляется показатель сколько сlaimed credit в среднем приходится на 1 модель (данные уточняются по мере поступления новых результатов и накопления статистики). Далее всем участникам, участвующим в расчете этого типа заданий, начисления происходит исходя из этого среднего значения. Таким образом, хотя возможность нактуток формально сохранилась, но она потеряла всякий смысл, т.к. сильное завышение сlaimed credit, приведет только к незначительному увеличению granted credit(из за усреднения по множеству результатов), и эту небольшую дополнительную прибавку получит не сам читер, а все участники, которые будут сдавать задания после него. Так же это позволило практически ликвидировать зависимость количества начисляемых очков от используемой версии клиента и операционной системы (за исключением случаев, когда это влияет непосредственно на скорость научных расчетов). Более подробно об этом можно прочитать (на аглийском) на официальном сайте проекта: http://boinc.bakerlab.org/rosetta/forum ... hp?id=2194 При этом следует отметить, что зачисление очков происходит, в том числе даже за сбойные задания (завершившиеся ошибкой). Только не сразу, а с задержкой (обычно на следующие сутки после сдачи) и количество очков к зачислению в этом случае определяется по Claimed credit. Это было сделано самими разработчиками проекта, в связи с тем, что основная цель проекта разработка и непрерывное совершенствование программного обеспечения для моделирования белков, поэтому ПО постоянно переделывается и ошибки в его работе неизбежны. Таким образом, некоторый (умеренный) % сбойных заданий для проекта это норма, но в плане очков от частоты сбойных заданий участники ничего не теряют.
Как присоединиться к проекту? 1. Создать свой аккаунт, пройдя по этой ссылке 2. Если вы еще не участвовали в боинк проектах, скачать последнюю версию Boinc для Вашей операционной системы и установить 3. Запускаете клиент, идете в меню Cервис -> Добавить проект 4. Выбираем в левом окне в списке среди проектов Rosetta@home или вводите адрес проекта https://boinc.bakerlab.org/rosetta 5. Говорите, что у вас уже есть аккаунт (Вы создали его в п.1), вводите e-mail и пароль, который вы ввели, когда создавали аккаунт. 6. Для того, чтобы присоединиться к нашей команде, пройдите по этой ссылке и нажмите на кнопку Join. Всё, вы теперь с нами!
Как работать с кешем заданий? Есть 2 основных метода контроля кеша заданий - через локальные настройки самого БОИНК клиента и через веб-настройки какого-то определённого проекта (в данном случае это может быть Rosetta@home). По умолчанию Боинк будет использовать локальные настройки кеша, но пользователь может выбрать и веб-настройки.
Локальные настройки. Это можно сделать в Настройках клиента (Параметры - Настройки клиента - Вычисления - Другое) Для параметра "Запасать не менее" выбрать желаемый лимит буфера кеша - то есть на сколько дней закачивать кеш заданий. Тут нужно учетсь и ещё один очень важный параметр - "Запрашивать сохранение промежуточных результатов заданий примерно каждые" - здесь нужно установить временной интервал от 600-900 сек. По умолчанию после установки Боинка этот параметр равен 60 сек. Это слишком короткий интервал - из-за очень частого обращения к диску и перезаписи актуальной базы заданий с большой вероятностью будет изношен за котрокое время сам диск, не достигнув даже близко свой ресурс по записи в Тб.
Веб-настройки. Если всё же вы будете использовать эти настройки для вычислений, то после регистрации 1. Заходим на собственную станицу (с главной страницы проекта выбрать Your account) 2. Выбираем View or edit general preferences 3. Находим Connect to network about every (determines size of work cache; maximum 10 days). Если там стоит 0.1 - увеличиваем, т.к это число определяет размер кеша заданий (если задается дробное число, то писать с точкой, например 0.5, если указать 0,5 то задания могут не загружаться ) 4.В самом боинк клиенте открываем Параметры - Настройки клиента - и жмём на кнопку вверху "Использовать веб-настройки". Чтобы настройки использовались именно проекта Rosetta@home , рядом должен быть виден линк самого проекта.
Замеченные проблемы проектов на боинк платформе и методы их решения. Если не работает получение новых заданий нужно проверить лог BOINC клиента с целью определить конкретную причину. В старых версиях клиента для этого выделена отдельная вкладка программы "Messages", в новых версиях(начиная с 6.12.x) окно с логом вызывается через пункт меню Advanced-->Event Log или комбинацией клавиш Ctrl+Shift-E.
Не выдаются (или выдается слишком мало) заданий или что такое daily quota? Если в логе после сеанса связи имеются сообщения следующего вида
Код:
23/11/2012 14:51:18 | rosetta@home | Scheduler request completed: got 0 new tasks 23/11/2012 14:51:19 | rosetta@home | Message from server: No work sent 23/11/2012 14:51:19 | rosetta@home | Message from server: (reached daily quota of 4 results)
Значит причина невыдачи заданий в том, что вы исчерпали свою квоту заданий. Что такое квота? Это стандартный механизм BOINC платформы цель которого предотвращать массовую порчу заданий сбойными компьютерами (сильно нестабильными по аппаратной части или с серьезными проблемами в программной). Работает механизм следующим образом: - устанавливается в расчете 1 ядро (поток) процессора в сутки, т.е. фактически действующая квота равна квота умножить на количество ядер(потоков) вашего центрального процессора - начальное (оно же максимальное) значение задается администратором проекта - после каждого сбойного задания квота для данного компьютера уменьшается на 1, вплоть до минимального значения (равного 1 задание/ядро/сутки) - после каждого успешного задания значение квоты удваивается (1-2-4-8-16-...), вплоть до максимального значения определяемого настройками проекта - после достижения компьютером установленной для него квоты выдача заданий приостанавливается до начала следующих суток Таким образом проблемные компьютеры эффективно отсекаются и не замусоривают базы данных большим количеством ошибочными результатов, но в то же время сохраняется возможность их "реабилитации" в автоматическом режиме - как только компьютер начнет сдавать правильные задания квота быстро восстановится до исходного максимума. Конкретно в проекте Rosetta@Home базовое значение квоты = 100 заданий/ядро/сутки. Так что если вы видите в логах сообщения о квоте в этом проекте, значит у вас идет очень большое количество ошибок (все или практически все ваши задания определяются сервером как ошибочные) и нужно в первую очередь выяснять причину этих ошибок. Как только она будет устранена, то квота (и нормальная выдача заданий) восстановятся автоматически.
Если возникает нечто вроде:
Код:
01.11.2005 21:08:46|Predictor @ Home|Message from server: No work sent 01.11.2005 21:08:46|Predictor @ Home|Message from server: (there was work but you don't have enough disk space allocated)
то не надо париться, пару раз обновить проект, немного подождать, и задания появятся
Если возникает нечто вроде:
Код:
01.11.2005 21:08:46|Predictor @ Home|Message from server: Not enough disk space (only 12.8 MB free for BOINC). Review preferences for maximum disk percentage used.
то залезть на свою страницу в проекте(или в локальные настройки BOINC клиента) и поправить там Your account -> General Preferences. Здесь есть раздел Disk and memory usage: Use no more than xxx GB disk space - Максимальное используемое дисковое пространство (например, у меня 10 Gb) Leave at least xxx GB disk space free - Остановить обработку, если свободного места будет меньше указанного (у меня 0.1 Gb) Use no more than xxx% of total disk space - Максимальное используемое дисковое пространство в процентах (у меня 50%) Write to disk at most every xxx seconds - Запись на диск текущего состояния и промежуточных результатов каждые ххх секунд (у меня 60 секунд) Use no more than xxx% of total virtual memory - Максимальный используемый объем виртуальной памяти в процентах (у меня 75%) на что нибудь.
Что мне делать в статистике BOINC combined, меня больше одного? Стоит на одной из машин завести все считаемые вами проекты в рамках BOINC и немного подождать пока статистика поймет что к чему (возможно несколько раз обновить проекты)
В составлении описания проекта были использованы материалы следующих людей: blackbird, SwZ, lusvladimir, RosMag, citerra, Kapten Trumm, Gercog, RM, Agafonov_KY, norlang, -=SR=-, Alexa, Lexx-R, Mad'Max а также других камрадов и коллег по движению распределённых вычислений. Дополнения, исправления и прочее приветствуется.
Последний раз редактировалось Mad'Max 27.12.2021 5:44, всего редактировалось 44 раз(а).
Member
Статус: Не в сети Регистрация: 29.01.2003 Откуда: Моск. область Фото: 0
HilДа мне в общем-то пофиг, что там считается. Просто че-нить новенького захотелось Добавлено спустя 5 минут, 24 секунды Кстати, в розетте смысл в НТ есть? А то оба виртуальных процика загружены, может зря?
_________________ TSC! Russia Team WoT - Zlobny_Bobr
Member
Статус: Не в сети Регистрация: 28.01.2005 Откуда: Москва
sukhanovsergey 1. блин. я это даже перевести не могу...
2. так, значит не я один такой глючный. надо у них пошариться по форуму. может что сказано про это. Добавлено спустя 7 минут, 40 секунд так, если я правильно понял то, что написано здесь http://boinc.bakerlab.org/rosetta/forum ... hp?id=1274 они вообще хотели уменьшить до 12 часов. но народ восстал и поставили 24. эта мера временная, какой-то 1% багов из-за большого времени счета. наверное потом вернут.
Member
Статус: Не в сети Регистрация: 28.01.2005 Откуда: Москва
Petrovich_Belarus ну короче так. сначала боинк запускает бенчмарк на твоем компе. он это делает раз в 5 дней и ты сам можешь это сделать вручную. а потом, конкретно в Розетте все зависит только от бенчмарка и процессорного времени потраченного на задание:
Код:
credit = (whetstone + dhrystone)*Tвычислений/1728000. Где: whetstone - скорость вычислений с плавающей точкой (FLOPS/s). (Например - 1785 миллионов/сек). dhrystone - скорость вычислений с целыми числами (например - 3075 миллионов/сек). Tвычислений - измеряется в секундах.
Member
Статус: Не в сети Регистрация: 28.01.2005 Откуда: Москва
мои успехи в Rosetta@Home
сам себя не поздравишь, сами знаете, забудут все.
итак, за 4 недели участия в проекте (28 дней) было достигнуто:
2 командное место. KOI's берегись, я иду
10 Российское место. ну ребят, еще чуть-чуть подвиньтесь. я в пятерку целюсь.
в общем зачете пока хвост второй тысячи, но все впереди...
50000 общебоинковское место. вот где поле не пахано. еще обгонять и обгонять
всячески призываю KOI's Snow Temytch sukhanovsergey Petrovich_Belarus norlang IRAQ_FOREVER Z_Format SummerOff Eugenius и остальных подключать калькуляторы и тащить команду наверх. мы же можем. давайте, народ.
Member
Статус: Не в сети Регистрация: 24.12.2005 Откуда: Гродно Беларусь
ShiZ с удовольствием подключил бы еще калькуляторов, но проблема что на работе нет инета
но есть надежда, сегодня видел ISDN модем или как его там правильно. Обещают в течении месяца анлим в рабочее время
Так что ждемс однако
_________________ Бери все и неотдавай ничего! TSC! Russia (Folding@Home, Rosetta@Home) - tsc.overclockers.ru!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 104
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения