Руководство по клиенту Folding@Home версии 7

1 мая 2011, воскресенье 22:06
для раздела Блоги
Версия руководства 1.02, последнее исправление: 14.05.11

О том, что такое Folding@Home, зачем он нужен и с чем его едят
Здесь должен был быть текст, в котором я популярно излагаю суть проекта Folding@Home. Однако, начав писать его, я понял, что так или иначе получается художественный пересказ уже опубликованных материалов на эту тему. Поэтому, дабы не тратить напрасно время на разжёвывание уже неоднократно разжёванного, я просто дам ссылки.
http://distributed.ru/pro/fah — Российский сайт, посвящённый распределённым вычислениям вообще.
http://tscrussia.com/ - Сайт команды TSC! Russia. Выглядит несколько заброшенным, но это временно (надеюсь).
http://folding.stanford.edu/English/Main — Собственно сайт Стэнфордского университета, посвящённый проекту (англ.).
Ну вот теперь, когда я так лихо прохалявил со вступлением, можно перейти и к основной части Итак...

Руководство по клиенту Folding@Home v7
Часть 1: установка

Это руководство по установке написано для клиента Folding@Home версии 7.1.24, для семейства операционных систем M$ Windows. Процесс установки для других операционных систем будет отличаться от описанного.

Важно!
Клиент Folding@Home версии 7 на данный момент находится в стадии БЕТА ТЕСТИРОВАНИЯ, поэтому при его установке, настройке и эксплуатации возможны проблемы. Будьте к этому готовы. Не стесняйтесь писать сообщения в эту тему, если возникли глюки затруднения. Не сможем помочь, так посочувствуем.

Отличие клиента Folding@Home 7-й версии от того, что было до него
Раньше каждому клиенту соответствовало своё счётное ядро, или несколько однотипных ядер. Таким образом существовали разные клиенты для видеокарт AMD, nVidia и вычислений на процессоре. Клиент v7 является универсальным - он может использовать любые типы ядер и предоставляет централизованное управление ими через удобный (ну... по идее удобный...) графический интерфейс. Такой подход упрощает жизнь и пользователям и разработчикам, и это хорошо. ( Однако клиент v7 находится сейчас в стадии ранней беты, так что упростилось далеко не всё )

Шаг 0
Приступим к делу. Для установки клиента F@H его нужно сначала скачать .
Последнюю версию клиента можно найти здесь: https://fah-web.stanford.edu/projects/FAHClient/wiki/BetaRelease

Шаг 1


Начинаем установку - запускаем инсталлятор.

Шаг 2


Ознакомьтесь с лицензионным соглашением. Если вы с ним согласны — нажмите "I Agree", если не согласны — пожалуйста, передумайте и согласитесь .

Шаг 3


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

Шаг 4


Осторожно: бета-версия!
Здесь важно выбрать именно Install just for me (установка только для этого пользователя), поскольку выбор Install for everyone (установка для всех пользователей) может приводить к неработоспособности клиента из-за неправильно назначенных прав доступа.

Шаг 5


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

Шаг 6


