- Имя пользователя (параметр username) – имя под которым пользователь принимает участие в проекте.
- Номер команды (параметр team) – номер команды, членом которой является пользователь. Команда Ukraine имеет номер 2164.
- Спрашивать разрешение на выход в Интернет (параметр asknet). Установка в “Yes” означает, что клиент будет выдавать запрос пользователю каждый раз, когда ему будет необходимо получить задание, или отправить результат.
- Порядковый номер клиент (параметр machineid). В случае многопроцессорной конфигурации, каждый запущенный на ней клиент Folding@Home должен иметь уникальный порядковый номер. Может иметь значение от 1 до 8, т.е. допускается не более 8 клиентов на одной машине (под Linux это ограничение можно обойти).
- Количество выполненных заданий (параметр local) – количество заданий, выполненных данным клиентом Folding@Home. Считаются только 100%-завершенные блоки. Изменение параметра ни на что не влияет.
- Получать большие задания (параметр bigpackets). Этот параметр означает согласие пользователя на получение больших, до 5 Мб и более, заданий, которые к тому же требуют больших объемов памяти для выполнения. Установка этого параметра не означает, что такие задания будут получены немедленно, это лишь рекомендация для сервера, который назначает задания.
- Установки HTTP-прокси (секция http)
- Доступ через прокси (параметр active). Установка в “Yes” означает, что клиент будет связываться с серверами проекта через прокси, используя другие параметры секции.
- IP-адреса и порт прокси-сервера (параметры host и port).
- Использовать установки IE (параметр usereg). Для доступа в Интернет используются установки прокси-сервера из конфигурации Internet Explorer'а. Установка в “Yes” означает, что дальнейшая настройка доступа в клиенте Folding@Home не нужна.
- Прокси требует авторизации (параметр usepasswd). Установка в “Yes” означает, что для прокси будет использоваться авторизация с использованием логина и пароля.
- Логин и пароль для прокси (параметры proxy_name и proxy_passwd).
- Загрузка процессора (параметр cpuusage). При работе клиентской программы используется 100% ресурсов процессора, но можно и уменьшить нагрузку на процессор до другого процента, например, если процессор перегревается или работает нестабильно с максимальной нагрузкой.
- Приоритет процесса (параметр priority). Системный приоритет вычислительного ядра, которое запускается клиентом Folding@Home. Значение “0” означает приоритет “idle”, т.е. наиболее низкий, и установлен по умолчанию. Установка значения больше 0 может несколько ускорить расчеты, но ценой замедления выполнения других программ на данном компьютере и замедление его реакции на действия пользователя.
- Выключить ассемблерные оптимизации (параметр disableassembly). Расчетные ядра Folding@Home имеют ассемблерные оптимизации, использование которых ускоряет вычисления за счет рационального распределения инструкций между исполнительными блоками процессора. Это позволяет выполнять по несколько операций за такт и уменьшить простои процессора в ожидании очередных порций данных. Если конфигурация не очень стабильна, то результирующая нагрузка становится непосильной, и потому возникает необходимость выключить оптимизации, чтобы компьютер хоть и медленнее, но все же мог выполнять вычисления.
- Интервал между контрольными точками (параметр checkpoint) – это время между принудительными сохранениями состояния задания. Выбор оптимального значения интервала зависит от конфигурации компьютера и вероятности его зависания или внезапной перезагрузки. На средних по скорости (Sempron, Celeron и старших Athlon и Pentium) лучше устанавливать 5-10 минут, на медленных и быстрых – оптимальным было бы большее время, 15-20 мин. Медленные и быстрые машины не просто так объединены в одну группу – и на тех, и на других короткие интервалы нецелесообразны, хотя и по разным причинам. На медленных – потому что сам процесс сохранения занимает много времени. На быстрых – потому что естественные контрольные точки (границы фреймов) и так случаются достаточно часто, поэтому и необходимость в принудительных контрольных точках возникает только при расчетах наиболее сложных заданий.
- Игнорировать конечные даты (параметр ignoredeadlines). Установка в “Yes” означает, что работа над заданием будет продолжаться даже после назначенной для него конечной даты. Имеет смысл только в случае, если таймер компьютера сбился или переводился, или не работает вообще. Стоит учесть, что если задание действительно просроченное, то за него не будут начислены очки.
- Параметр type. Если компьютер выпущен более, чем 3-4 года назад и его процессор имеет частоту меньше 1ГГц, то существует вероятность, что он не будет успевать возвращать задания до установленного крайнего срока. В этом случае можно настроить клиентскую программу принимать только задания, которые не имеют определенного конечного срока (type=2). Значение type=1 говорит серверу, что необходимы задания с конечной датой выполнения. Значение type=0, а также отсутствие этого параметра, оставляет решение серверу.
- Установки отображения (секция graphics)
Параметры этой секции влияют на содержимое окна графического клиент, на скорость обновления изображений молекул в нем и т.д. Их установку лучше всего проводить в окне конфигурации графического клиента, где они к тому же исчерпывающим образом объяснены.
- Tinker (подробнее - http://folding.stanford.edu/tinker.html) – традиционное проверенное ядро, используется в проекте долгое время. Использует модели с неявным растворителем. Ядро написано давно, поэтому скоростные оптимизации выполнены на ассемблере под традиционные арифметические сопроцессоры (х87). Вследствие этого одни и те же Tinker-задания выполняются значительно быстрее на процессорах AMD, чем аналогичных по рейтингу Pentium IV или Power PC. Требования к памяти этого ядра – минимальные (около 10 Мб).
- Gromacs (подробнее - http://folding.stanford.edu/gromacs.html) – более новое ядро, которое использует модели с явным растворителем. На протяжении 2004-2005 гг. стало основным ядром проекта, с помощью которого рассчитывается большинство заданий, благодаря большей эффективности. Имеет оптимизации под SSE/3D-Now/Altive, которые включаются автоматически при наличии поддержки со стороны операционной системы. Вследствие этого скорость выполнения заданий мало зависит от архитектуры процессора, а в основном от его тактовой частоты, и, для заданий большого объема, от скорости интерфейса «процессор-память», т.е. преимущество за Athlon 64. Требования к памяти – от 10-30 Мб для типичных заданий до 100-200 Мб для больших заданий, которые отправляются только тем, кто специально их разрешил и имеет не менее 512 Мб оперативной памяти.
Ядро Gromacs имеет три вариации (разные бинарные файлы): стандартный Gromacs, GBGromacs (использует неявный обобщенный растворитель Борна, DGromacs (оптимизированный под SSE2 для случаев, когда нужна высокая точность расчетов).- Amber (подробнее - http://folding.stanford.edu/AMBER.html) – это более новое ядро, которое позволяет выполнять расчеты сворачивания в силовых полях с поляризацией. Является достаточно эффективным, однако, оптимизаций под SSE/3D-Now не имеет, и поскольку используются числа с плавающей запятой двойной точности, то их и не будет. Планируется оптимизация под SSE2, которая должна прибавить около 10% скорости. Не используется Mac OS клиентом.
- QMD (подробнее - http://folding.stanford.edu/QMD.html) – в отличие от остальных ядер, QMD не использует в расчетах силовых полей, вместо этого атомные взаимодействия рассчитываются квантовым химическим методом или путем решения уравнения Шредингера. Требования к памяти для расчетов – от 200 Мб и больше. Задания этого типа не загружаются на компьютеры с менее, чем 768 Мб оперативной памяти, и если пользователь специально не разрешил их.
Ядро оптимизировано под SSE2, но в связи с тем, что для компиляции используется компилятор Intel, то поддержка SSE2 распознается только на процессорах Pentium IV и Xeon, и не распознается на процессорах Athlon 64 и Pentium M. Таким образом, на последних расчеты могут продолжаться дольше в сравнении с аналогичными по рейтингу Pentium IV, и потому серверы проекта выдают такие задания только для процессоров Pentium IV.
В настоящее время задания, которые выполняются ядром QMD, являются наиболее выгодными с точки зрения количества очков, которые за них начисляются. Машина, которая постоянно обсчитывает QMD-блоки, способна приносить своему хозяину более 400 очков в день. Такое положение вещей обусловлено тем, что такие блоки требуют значительных вычислительных ресурсов, прежде всего скоростной памяти, и являются экспериментальными (на протяжении по крайней мере 2005 года). Участники, которые их добровольно получают и обрабатывают, должны, по замыслу Pande Group, быть дополнительно вознаграждены. Поэтому половина очков, насчитанных за каждый рассчитанный QMD-блок, являются бонусными.
Для получения QMD-блоков необходимо выполнить следующие условия:
- необходимо иметь Pentium IV с 768 Мб или больше памяти;
- выставить bigpackets=yes в секции settings файла client.cfg
- запускать клиент с параметром –advmethods в командной строчке.
Самые частые вопросы, задаваемые новичками в проекте Folding@Home
Почему мне снова выдано задание, которое я уже рассчитал?
Такой вопрос часто задается новичками, компьютер которых только что просчитал задание pNNN, и снова начал обрабатывать задание pNNN. Такие ситуации вполне возможны, но они не означают, что повторно рассчитывается то же самое задание. На самом деле, это разные задания одного проекта, поскольку pNNN означает только номер проекта, который в свою очередь может содержать тысячи или десятки тысяч блоков-заданий. Чтобы убедиться в том, что это действительно другое задание, нужно посмотреть в протокол (в файле “FAHlog.txt”) и обратить внимание на числа вида (Run 33, Clone 82, Gen 3) после “Project: NNN” в одной из строчек, которые соответствуют фазе начала расчетов. Номера после “Run”, “Clone”, “Gen” будут разными в каждом случае.
По какому принципу насчитываются очки за выполненные задания?
Каждый проект имеет определенное количество очков, которые насчитываются участникам за успешное выполнение его заданий. Количество очков зависит от времени, которое тратится на вычисления эталонной машиной. Эталонная машина имеет процессор Pentium IV 2.8ГГц с включенной SSE2, и выполняет только консольный Linux-клиент Folding@Home. После определения времени выполнения задания, количество очков, которое будет насчитываться за него, вычисляется по формуле:
points = 110 * (daysPerWU),
где daysPerWU – количество дней, которое заняли расчеты.
Время, которое идет на расчеты в других конфигурациях, может отличаться в ту или другую сторону, но для одной и той же конфигурации при тех же условиях выполнения время вычислений всех заданий одного проекта является одинаковым. Этим Folding@Home отличается от некоторых других проектов распределенных вычислений, где однотипные задания могут иметь разные времена расчета в зависимости от достижения определенных условий.
Кроме очков, которые насчитываются за потраченное время, некоторые проекты имеют так называемые «бонусные» очки. Они предназначены тем проектам, задания в которых являются экспериментальными или требуют очень много ресурсов, в сравнении с нормальными заданиями, и поэтому более требовательны к конфигурации. По замыслу авторов проекта, бонусные очки являются наградой тем участникам, которые подключают к проекту современные компьютеры, тратятся на приобретение дополнительной памяти. По состоянию на ноябрь 2005, дополнительные очки давались за задания, выполняемые ядром QMD и большие Gromacs-задания, которые выдаются участникам, поставившим в конфигурации опцию «Получать большие задания».
На странице проектов указано, сколько очков дается за выполнение задания определенного проекта. Бонусные очки отдельно не определены, показывается только общее количество.
За не полностью просчитанные задания насчитывается только часть очков, которая пропорционально соответствует выполненной части задания. Такие задания потом могут пойти для повторных просчетов другим участникам проекта.
Как сделать так, чтобы результаты с нескольких компьютеров засчитывались на одно имя?
Достаточно указать в конфигурации всех компьютеров одно и то же имя пользователя (username), например “romko” :) Все. Никаких дополнительных установок. Честно :)) Нужно только не забывать о регистре, и поэтому “Romko” и “romko” – это разные имена.
Один и тот же пользователь может быть членом нескольких команд одновременно, если он подключил к проекту несколько компьютеров. Для этого достаточно указать разные номера команд в конфигурации его разных компьютеров.