Folding@home
Turinys
Įž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.exeSurandame 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