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

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

Folding@Home и Linux



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

Автор - Silver Ghost; сбор дополнительной информации - nikelong


 

 

Проект folding@Home и Linux

 



Этот материал - "зеркало" статьи, опубликованой здесь.


Folding@home - это проект распределённых вычислений, который занимается расчетом сворачивания белков. Как написано на сайте:

Наша цель: понять сворачивание белков, агрегацию белков и связанные с ним болезни.

Люди со всего мира скачивают и запускают программу объединяясь и образуя один из крупнейших суперкомпьютеров в мире. Каждый новый компьютер приближает нас к цели. Folding@home использует новые компьютерные методы вместе с принципом распределенных вычислений для решения проблем, которые в миллионы раз сложнее тех, которые уже преодолены.

Проделываем установку клиента для консоли, как универсальный метод.

Установить клиент под Линукс не составляет никакого труда. Делаем раз - скачиваем сам Linux Console клиент с офсайта в папку, откуда и будем запускать клиента (пример, /home/user/folding@home).

$ wget http: //www.stanford.edu/group/pandegroup/release/FAH504-Linux.exe

Не смотрите, что расширение “ехе”. Это, видимо, юмор такой у разработчиков :). Далее устанавливаем права на запуск:

$ chmod 755 /home/user/folding@home/FAH504-Linux.exe

Запускаем сначала вручную, чтоб провести первоначальную настройку:

$ cd /home/user/folding@home
$ ./FAH504-Linux.exe

Вносим все данные, которые нас просят (ник, команда (Номер команды Украины - 2164), режим работы, etc) и видим как программа начинает работать. Но не хотим же мы видеть постоянно висящее окно терминала с процессом работы? Зачем оно нам надо, если есть прекрасная программа screen для фонового запуска процессов. Останавливаем работу клиента с помощью Ctrl+C и пишем простой скрипт:

#!/bin/bash
cd /home/user/folding@home
screen -d -m ./FAH504-Linux.exe

и сохраняем его в ту же папку, где и клиент с именем start.sh, ставим права запуска на него:

$ chmod 755 /home/user/folding@home/start.sh

Теперь запускаем с помощью этого скрипта клиент и можем проконтролировать работу используя команду:

$ screen -r

Мы подключимся в то “окно” консоли, где работает клиент folding@home. Для отключения от этого окна нажимаем Ctrl+A D. Ни в коем случае не Ctrl+C - это остановит работу клиента.

Теперь нам надо добавить в автозапуск этот скрипт. Для этого добавляем строку:

su -l user -c ‘/home/user/folding@home/start.sh’

в файл /etc/rc.local для Ubuntu или /etc/rc.d/rc.local для RedHat-like систем.

Внимательный читатель поймет, что везде “user” надо заменить на Ваше имя пользователя. ;)

Все, теперь мы помогаем расчитывать сворачивание белков.




Привязка к ядрам (Affinity) для платформы Linux.

Она необходима для повышения ППД системы. Оправданно использовать Affinity на 2-х и 4-х ядерных процессорах.

Устанавливаем пакет "sсhedutils":

В консоли или в скрипте запускаем клиента строкой вида:
Жирным шрифтом выделен номер ядра/процессора в системе.
Вешать можно на любое количество ядер/процессоров, номера указываются через запятую (запись вида "0,1,2,3").
Привязка по ядрам должна быть 0,1 и 2,3.
Клиенты привязываются парами. По два на каждую пару ядер.
установив программу класса RMClock и изменять профиль работы в самой ОС.



Разное:

Ссылки:


| 22.11.2007 23:01