Folding@home

Turinys

  1. Folding@home
    1. Įžanga
    2. Eiga
      1. Diegimas
      2. Nustatymai
    3. Daugiabranduoliniai CPU ir Folding@home
      1. Paleidimo scriptų redagavimas
    4. Patobulinimai
    5. Pabaiga
    6. Daugiau
      1. Nuorodos
      2. Panašūs puslapiai

Įžanga

Tai paskirstytųjų skaičiavimų projektas, kuomet daug viso pasaulio kompiuterių bando surasti baltymų lankstymosi dėsnius. Padarius tai, galima tikėtis sukurti vaistus nuo tokių kol kas nepagydomų ligų, kaip vėžys, Alzheimerio sindromas, AIDS ir kitų.

Eiga

Diegimas

Sukuriame laikiną katalogą darbastalyje, pavadindami jį "fah", ir įeiname į jį:

mkdir ~/Desktop/fah
cd ~/Desktop/fah

Parsisiunčiame visas reikalingas folding@home bylas iš AUR

wget http://aur.archlinux.org/packages/foldingathome/foldingathome/PKGBUILD
wget http://aur.archlinux.org/packages/foldingathome/foldingathome/foldingathome.conf.d
wget http://aur.archlinux.org/packages/foldingathome/foldingathome/foldingathome.install
wget http://aur.archlinux.org/packages/foldingathome/foldingathome/foldingathome.rc.d

Kompiliuojame folding at home programą:

makepkg -c PKGBUILD

Peržiūrime gautas sukompiliuotas bylas:

ls

Bus viena byla foldingathome-versija-pkg.tar.gz

Versija gali skirtis esant atnaujinimams foldingathome kliento. Toliau naudokite savo versiją, kurią parodė komanda ls. Rašant šį straipsnį, buvo sukompiliuota tokia byla:

foldingathome-504-3-i686.pkg.tar.gz

Įdiegiame klientą:

sudo pacman -U foldingathome-504-3-i686.pkg.tar.gz

Nustatymai

Pereiname į katalogą /opt/fah (šiame kataloge yra suinstaliuota klientas):

cd /opt/fah

Sukonfigūruojame klientą:

sudo ./FAH504-Linux.exe -configonly

Programa paklausk Jūsų keletą klausimų:

User name [Anonymous]?

Vartotojo vardas. Įveskite savo pageidaujamą. Naudojantis skirtingais kompiuteriais, veskite tą patį vardą.

Team Number [0]?

Komandos numeris. 36816 yra Lietuvos komandos numeris. Įveskite 36816

Ask before fetching/sending work [no/yes]?

Paklausti prieš siunčiant darbą? Atsakykite "no". Taip programa netrukdys Jūsų :)

Use proxy? [no]

Naudoti proxy? Greičiausiai Jums to nereikia, atsakykite "no"

Allow receipt of work assignments and return of work results greater than 5MB in size (such work units may have large memory demands) (no/yes) [no]?

Ar leisti darbo dalis didesnes kaip 5MB? Jei Jūs turite 512MB ir daugiau RAM, atsakykite "yes"

Change advanced options?

Pakeisti kitus nustatyus? Atsakome "yes"

Core priority (idle/low)?

Branduolio prioritetas. Paliekame "idle"

Disable higly optimized assembly code [yes/no]?

Išjungti labai optimizuotą surinkimo kodą? Atsakome "no"

Interval, in minutes, between chekpoints (3-30) [15]?

Laiko intervalas tarp tarpinių išsaugojimų? Nustatome 15

Memory, in MB, to indicate (jūsųkompiuterioRAMkiekis available) [RAMkiekis]?

Leidžiame naudoti visą RAM kiekį. Spaudžiame Enter

Request work units without deadlines (no/yes)?

Lankstyti darbo vienetus be užbaigimo termino? Atsakome "no"

Set -advmethods flag always, requesting new advanced scientific cores and/or work units if available? (no/yes)?

Ar nuolat naudoti naujus klientus/darbo vienetus, jei tokių yra? Atsakome "yes"

Ignore any deadline information (mainly useful if system clock frequently has erros) [no/yes]?

Ignoruoti darbo vienetų sulankstymo terminų informaciją? Atsakome "no"

Machine ID (1-8)

Kliento numeris. Paliekame "1"

Startuojame klientą:

sudo /etc/rc.d/foldingathome start

Sėkmingai startavus klientui, nepamirštame automatiškai startuoti su kompiuterio įjungimu:

sudo nano -w /etc/rc.conf

Ir įrašome į eilutę DAEMONS=(kitiservisai @foldingathome) Turintiems vieno CPU branduolio kompiuterius, toliau skaityti skyrių "Patobulinimai"

Daugiabranduoliniai CPU ir Folding@home

Pentium savininkams su hyperthread: visas tolimesnis konfigūravimas yra toks pats, kaip ir turintiems atskirus fizinius procesorius (branduolius) Jei yra paleistas klientas, sustabdome jį:

