Distributed Computing team of Ukraine | Ukraine - Українська Команда Розподілених Обчислень | Ukraine - Украинская Команда Распределённых Вычислений - Описания проектов

http://distributed.org.ua/index.php?go=Pages&in=view&id=23
Распечатать

Работа ФАХ Оффлайн



версія українською

автор - nikelong


 


Работа ФАХ Оффлайн

 

Данная статья предназначена для тех людей, которые имеют желание участвовать в проекте F@H, но по каким-то причинам не имеют доступа к сети Интернет.

Рассмотрим простую ситуацию: у вас дома есть компьютер без Интернет (назовём его «клиент»), а у вашего знакомого (или у Вас на работе) есть возможность загружать/отправлять информацию зарубеж. Этот компьютер назовём «сервером».

Ниже описано как при помощи данного оборудования организовать так называемую «оффлайн – ферму».

В этой ситуации оба компьютера работают под управлением OS Windows, используются консольные версии клиента.

Принцип работы прост: на «сервере» устанавливается клиент F@H, он загружает задание (work unit – WU), Вы приносите WU на «клиент», обрабатываете его, и возвращаете обратно на «сервер», который отправляет его организаторам и получает новый WU для обработки.

Перед началом работы рекомендую ещё раз ознакомится со статьей folding@home: быстрый старт

Ваши действия:

  1. Чтобы получить «свежий» WU на «сервере» создаём отдельную папку. Назовём её просто – «1».
  2. В неё копируем 5 ядер, и сам клиент – «FAH504-Console.exe»
  3. Запускаем, и конфигурируем клиент уже под «клиент» -компьютер.В настройках ставим «запускать как сервис»-пусть считает себе в фоне.
    Помните, что на одном компьютере нельзя запустить 2 копии клиента с одинаковым «machine ID».
  4. Клиент настроили, он скачал новое задание, приступил к расчёту.
  5. Останавливаем его.
  6. Запускаем редактор реестра (пуск – выполнить – regedit).
  7. Ищем ветку HKEY_LOCAL_MACHINESOFTWAREPandeGroupFolding@Home. В ней находится номер UserID – то, что Вам понадобится на «клиенте».
  8. Экспортируем этот раздел: сохраняем файл реестра в созданную нами ранее папку «1». Если на «сервере» установлена Win XP, а на «клиенте» что-то постарше, то перед сохранением выбираем соответствующий тип файла. Теперь в папке «1» находятся: клиент, файл конфигурации клиента, папка с WU, ядра для расчётов, файл с фрагментом реестра.
  9. Переносим всё это на «клиент».
  10. Запускаем файл реестра – добавляем информацию UserID в реестр. Этот шаг нужен для того,чтобы клиент сразу приступал к обработке WU.
  11. Копируем папку «1» в удобное для вас место
  12. Конфигурируем клиент: пуск – выполнить –
    FAH504-Console.exe –config
    Ещё раз проверяем правильность написания Вашего ника, номер нашей команды (2164). Ставим параметр «запуск сервисом» = ДА.
  13. Перезагружаемся. Если всё нормально – значит к проекту F@H присоединился ещё один процессор.
  14. Периодически заглядываем в файл unitinfo.txt , там смотрим сколько процентов уже обработано.
  15. По окончании обработки останавливаем клиент, переносим папку «1» на «сервер»
  16. Просто запускаем клиент. Он отправляет готовое задание, и закачивает новое для обработки. Цикл повторяется. Только теперь Вам уже не нужно повторно добавлять информацию в реестр.

Это был рассмотрен простейший способ. Если же Вы имеете доступ например к десятку компьютеров, то:

  1. Создаём 10 пустых папок. Т.е. повторяем пункт «1» десятикратно.
  2. Повторяем пункты 2, 3, 4, 5.
  3. В оставшиеся 9 папок переносим такие файлы: все 5 ядер, FAH504-Console.exe, client.cfg.
  4. Поочередно запускаем клиенты. Они закачивают новые задания,и потом Вы их останавливаете.
  5. После проделанных манипуляций вы имеете 10 свежезагруженых заданий в 10-ти папках, которые ждут своей обработки
  6. Повторяем пункты 7, 8, 9
  7. На каждом из компьютеров повторяем пункты 10, 11, 12, 13, 14
  8. Пункты 15, 16 выполняем по необходимости.

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

Ядра можно скопировать только в одну папку, а потом уже на месте размножить по остальным компьютерам. Это позволит сэкономить до 70-90% места на носителе, или вообще пользоваться дискетой.

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

Для начала ещё раз обращаем внимание на статью Как пользоваться UDmonitor? Итак, прочитали статью, UDmonitor установили и настроили.
  1. Создаём нужное Вам количество слотов (в нашем случае их 11: 1-й не трогаем, 2-11 будем переносить)
  2. Загружаем в них задания
  3. Ищем папку "UDm cache". В ней обнаруживаем 11 папок
  4. Просто перемещаем папки 2-11 на флэшку (дискеты, диск, и т.д.). Папки не переименовываем.
  5. На флэшку также переносим файл реестра (см. выше пункты 7,8)
  6. После проделанных манипуляций вы имеете 10 свежезагруженых заданий в 10-ти папках, которые ждут своей обработки
  7. На каждом из компьютеров повторяем пункты 10, 11, 12, 13, 14. Т.е. на компьютерах «клиентах» НЕ нужно устанавливать программу UDmonitor
  8. Пользуемся (по Вашему желанию) утилитой FAHspy для мониторинга клиентов.
  9. По окончании задания на каком-либо компьютере останавливаем клиент, приносим папку на «сервер».
  10. Перемещаем эту папку в каталог "UDm cache"
  11. Открываем в UDmonitor вкладку «КЭШ», видим там «результат ххх Кб».
  12. Щелчёк правой кнопкой мыши по нему – «отправить результат» - и вот ещё «+1» задание в копилку проекта.

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

Поэтому в дальнейшем весь процесс переноса заданий сведётся к копированию каталогов с клиентом (даже без 5-ти ядер), и запуску его как сервиса.

Удачных расчётов!



| 16.10.2006 22:48