… а здесь - папку, в которой будут находиться задания (Work Unit'ы). Инсталлятор кладёт в эту папку конфигурационный файл клиента, лог-файл, папку для счётных ядер и папку для заданий.

Осторожно: бета-версия!
Если вы устанавливаете клиент из учётной записи пользователя, не имеющей прав администратора, то НЕОБХОДИМО ввести здесь тот же путь, что и в шаге 5! Иначе будут проблемы.


При нажатии "Next" появится окошко, предупреждающее о том, что если папка c заданиями расположена в папке самого клиента, то она всегда будет удаляться при его деинсталляции. Нажмите ОК.

Шаг 7


Ответственный момент — можно выбрать как клиент будет запускаться. Доступны следующие варианты:
    1.Automatically start with FAHControl — автоматически запускать fahclient.exe при запуске FAHControl – графического интерфейса, предназначенного для управления клиентом.
    2.Automatically start as a console application at login time — запускать fahclient.exe как консольное приложение при входе пользователя в систему. При этом открывается окно консоли и сворачивается в закладку на панели задач. Аналогично поведению консольного клиента 6-й версии.
    3.Automatically start as a system service at boot time — запускать fahclient.exe как системную службу при загрузке ОС. ВНИМАНИЕ! Это работает только для SMP и BigAdv. Клиенты для видеокарт не могут запускаться как сервис.
    4.Start manually - запускать fahclient.exe вручную.
    Чекбокс "Automatically start FAHControl at login time" добавляет FAHControl.еxе в автозапуск для текущего пользователя (или для всех, если выбрана установка "для всех"). Запуск происходит при входе пользователя в систему.
Осторожно: бета-версия!
Если вы устанавливаете клиент из учётной записи пользователя, не имеющей прав администратора, то FAHControl не будет загружаться автоматически, а автозапуск клиента сработает только если выбрать запуск службой. При необходимости запускать автоматически какой-либо другой вариант придётся настраивать это вручную.

Шаг 8


Осторожно: бета-версия!
Если у вас в системе не одна, а несколько видеокарт, лучше выберите "SMP". Настройка клиента для работы в системах с несколькими видеокартами будет рассмотрена далее.

Шаг 9


Установка завершена. После завершения установки клиент запустится автоматически в конфигурации, заданной на шаге №8.

Но это ещё не всё. Откроется окно Windows Security Alert, запрашивающее разрешения для FAHClient.exe.


Нужно разрешить работу и в Private networks, и в Public networks (отметить оба пункта) и кликнуть "Allow Access".
Вот теперь — всё!
Осторожно: бета-версия!
При установке из учётной записи пользователя, не имеющей прав администратора НЕ СОЗДАЮТСЯ ярлыки ни на рабочем столе, ни в меню "Пуск" (точнее, они создаются, но для учётной записи администратора).
Если Вы работаете в ограниченной учётной записи, FAHControl.exe нужно запускать от имени администратора.

Руководство по клиенту Folding@Home v7
Часть 2: настройка BigAdv и SMP+GPU конфигураций клиента v7

Во второй части руководства описаны настройки клиента v7 для счёта BigAdv заданий или одновременного запуска заданий на SMP и ОДНОЙ видеокарте. Настройка счёта на нескольких видеокартах — процесс чуть менее тривиальный и будет рассмотрен в 3-й части.

Небольшой словарик
Прежде чем продолжать дальше необходимо договориться о том, что и как называть, иначе ничего не будет понятно.
    Сore — Счётное ядро. Программа выполняющая, собственно, научные вычисления. Перечень можно найти тут: http://fahwiki.net/index.php/Cores (англ.)
    Slot – Слот. Конфигурационные параметры для конкретного счётного ядра.
    Сlient — Клиент. Этим термином обозначается как вся программа, так и конкретно та её часть (fahclient), которая отвечает за запуск счётных ядер и управление ими. Иногда этим же словом обзывают само счётное ядро. В общем, путаница та ещё.
    Я буду обзывать "клиентом" и всю программу и fahclient'a, потому что более удачных терминов не придумал.
    Work unit (WU) – "Жаба" (от англ. "Job"), задание. Некий набор исходных данных, перерабатываемый счётным ядром в результат.
    Uniprocessor WU — задание, для однопоточных вычислений. Использует одно процессорное ядро, считается долго, даёт мизерное количество очков. Годится для старых однопроцессорных машин.
    SMP WU – задание для многопоточных вычислений. Требует наличия как минимум двух процессорных ядер, даёт заметно большее количество очков, чем однопроцессорное + для СМП заданий есть система бонусов, умножающая количество очков на некий коэффициент, зависящий от скорости возврата результата (чем быстрее посчитается и отправится задание — тем выше бонус-фактор)
    BigAdv WU – "БигЖаба", задание для многопоточных вычислений, но большое . Требует быстрого интернета (само задание — около 25МБ, результат — около 100МБ) и быстрого процессора (около 4ГГц) с не менее чем восемью ядрами (или 4 реальных + 4 HyperThreading). Считается несколько суток в режиме 24/7. Система бонусов действует и здесь, при достаточно высокой скорости счёта даёт в разы больше очков, чем обычный СМП.
    GPU WU – задание для видеокарт. Сравнительно небольшие и "дешёвые", но быстро считающиеся задания, за счёт чего количество очков в сутки весьма высокое. Системы бонусов (пока) нет.

Примечания для владельцев видеокарт AMD!
    * Новое счётное ядро для видеокарт серий 5*** и 6*** (Сore 16) вызывает зависания системы при просмотре видео с включённым аппаратным ускорением в системах с видеокартами серии 6*** на драйверах вплоть до 11.4 включительно.
    * Нынешняя версия счётного ядра для видеокарт серий 5*** и 6*** сильно процессорозависима, и один слот с GPU AMD использует одно процессорное ядро или поток. Соответственно, при использовании SMP + GPU AMD нужно указать в настройках SMP-слота меньшее количество потоков, чтобы освободить ресурсы для GPU-ядра.
    * Core 16 находится в стадии раннего бета-тестирования, так что всё должно измениться к лучшему. Когда-нибудь .


Ну что ж, перейдём, собственно, к настройкам.
Подразумевается, что Вы успешно выполнили действия, описанные в первой части руководства. Если так, то перед Вами предстало вот такое вот окно.



Оно нас совершенно не устраивает, поскольку в нём слишком мало информации и элементов управления . Потянем окошко за правый край...



И увидим выпадающее меню, в котором выбран пункт "Novice". Поменяем его на "Expert".



Вот это другое дело!
Нажимаем на Configure. Перед нами меню конфигурации клиента. Так как наша задача — добавить счётное ядро или изменить его тип, нам интересен раздел Slots.




BigAdv
Тем из нас, кому нужно изменить тип клиента с обычного SMP на BigAdv нужно кликнуть Edit.
SMP+GPU
Тем же, кто хочет добавить к SMP видеокарточку, нужно добавить новый слот, нажав Add.
В обоих случаях открывается окно конфигурации слота.



BigAdv
В случае с настройкой счёта "Бигжаб", нужно просто добавить в Extra slot options
client-type bigadv
SMP+GPU nVidia
В случае с видеокартой nVidia выбираем в нём GPU и нажимаем "OK".

SMP+GPU AMD
Если же речь идёт о видеокарте AMD серии Radeon 5*** или 6***, то опять-таки выбираем GPU и добавляем в Extra slot options
client-type advanced
Как видно, в двух случаях из трёх нужно редактировать Extra slot options. Это делается так: в разделе Extra slot options нужно нажать "Add" – появится небольшое окошко "Edit options" в поле "Name" которого нужно ввести "client-type", а в поле "Value" – "advanced" или "bigadv". И нажать ОК, разумеется.



Сохраняем новую конфигурацию (кнопка Save в окне конфигуратора), и всё.
Готово!

Руководство по клиенту Folding@Home v7
Часть 3: FAQ по нетривиальным вопросам настройки клиента v7

Q: У меня несколько видеокарт, я создал слоты для всех, но работает только та, к которой подключён монитор. Почему?
A: Нужно, чтобы каждая видеокарта была подключена к монитору. Если есть монитор с несколькими входами, то можно подключить видеокарты к его входам. Если же входов нет / не хватает, то нужно использовать так называемый Dummy Plug (руководство по тому, как его сделать (англ.): The 30 Second Dummy Plug - Overclock.net) Необходимо расширить рабочий стол на все мониторы (реальные или "виртуальные").

Q: У меня две разные видеокарты (например GeForce 8800 и GTX480), клиент неправильно определяет их и пишет, что 8800 — это GTX480 и наоборот.
A: Автоопределение видеокарт в клиенте v7 глючило, глючит и будет глючить, видимо, ещё долго. Так что это нормально. А бороться с этим эффектом нужно так:
1) Сначала нужно определиться с "правильным порядком" видеокарт. Для этого подойдёт популярная утилита GPU-Z. В каком порядке она перечисляет видюшки — тот и правильный.
2) Нужно посмотреть, в каком порядке перечислены видеокарты в разделе System Info клиента.
3) Если порядок не совпадает (а это почти наверняка так), нужно добавить в слоты видеокарт (через Extra slot options) следующие параметры: в одном слоте выставить gpu-id 0 и gpu-index 1, во втором — наоборот gpu-id 1 и gpu-index 0.
Важно заметить, что этот шаманский танец с бубном... Гм... Метод проверен только для случая двух разных карт с чипами одного производителя. Как себя поведут 3 разные карты или две карты, одна из которых на чипе nVidia, а вторая — AMD я пока не знаю.