sudo /etc/rc.d/foldingathome stop

Nukopijuojame visą kliento katalogą:

sudo cp -r /opt/fah /opt/fah2

Pašaliname darbo vienetą iš antrosios kopijos (nėra tikslo ir naudos, jei tą patį darbą atliksite du kartus):

sudo rm -rf /opt/fah2/work  /opt/fah2/queue.dat

Toliau sukonfigūruojame antrąjį klientą. Viskas gali būti analogiškai kaip ir ankstesnėje konfigūracijoje, išskyrus klausimą Machine ID (1-8)? Į šį kausimą atsakome skaičiumi "2" (antras klientas tame pačiame kompiuteryje) Jei turite mažiau kaip 1GB RAM, rekomenduojama nustatyti dideles darbo dalis TIK VIENAM KLIENTUI! Į klausimą Allow receipt of work assignments and return of work results greater than5MB in size (such work units may have large memory demands) (no/yes) [no]? antrajam klientui atsakome "no". Kitaip dėl RAM atminties trūkumo gali sulėtėti Jūsų kompiuteris.

Paleidimo scriptų redagavimas

Linksmoji dalis :) Kiekvienam klientui sukuriame atskirus valdymo scriptus. Turi būti bet vieną kartą paleistas foldingas. Jei to nepadarėme iki šiol, įvykdome sekančias komandas:

sudo /etc/rc.d/foldingathome start
sudo /etc/rc.d/foldingathome stop

Redaguojame bylą /etc/rc.d/foldingathome:

sudo nano /etc/rc.d/foldingathome

Surandame eilutes

. /etc/rc.conf
. /etc/rc.d/functions
. /etc/conf.d/foldingathome

Ir po jomis įrašome šią eilutę (kliento versiją):

FAH_VER=504

Toliau surandame eilutę

PID=`pidof -o %PPID /opt/fah/FAH504-Linux.exe

ir pakeičiame ją į tokią:

PID=`pgrep -f /opt/fah/FAH${FAH_VER}-Linux.exe`

Dar dviejuose vietose toje pačiame byloje rasite /opt/fah/FAH504-Linux.exe. Šią išraišką būtina pakeisti į

/opt/fah/FAH${FAH_VER}-Linux.exe

Surandame eilutes:

add_daemon foldingathome
rm_daemon foldingathome

ir jas pakeičiame tokiomis:

add_daemon foldingathome1
rm_daemon foldingathome1

Pervadiname scriptą kitu vardu, tai apsaugos nuo perrašymo atnaujinant foldingą:

sudo mv /etc/rc.d/foldingathome /etc/rc.d/foldingathome1

Padarome paleidimo scripto antrą kopiją:

sudo cp /etc/rc.d/foldingathome /etc/rc.d/foldingathome1 /etc/rc.d/foldingathome /etc/rc.d/foldingathome2

Redaguojame antrąjį scriptą, pakeisdami visur, kur tik rasime /opt/fah į

/opt/fah2

Turėtų būti 12 keitimų (arba daugiau :) ). Surandame eilutes

add_daemon foldingathome1
rm_daemon foldingathome1

ir pakeičiame jas į:

add_daemon foldingathome2
rm_daemon foldingathome2

Startuojame abu klientus:

sudo /etc/rc.d/foldingathome1 start
sudo /etc/rc.d/foldingathome2 start

Abiems klientams sėkmingai startavus, nepamirštame automatiškai paleidinėti persikrovus kompiuteriui:

sudo /etc/rc.conf

ir įrašome į DAEMONS eilutę šias reikšmes:

DAEMONS=(''kitiservisai'' @foldingathome1 @foldingathome2)

Jei prieš tai atlikote visą konfigūravimą vienam klientui, ir įrašėte į DAEMONS reikšmę @foldingathome (be skaičiaus gale), ištrinkite ją. Turi likti tik @foldingathome1 @foldingathome2

Patobulinimai

Galima kiek viename iš scriptų /etc/rc.d/foldingathomex papildyti eilutes stat_busy "Starting Folding@Home ir stat_busy StoppingFolding@Home" panašiomis reikšmėmis: on Core 1 ir atitinkamai sekančiame scripte "on Core 2", pvz. pirmajam klientui:

stat_busy "Starting Folding@Home on Core 1"
stat_busy "Stopping Folding@Home on Core 1"

Pabaiga

Nepamirškite ištrinti laikino katalogo, kuriam kompiliavote programą:

rm -rf ~/Desktop/fah

Yra ir kitokių versijų foldingo: SMP, GPU, PS3. Viską rasite nuorodose. Sutvarkius klientus pagal šį aprašymą, galima tiesiog pamiršti apie foldingą. Jis tiesiog dirbs savo darbą :)

Daugiau

Nuorodos

Panašūs puslapiai

  1. ArchLinux/FoldingAtHome