Q: Почему если указать в настройках SMP слота менее восьми потоков, то клиент не получает BigAdv задания несмотря на ключ [client-type bigadv] ?
A: Такова официальная позиция разработчиков F@H — им требуется максимально быстрый "оборот" заданий, потому что каждое новое поколение заданий генерируется на основе предыдущего. Они считают, что 8 потоков — это минимальное количество потоков, гарантирующее высокую скорость вычислений (двухсокетный Xeon Paxville MP не видели, наверное). Параллельный счёт BigAdv на процессоре и GPU-заданий на видеокартах также официально не приветствуется т.к. приводит к снижению скорости счёта "Бигжабы".

Q: А можно ли всё-таки считать "Бигжаб" на процессоре с количеством потоков менее 8?
A: В текущей версии клиента (7.1.24) можно получать BigAdv задания на компьютере с менее чем 8-поточным процессором. Для этого нужно указать 8 потоков в конфигурации слота (Configuration>Slots>нужный_слот>CPUs>ввести '8'), после получения задания поставить SMP-слот на паузу* , понизить количество потоков до того, которым в действительности обладает процессор (иначе будет очень медленно) и снять слот с паузы. Требуется очень резвый шести- или, тем более, четырёхъядерный процессор, чтобы от этого был толк.

*чтобы поставить на паузу отдельный слот, нужно кликнуть на нём правой кнопкой мыши и в появившемся меню выбрать "pause", чтобы снять слот с паузы нужно в том же меню выбрать "fold".

Q: Что такое?! Клиент v7 позволяет менять количество потоков у SMP только на числа, кратные двум! Мне нужно нечётное количество потоков для SMP + GPU, как это сделать?
A: Вводить значение в поле напрямую, без использования "счётчика". После изменения количества потоков нужно перезапустить SMP-слот, поставив его на паузу, а затем сняв с неё. Нужно иметь ввиду, что нечётное количество потоков более 3-х вызывает проблемы с SMP заданиями серий 10*** и 11*** (преждевременное завершение задания с ошибкой).

Q: А почему в 3-й части "Руководства" нет картинок?
A: Человек, которого интересует траходром имени Зигмунда Фрейда какой-либо нетривиальный вопрос настройки клиента v7, должен уметь находить то, что ему нужно без картинок .
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают