Krótka konfiguracja BOINC Managera. Dobrowolne przetwarzanie na maszynie Linux Maszyna wirtualna Serwer BOINC

|

Zapisz i zamknij plik, a następnie uruchom klienta boinc, aby serwer połączył się z SETI@home.

Uruchomienie usługi klienta boinc sudo

4: Sprawdzanie nowego hosta

5: Sprawdzanie statusu serwera

Aby zobaczyć stan serwera lub zadań użyj komendy:

To polecenie udostępnia ogólne informacje o SETI@home, a także raportuje bieżące zadania uruchomione na tym konkretnym hoście.

Dane wyjściowe tego polecenia wyglądają mniej więcej tak:

boinccmd --get_simple_gui_info
======== Projekty ========
1) -----------
nazwa: SETI@home
główny adres URL: http://setiathome.berkeley.edu/
nazwa_użytkownika: stmiller
nazwa_zespołu: SETI.USA
udział w zasobach: 100.000000
user_total_credit: 33159.675770
user_expavg_credit: 1409.252845
host_total_credit: 0,000000
host_expavg_credit: 0,000000
nrpc_failures: 0
master_fetch_failures: 0
Oczekiwanie na pobieranie główne: nie
Oczekujące RPC harmonogramu: nie
Oczekujące przesyłanie strumieniowe: nie
dołączone za pośrednictwem Account Managera: nie
zakończył: nie
zawieszone poprzez GUI: nie
nie proś o więcej pracy: nie
użycie dysku: 0,000000
ostatni RPC: 1423684749.199424
pobrane pliki projektu: 0.000000
Adres URL interfejsu graficznego:
nazwa: Tablice ogłoszeń
opis: Koresponduj z innymi użytkownikami na forach dyskusyjnych SETI@home
Adres URL: http://setiathome.berkeley.edu/forum_index.php
Adres URL interfejsu graficznego:
imię: Pomoc
opis: Zadawaj pytania i zgłaszaj problemy
Adres URL: http://setiathome.berkeley.edu/forum_help_desk.php
Adres URL interfejsu graficznego:
nazwa: Twoje konto
opis: Wyświetl informacje o swoim koncie
Adres URL: http://setiathome.berkeley.edu/home.php
Adres URL interfejsu graficznego:
nazwa: Twoje preferencje
opis: Przeglądaj i modyfikuj swoje preferencje dotyczące komputera
Adres URL: http://setiathome.berkeley.edu/prefs.php?subset=global
Adres URL interfejsu graficznego:
nazwa: Twoje wyniki
opis: Wyświetl wyniki obliczeń i pracę z ostatniego tygodnia (lub więcej).
Adres URL: http://setiathome.berkeley.edu/results.php?userid=9351194
Adres URL interfejsu graficznego:
nazwa: Twoje komputery
opis: Wyświetl listę wszystkich komputerów, na których uruchamiasz SETI@Home
Adres URL: http://setiathome.berkeley.edu/hosts_user.php?userid=9351194
Adres URL interfejsu graficznego:
Nazwij swoją drużynę
opis: Wyświetl informacje o swoim zespole: SETI.USA
Adres URL: http://setiathome.berkeley.edu/team_display.php?teamid=115396
Adres URL interfejsu graficznego:
imię: Darowizna
opis: Przekaż darowiznę na rzecz SETI@home
Adres URL: http://setiathome.berkeley.edu/sah_donate.php
======== Zadania ========
1) -----------
nazwa: 25fe12ab.24545.17667.438086664204.12.226_0
Nazwa WU: 25fe12ab.24545.17667.438086664204.12.226
URL projektu: http://setiathome.berkeley.edu/
termin raportu: środa 4 marca 02:06:18 2015
gotowy do zgłoszenia: nie
dostałem potwierdzenie serwera: nie
końcowy czas procesora: 0,000000
stan: pobrany
stan harmonogramu: zaplanowany
status_wyjścia: 0
sygnał: 0
zawieszone poprzez GUI: nie
active_task_state: WYKONYWANIE
numer wersji aplikacji: 701
Czas procesora punktu kontrolnego: 352,733700
aktualny czas procesora: 378,866400
ułamek wykonany: 0,088431
rozmiar wymiany: 110309376.000000
Rozmiar zestawu roboczego: 40030207.999996
Szacowany pozostały czas procesora: 2505.901220

Instalacja.

Poniżej opisano proces instalacji menedżera BOINC w wersji 6.4.1
(UPD: zastąpiono część zrzutów ekranu z wersji 6.6.28 - gdzie zaszły zmiany w stosunku do starej wersji).

Uruchamiamy instalator i widzimy pierwsze okno konfiguracyjne:



Pierwsza ścieżka, katalog programu, to miejsce, w którym instalowany jest sam menedżer BOINC. Zostaw to jako domyślne.
Drugi sposób, katalog danych - w którym będą przechowywane dane projektu: moduły obliczeniowe, zadania itp. Polecam zmienić domyślną ścieżkę, aby wszystko związane z BOINC znajdowało się w jednym folderze.

Trzy kolejne checkboxy pozostawiamy według własnych upodobań, natomiast usuwam pierwsze, „użyj wygaszacza ekranu”. Żeby nie przeszkadzało.

Jeśli podczas instalacji wyświetli się komunikat Błąd odczytu pliku inicjującego instalację, przeczytaj
Krótkie tłumaczenie:
1. uruchom instalator z parametrem /a
2. wskazać, na którym dysku znajdują się okna
3. zainstaluj jak zwykle

To wszystko, proces wstępnej instalacji został zakończony, a po zakończeniu instalacji program poprosi o ponowne uruchomienie komputera.

Po ponownym uruchomieniu zobaczysz coś takiego:

Dlatego przechodzimy do „Zaawansowanych” - „ustawień programu” i zaczynamy tam zarządzać.
(zaawansowane - opcje - ogólne - wybór języka - dzieje się tak, jeśli nagle Twój język rosyjski nie zostanie automatycznie określony).

Ustawienia:

Zakładka Ogólne

* Wybierz język interfejsu

* Odstęp między próbami połączenia menedżera z serwerem projektu. Domyślnie menedżer automatycznie łączy się z serwerem co 60 minut: aby wysłać wykonane zadania i otrzymać nowe obliczenia. Jeśli chcesz, zmień to, zostawiłem to jako domyślne.

* Uruchamiać menedżera podczas uruchamiania systemu? Myślę, że uruchomienie jest logiczne. Chociaż jeśli nie potrzebujesz ikony na pasku zadań, nie musisz jej uruchamiać.

* Włączyć komunikat przy wyjściu? Jeśli checkbox jest zaznaczony, to jeśli chcesz wyjść z menedżera, pojawi się następujące okno:

W tym oknie możesz dokonać następujących ustawień:
* „Zatrzymaj proces obliczeń i wyjdź z menedżera”. Wygodne pytanie, które pojawiło się dopiero w 6 wersji menadżera BOINC.
Jeśli nie zaznaczysz tego pola, menedżer zostanie zamknięty, a projekt będzie kontynuował pracę.
Zaznacz pole - projekt zostaje zatrzymany, a menedżer zamknięty.

* „Zapamiętaj mój wybór i nie zadawaj więcej tego pytania” - myślę, że jest już jasne, na co wpływa drugie pole wyboru.

Zakładka Ustawienia połączenia



Zakładka „Proxy HTTP”.



Zakładka „SOCKS proxy”.



Wybierz pozycję z menu „Zaawansowane” – „ustawienia klienta”

Zakładka Procesor



* „Przy zasilaniu akumulatorowym”- dotyczy laptopów i komputerów stacjonarnych z oprogramowaniem skonfigurowanym do współpracy z UPS. Najprawdopodobniej go usuwamy, dlaczego musimy rozładowywać baterię w laptopie?

* „kiedy komputer jest używany do pracy”- bardzo potrzebne pole wyboru, koniecznie je zaznacz. W przeciwnym razie BOINC zaczeka, aż odejdziesz od komputera na „3 minuty” (domyślnie).

* „Używaj procesora graficznego, gdy komputer jest używany do pracy”- Używasz karty graficznej do obliczeń podczas pracy? Jeśli tak, to karta graficzna będzie stale wykonywać obliczenia, jeśli nie, poczeka, aż opuścisz komputer na „3 minuty” (domyślnie).

* Poniżej znajduje się grupa ustawień dla estetów: możesz ustawić harmonogram, według którego BOINC będzie wykonywał obliczenia.

Znajduje się jeszcze niżej "inne opcje".
* „Przełączaj się między projektami co 60 minut”. Jeśli pobrałeś do obliczeń stos zadań z różnych projektów (na przykład ABC@home i Primegrid), to klient będzie zmieniał projekty co 60 minut: godzina jest uważana za ABC@home, następnie godzina jest uważana za Primegrid itp. .

* W systemach wieloprocesorowych użyj 100% procesorów.
Jeśli masz procesor czterordzeniowy, zostaną użyte 4 rdzenie, jeśli ustawisz je na 50% - 2 rdzenie.

* używać nie więcej niż 100% procesora- o jaki procent BOINC równomiernie załaduje dostępne rdzenie.

Te. jeśli zainstalujesz 100% dostępnych rdzeni i 100% procesora, wówczas wszystkie 4 rdzenie naszego quada będą działać na 100%.
A jeśli ustawimy 50% rdzeni, 80% obciążenia, to w naszym quadzie dwa rdzenie będą obciążone na 80%.


Karta ustawień sieciowych



Wspólne parametry. To jest zarządzanie pamięcią podręczną.
Ustawiamy (raczej nie dotykajmy :)) prędkość pobierania i wysyłania.
Bardzo ważny punkt! Wybieramy na ile dni mają być pobierane zadania.
Ja mając stałe połączenie z Internetem ustawiam bufor główny na 1 dzień, a bufor dodatkowy na 1 dzień.
Jeśli korzystasz z Internetu okresowo, to ustaw go na większą liczbę dni. Wystarczy zwrócić uwagę na termin nadsyłania, aby zadania nie były „zaległe”.

Skąd menedżer wie, ile zadań należy załadować?
Na początku pracy, a następnie co 4-5 dni menadżer uruchamia benchmark procesora. Na podstawie uzyskanych wyników decyduje, ile elementów VU (jednostka pracy = jednostka pracy = VU) należy załadować do pamięci podręcznej.

* nie sprawdzaj pobranych plików- Sam nie wiem, znajdę odpowiedź i zaktualizuję ten akapit w artykule.

Ustawienia połączenia.
Te dwa pola wyboru dotyczą okresowych połączeń z Internetem. Menedżer zapyta Cię przed próbą połączenia z serwerem, a także będzie mógł zakończyć samo połączenie po załadowaniu nowych i wysłaniu już policzonych zadań.

Dostęp do Internetu.
Tutaj możesz ustawić harmonogram, według którego menadżer będzie online (jeśli tego potrzebujesz).

Potrzebujesz stałego dostępu do Internetu?
NIE! Menedżer potrzebuje dostępu do sieci jedynie w celu wysyłania/odbierania zadań. Teoretycznie więc komputer może obejść się bez Internetu, o ile w pamięci podręcznej jest co czytać.

Zakładka Dysk i pamięć





Nie jestem tutaj doradcą: to Ty decydujesz, jakie liczby umieścisz. Zostawiłem wszystko domyślnie. Ale zwiększyłbym „okres zapisywania na dysku” z 60 do 300 sekund. Po co ponownie wyciągać dysk twardy?

To wszystko, wstępna konfiguracja menedżera została zakończona. Przejdźmy do podłączenia projektu.

Podłączenie do projektu

Wybierz „usługa” - „dodaj projekt”.


Następnie pojawia się lista projektów. Wręcz przeciwnie, jest niekompletna – zawiera jedynie te najpopularniejsze, tj. najpopularniejsze i rozsądne projekty BOINC. Jeśli projekt, którego potrzebujesz, znajduje się na liście - dobrze, jeśli nie - po prostu wklej żądany adres projektu w dolne pole i kliknij Dalej.

Jak znaleźć adres projektu? Jest w nagłówku tematu na naszym forum. Pamiętaj tylko, że nie wszystkie projekty o których piszemy na forum to projekty BOINC.

Wiadomość:
Wiadomość z serwera: Żadna praca nie została wysłana
Serwer nie wysyła w tej chwili zadań. Nie ma sprawy, są projekty, w których nie ma zadań przez pół roku. Dołącz na razie do innego projektu.

Wiadomość:
Użyłeś nieprawidłowego adresu URL dla tego projektu
Prawidłowy adres URL to http://www.cosmologyathome.org/
Oznacza to, że od momentu połączenia się z projektem adres serwera uległ zmianie. Teraz musisz ponownie połączyć się z projektem. Te. usuń projekt i połącz się ponownie, wprowadzając poprawny adres serwera. Wszystko, co napisano powyżej, dotyczyło menedżera projektu zainstalowanego na jednej lokalnej maszynie. Do „lokalnego menadżera”.
Jeśli masz jedno auto to tak, łatwiej Ci nim zarządzać. Jeśli jednak masz ich dziesięć, łatwiej będzie Ci połączyć każdy z nich i zarządzać nimi centralnie za pomocą „BAM” – „Boink Account Manager”. Przeczytaj więcej na ten temat.

W pełni poświęcony problematyce BOINC.

Pracując w dziale IT, stale obserwuję komputery, które z różnych powodów organizacyjnych stoją bezczynnie i bardzo się nudzą. Złote dni wydobywania Bitcoinów na procesorze minęły i w poszukiwaniu nowej przydatnej działalności doszedłem do dobrowolnego przetwarzania rozproszonego, w szczególności do World Community Grid. Pierwszym krokiem w poszukiwaniu leku na raka był serwer w trybie gotowości i maszyna wirtualna o niskim priorytecie w klastrze wirtualizacji. Trudniej jest ze stacjami roboczymi, one ciągle przychodzą i odchodzą, a instalowanie, konfigurowanie, a następnie usuwanie BOINC na każdym jest czasochłonne i mało zaawansowane technologicznie.

Postanowiono stworzyć dystrybucję na żywo z wbudowanym BOINC i rozpowszechnić ją w sieci.Włącz komputer, naciśnij F12, wybierz żądany element - i już przynosisz korzyść ludzkości!

Na platformę wybrano Debian, który a) jest znany od dawna i b) posiada wspaniały podręcznik na żądany temat. Nie obejdzie się to jednak bez grabi, a w tym przypadku niemal każda nowa grabia wiąże się z dość długotrwałym ponownym składaniem obrazu. Mam nadzieję, że ten post oszczędzi trochę czasu administratora, a jednocześnie przypomni Ci o istnieniu tak wspaniałego projektu jak WCG.

Należy pamiętać, że wszystko odbywało się w bardzo zamkniętym środowisku i bardzo mało uwagi poświęcano bezpieczeństwu. W Twoim przypadku może być konieczne wykonanie dodatkowej pracy w zakresie bezpieczeństwa.

Przygotowanie

System składa się z tego:
  1. Serwer rozruchowy sieci.
  2. Serwer NFS
  3. Stanowisko montażowe
Mam 2 i 3 - jedno auto.

1. Sieciowy serwer startowy. Miałem już wszystko gotowe, skonfigurowałem TFTP i DHCP, które pozostały z projektu cienkiego klienta. Jeśli go nie masz, łatwo jest kupić nowy. W skrócie instalujemy i uruchamiamy tftpd-hpa, a w DHCP określamy parametry 66 i 67. Tylko nie pozwólcie nikomu uruchamiać się przez sieć (w moim przypadku są to kadeci), może to być niebezpieczne. Oprócz systemu BIOS można zabezpieczyć hasłem część menu rozruchu serwera TFTP.

2. Serwer NFS. Po pierwsze, BOINC musi mieć możliwość zapisywania swoich danych podczas pracy. Zakłada się, że lokalnego dysku twardego nie można dotykać, dlatego korzystając z NFS umożliwimy zapis do katalogu, na przykład /srv/boinc-nfs. Tutaj każdy komputer utworzy podkatalog o nazwie odpowiadającej jego adresowi MAC. Po drugie, katalog /srv/debian-live będzie zawierał główny system plików do uruchamiania sieciowego. Więc:
mkdir /srv/debian-live mkdir /srv/boinc-nfs chown nikt:nogroup /srv/boinc-nfs chmod 755 /srv/boinc-nfs
Dodaj do /etc/exports:
/srv/boinc-nfs *(rw,sync,no_root_squash,no_subtree_check) /srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
po czym ponownie uruchamiamy usługę (z jakiegoś powodu zalecane polecenie eksportu -rv nie dało mi żadnych wyników):
/etc/init.d/nfs-kernel-server uruchom ponownie
3. Stanowisko montażowe. To po prostu maszyna wirtualna, na której działa zwykły Debian Wheezy. Zainstalowany jest pakiet live-build, który wykona główną pracę. Tu musi być internet.

Proces budowania

Idziemy na stanowisko montażowe.
mkdir /srv/live-default && cd /srv/live-default
Tworzymy podstawową konfigurację dla naszej dystrybucji, podając adres serwera NFS:
lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.15.20"
Tworzy się drzewo katalogów; umieszczając w nich różną zawartość, możesz dostosować swój zestaw. Dodamy co następuje:
1. config/package-lists/boinc.list - lista pakietów, które będą potrzebne w naszym buildzie. Piszemy w nim:
klient boinc nfs-common
2. config/includes.chroot/etc/init.d/boinc-preps - skrypt inicjujący, który zamontuje NFS, skonfiguruje BOINC i zmieni nazwę hosta (być może te same nazwy hostów uniemożliwiają WCG identyfikację komputera, z nimi wiele zadań poszło do stan odłączony). W tym skrypcie musisz wpisać adres swojego NFS i adresy hostów, z których będzie możliwe zarządzanie bez hasła. Treść skryptu:
#!/bin/bash ### BEGIN INIT INFO # Zapewnia: boinc-preps # Wymagany-Start: nfs-common # Wymagany-Stop: # Powinien-Start: # Domyślny-Start: 2 3 4 5 # Domyślny-Stop: 0 1 6 # Krótki opis: Różne rzeczy dla BOINC # Opis: Różne rzeczy dla BOINC ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh do_start () ( MYMAC=`ifconfig eth0 | grep -o -E "([[:xdigit:]](1,2):)(5)[[:xdigit:]]( 1,2)" | sed s/://g` ancien=`nazwa hosta` nouveau=DYNWCG-$MYMAC mkdir -p /mnt/boinc-nfs mount 192.168.15.20:/srv/boinc-nfs /mnt/boinc- nfs && mkdir -p /mnt/boinc-nfs/$MYMAC usługa boinc stop sed -i "s/^BOINC_DIR=.*/BOINC_DIR=\/mnt\/boinc-nfs\/$MYMAC/;s/^BOINC_USER= .*/BOINC_USER=\"root\"/" /etc/default/boinc-client echo "192.168.10.60" > /mnt/boinc-nfs/$MYMAC/remote_hosts.cfg echo "192.168.10.61" >> /mnt /boinc-nfs/$MYMAC/remote_hosts.cfg echo "" >> /mnt/boinc-nfs/$MYMAC/gui_rpc_auth.cfg dla pliku w \ /etc/hostname \ /etc/hosts # możesz dodać #/etc/ tutaj ssh/ssh_host_rsa_key.pub \ #/etc/ssh/ssh_host_dsa_key.pub \ # jeśli potrzebujesz SSH, wykonaj [ -f $plik ] && sed -i.old -e "s:$ancien:$nouveau:g" $plik zrobione invoke -rc.d nazwa_hosta.sh start invoke-rc.d sieć wymuś usługę ponownego załadowania boinc start ) case "$1" na początku|"") do_start ;; restart|przeładuj|wymuś przeładowanie|status) echo "Błąd: argument "$1" nie jest obsługiwany" >&2 exit 3 ;; stop) # NOP wyjście 3 ;; *) echo "Użycie: ... " >&2 wyjście 3 ;; esak:
3. config/hooks/boinc-preps-init.chroot - skrypt składający się z jednej komendy, który zostanie wykonany podczas montażu i doda do startu boinc-preps z poprzedniego akapitu:
#!/bin/sh update-rc.d ustawienia domyślne boinc-preps
Po dodaniu niezbędnych ustawień uruchamiamy sam montaż:
budowa funtów
Wartością dla nas jest powstały plik binary.netboot.tar. Rozpakujmy to do /srv:
cd /srv && tar -xvf live-default/binary.netboot.tar
Rozpakuje się do /srv/debian-live (root FS do rozruchu sieciowego) i /srv/tftpboot (pliki dla serwera TFTP). W moim przypadku stacja kompilacji i serwer NFS to jeden komputer, więc /srv/debian-live jest już na swoim miejscu.
Zawartość tftpboot to gotowe menu startowe, które należy umieścić na serwerze TFTP. Nie sprawdzałem jego działania, gdyż mam działający serwer TFTP z własnym menu i stąd potrzebowałem tylko części danych. Najpierw skopiowałem wszystkie pliki z tftpboot/live/ na serwer TFTP w Images/debian-live/ (względem katalogu głównego serwera TFTP). Po drugie, z tftpboot/live.cfg zapożyczyłem tekst dodający nową pozycję menu, jednocześnie zmieniając go do tego stanu (tutaj też trzeba podać adres swojego serwera NFS):
etykieta live-686-pae etykieta menu BOINC-live (686-pae) linux Images/debian-live/vmlinuz1 initrd Images/debian-live/initrd1.img dodaj boot=live konfiguracja nosplash root=/dev/nfs nfsroot=192.168. 15.20:/srv/debian-live
Teraz wszystko jest na swoim miejscu.

Jeśli po złożeniu chcesz sprawdzić zawartość głównego systemu plików, nie musisz z niego uruchamiać systemu, możesz po prostu zamontować go jako urządzenie pętlowe:
mount -o pętla,ro /srv/debian-live/live/filesystem.squashfs /mnt/squash/
Jeśli chcesz odbudować dystrybucję z nowymi parametrami, zanim to zrobisz, możesz wykonać polecenie lb clean --binary lub lb clean .

Stosowanie

  1. Włącz komputer i wybierz opcję rozruchu przez sieć (zwykle wystarczy nacisnąć klawisz F12).
  2. W zależności od menu startowego wybieramy opcję „BOINC-live” lub po prostu czekamy, aż upłynie limit czasu uruchamiania.
  3. W wyświetlonym wierszu poleceń (jeśli wszystko poszło tak, jak powinno) wpisz sudo ifconfig (nie będziesz musiał wpisywać hasła) i zapisz adres IP.
  4. Na komputerze sterującym (jednym z tych, które określiliśmy w config/includes.chroot/etc/init.d/boinc-preps) uruchom boinc-manager, kliknij „Zaawansowane - Zmień komputer” (przycisk ten jest dostępny tylko w „Pełnym widoku ”). Jednakże BOINC nie powinien pytać użytkownika o żadne hasła.
  5. Po połączeniu pojawi się kreator, w którym należy wybrać projekt (w moim przypadku jest to World Community Grid) i podać swój login/hasło.
To wszystko, za kilka minut pojawią się nowe zadania w stanach „Gotowe do uruchomienia” i „Uruchomione”.
Tę procedurę należy wykonać tylko raz dla każdego komputera (dokładniej dla każdego adresu MAC). Nawet jeśli komputer powróci do Ciebie po długotrwałym użytkowaniu w innej lokalizacji, komputer odnajdzie swoje dane na serwerze NFS po adresie MAC i od razu po włączeniu będzie kontynuował pracę (tylko część zadań będzie już wygasła, ale jest to drobnostka, otrzyma nowe).

Wyniki

Co pozostaje nierozwiązane:
  • Automatyczne logowanie do WCG. Prawdopodobnie możliwe jest osadzenie konfiguracji projektu w obrazie, dzięki czemu nie trzeba wpisywać niczego ręcznie, ale rozwiązania nie można było wyszukać w Google w rozsądnym czasie.
  • Powiadomienia e-mailowe. Aby uniknąć wpisywania „sudo ifconfig”, możesz automatycznie wysłać administratorowi adres komputera, na którym się uruchamia. Nie zrobiłem tego jednak, bo jestem oparciem i lepiej zamiast tego zastosować się do poprzedniego punktu.
  • Adres IP serwera NFS jest wymieniony dwukrotnie, być może jeden z nich można usunąć.
  • Do utworzenia katalogu komputera zawsze używany jest adres MAC interfejsu eth0. Czy to dobrze, czy nie, nie mogę powiedzieć z całą pewnością.

  • Nie pozwól, aby komputery się nudziły! I piszcie komentarze, chętnie odpowiem lub uzupełnię artykuł.

Korzystają z platformy BOINC, która została opracowana około dziesięć lat temu na Uniwersytecie Kalifornijskim w Berkeley. Pierwszym krokiem do wzięcia udziału w jednym z nich jest instalacja programu BOINC Manager.

Instalacja i konfiguracja klienta BOINC

Po pobraniu i zainstalowaniu programu klienckiego możesz wybrać jeden lub więcej projektów, do których chcesz dołączyć. Począwszy od szóstej wersji klient BOINC obsługuje elastyczne ustawienia obliczeniowe, które pozwalają dokładnie określić, jaką część zasobów sprzętowych dana osoba jest skłonna poświęcić na potrzeby nauki. Ponadto możesz ustawić BOINC Managera tak, aby automatycznie wstrzymywał uruchamianie określonych programów lub przeprowadzał obliczenia tylko w określonych godzinach. Obliczenia można w dowolnym momencie całkowicie lub selektywnie wstrzymać ręcznie i równie łatwo wznowić.

Ustawienia obliczeń CPU i GPU w kliencie BOINC

Oprócz opcji samej aplikacji klienckiej, każdy projekt posiada ustawienia poprzez interfejs WWW na osobistej stronie uczestnika.

Ustawienia projektu BOINC poprzez interfejs sieciowy

Możesz ocenić moc obliczeniową swojego komputera za pomocą wbudowanego testu porównawczego BOINC. Czasami używa się go również do porównania rzeczywistej wydajności różnych konfiguracji.

Wbudowany test wydajności klienta BOINC

Wybór projektów w oparciu o dostępne zasoby

Podczas wykonywania obliczeń naukowych ważną rolę odgrywa wydajność jednostek FPU, które wykonują obliczenia zmiennoprzecinkowe. Dokładność obliczeń może się różnić. Zwykle mówi się o trzech typach realizowanych w praktyce:

  • FP16 (Half Precision) - obliczenia zmiennoprzecinkowe z połowiczną precyzją;
  • FP32 (Single Precision) - obliczenia zmiennoprzecinkowe pojedynczej precyzji;
  • FP64 (Double Precision) - obliczenia zmiennoprzecinkowe podwójnej precyzji.

To właśnie ten ostatni rodzaj obliczeń (FP64 lub binarny64 zgodnie ze standardem IEEE 754) jest najbardziej pożądany w obliczeniach BOINC i innych programach naukowych, ponieważ pozwala operować wartościami z zakresu od ≈ 10 -308 do 10 308 z dokładnością do 15 cyfr (w wyrażeniu dziesiętnym) po przecinku. Jednak udział obliczeń o pojedynczej precyzji jest również bardzo duży i wystarczający nawet dla indywidualnych projektów.

Nowoczesne karty graficzne obsługują technologie obliczeniowe ogólnego przeznaczenia. Każdy układ wideo wydany po 2007 roku będzie radził sobie z obliczeniami naukowymi lepiej niż procesor podobnej generacji o podobnej cenie.

Architektura i prędkość obliczeniowa niektórych kart graficznych typu FP32 i FP64

O ile wcześniej nVidia dominowała w tym segmencie (m.in. poprzez wypuszczenie akceleratorów Tesli o tej samej architekturze), teraz coraz więcej projektów kieruje się w stronę AMD (ATI).

Przykład uruchomienia projektów BOINC na karcie graficznej AMD

Istnieją również projekty obsługujące akcelerację na kartach graficznych AMD, ale nie działają z produktami nVidia.

Projekty BOINC z wyłączną obsługą kart graficznych AMD

Prawdopodobnie wynika to z faktu, że przy dużej prędkości obliczeń FP32 karty graficzne nVidia na chipie GK104 wykazują silny spadek wydajności w obliczeniach typu FP64. Przykładowo, jeśli Radeon HD 6930 wykonuje obliczenia z podwójną precyzją cztery razy wolniej niż przy pojedynczej precyzji (odpowiednio 480 i 1920 gigaflopów), to GeForce GTX 680 jest dwudziestoczterokrotnie wolniejszy (128 i 3090 gigaflopów).

Kiedy „ostatni” nie znaczy „najlepszy”

Zastosowanie nowocześniejszych chipów samo w sobie nie zawsze oznacza wzrost prędkości. Na przykład HD 6850 nie jest w stanie wykonywać obliczeń o podwójnej precyzji, ale HD 5850 wykonuje obliczenia FP64 z szybkością do 418 gigaflopów.

Najwyższej klasy karty graficzne często mają wydajność serwera wieloprocesorowego. Na przykład karta graficzna z chipem HD 7970 zawiera 2048 rdzeni obliczeniowych połączonych w 32 bloki. Jego teoretyczna wydajność wynosi 3789 gigaflopów w przypadku operacji o pojedynczej precyzji i 947 gigaflopów w przypadku operacji o podwójnej precyzji.

Dla porównania: część arytmetyczna procesora Core-i5 3570K zapewnia 122 gigaflopy (FP32) i 61 gigaflopów (FP64) w trybie turbo, a Intel HD Graphics 4000 daje wzrost o kolejne 147 gigaflopów (FP32). W przypadku AMD A10-5800K obliczona wydajność arytmetyczna jest również na poziomie 122 gigaflopów (FP32) i 61 gigaflopów (FP64), ale rdzeń wideo Radeon HD 7660D zapewnia czterokrotny wzrost - o 614 gigaflopów (FP32).

Teraz zdecydowanie warto wybierać te projekty, które można obliczyć przy użyciu kart graficznych lub przynajmniej wbudowanych rdzeni graficznych. Jednak między teoretyczną granicą wydajności a praktycznie osiągniętym wynikiem często występuje różnica nie procentowa, ale kilkukrotna. Decydują o tym kwalifikacje programistów i limity optymalizacyjne dla każdego konkretnego zadania.

Na przykład zadania projektu Einstein@home na komputerze z procesorem Core-i3 2100 i kartą graficzną Radeon HD 6850 są przetwarzane z prędkością 49,5 gigaflopsa, a POEM@home - 71,4 gigaflopsa przy tych samych ustawieniach. Obydwa projekty deklarują wsparcie dla przyspieszania obliczeń przez karty graficzne AMD.

Koszty energii elektrycznej

Ważnym punktem jest efektywność energetyczna różnych systemów. Obecnie waha się ona od 1 do 20 gigaflopów na wat i parametr ten bezpośrednio wpływa na to, jak wzrosną Twoje rachunki za prąd. Z punktu widzenia opłacalności atrakcyjne są nie tylko specjalistyczne akceleratory i rozwiązania serwerowe, ale także procesory APU i pojedyncze chipy wideo produkowane masowo. Najciekawsze układy AMD plasują się bliżej początku przedziału cenowego, podczas gdy układy nVidii plasują się głównie w górnej tercji.

Na przykład wydajność niedrogiej karty graficznej Radeon HD 7770 wynosi 16 gigaflopów na wat w obliczeniach FP32, ale jej użycie do obliczeń FP64 jest nieuzasadnione - tutaj wykaże wynik tylko 1,0 gigaflopów na wat. Nawet chip HD 4750, wydany w 2009 roku, miał znacznie lepszy wynik – 2,5 gigaflopa na wat.

Karta GeForce GTX 660Ti należy do górnej granicy średniego przedziału cenowego, ale zużywa energię bardziej efektywnie: 16,4 gigaflopa na wat w obliczeniach FP32 i 2,1 gigaflopa na wat w obliczeniach o podwójnej precyzji.

Jeśli (teoretycznie) utrzymasz BOINC w trybie ciągłego przetwarzania i nie wyłączysz komputera, to przy poborze mocy ≈ 200 W doda on do odczytów licznika niecałe 150 kWh miesięcznie. W typowym scenariuszu użytkowania (kiedy BOINC jest aktywny tylko w czasie bezczynności, a komputer pracuje kilka godzin dziennie i wyłącza się w nocy) – niecałe dziesięć kilowatogodzin.

Być może te niewielkie wydatki na wsparcie zespołów badawczych czołowych uniwersytetów świata będą dla wielu wydawać się bardziej uzasadnione niż przekazywanie datków na rzecz wątpliwych organizacji charytatywnych.

To jest krótka wersja konfiguracji klienta BOINC dla tych, którzy nie lubią dużo czytać i od razu „chcą zacząć”. Pomimo mnóstwa opcji i możliwości BOINC, w większości przypadków można pozostawić wszystkie wartości domyślne; moim zdaniem są tylko 3 naprawdę ważne opcje, które każdy musi skonfigurować, a które teraz skonfigurujemy w zaledwie 4 krokach. Zrzuty ekranu pochodzą z angielskiej wersji klienta 6.12.26, nazwy opcji podano w języku angielskim i powielono w nawiasach z tłumaczeniem na język rosyjski w jego aktualnej wersji (tłumaczenie może się nieznacznie różnić w zależności od wersji).

1. Domyślnie BOINC Manager działa w trybie „uproszczonym”, w którym nie jest dostępnych wiele niezbędnych funkcji. Dlatego jeśli nie robiłeś tego wcześniej, przejdź do trybu „zaawansowanego” (Widok zaawansowany), naciskając odpowiedni przycisk:


2. Otwórz ustawienia Menedżera BOINC:
W wersjach programu począwszy od 6.12.xx znajdują się one w pozycji menu Narzędzia --> Preferencje komputerowe (Narzędzia --> Ustawienia klienta)
W starszych wersjach, w szczególności 6.10.xx, w pozycji Zaawansowane --> Preferencje (Zaawansowane --> Ustawienia)

3. W zakładce „użycie procesora” ustaw następujące opcje:


„Podczas gdy użycie procesora jest mniejsze niż XX procent” = 0
Ta opcja całkowicie zatrzymuje obliczenia, gdy obciążenie procesora przez programy użytkownika (przez co rozumiemy wszelkie programy inne niż sam BOINC, w tym te działające w tle) przekroczy XX%. 0% oznacza ignorowanie użycia procesora przez inne programy. Zaleca się ustawienie dokładnie 0, ponieważ obliczenia wykonywane są z najniższym priorytetem i w normalnych warunkach nie zakłócają pracy innych programów (ponieważ zasoby obliczeniowe są dynamicznie redystrybuowane na swoją korzyść przez system operacyjny). Można też ustawić własną wartość, na przykład 80-90% (czyli wstrzymać obliczenia tylko przy dużym obciążeniu). Wartość domyślna (25%) nie jest dobra – obliczenia zatrzymają się przy najmniejszej aktywności użytkownika, a także np. rozpoczęciu skanowania antywirusowego w tle lub równoległym korzystaniu z Folding@Home.

Jeśli do obliczeń BOINC chcesz używać tylko części procesorów/rdzeni dostępnych w komputerze, ustaw tę opcję w następującej opcji: „W systemach wieloprocesorowych użyj maksymalnie XX% procesorów” (W systemach wieloprocesorowych użyj XX% całkowita liczba procesorów). Wartość podawana jest w %, tj. aby używać tylko 3 rdzeni na 4-rdzeniowym procesorze, ustaw go na 75%, 1 rdzeń na 2-rdzeniowym procesorze - 50% itd.
W przypadku procesorów wielordzeniowych/wielowątkowych tę metodę najlepiej stosować do regulacji/zmniejszania obciążenia (na przykład w przypadku przegrzania) w porównaniu z metodą „używaj maksymalnie XX% czasu procesora” (używaj nie więcej niż XX% czasu procesora czas każdego procesora), ponieważ zapewnia bardziej „równomierne” obciążenie procesora i dodatkowo oszczędza pamięć RAM (poprzez zmniejszenie liczby równolegle działających procesów/modułów obliczeniowych).
Jeśli zamierzasz używać wszystkich rdzeni, po prostu pozostaw wartość domyślną, tj. 100%.

4. W zakładce „wykorzystanie sieci”, w kolumnie „Dodatkowy bufor pracy XX dni” ustaw wielkość pamięci podręcznej zadań:


Duży zapas zadań pozwoli Ci uniknąć przestojów w przypadku przedłużających się problemów z Internetem lub awarii na serwerach projektu. Zalecane wartości od 2 do 8 dni. Jednocześnie im częściej komputer pracuje, tym większy rozmiar pamięci podręcznej zadań można ustawić. Regularność odnosi się do trybu pracy komputera; idealna regularność to praca 24 godziny na dobę, 7 dni w tygodniu (24 godziny na dobę, 7 dni w tygodniu) lub codziennie, na przykład dokładnie 10 godzin. Komputery biurowe (w przybliżeniu tryb 9/5) można również uznać za całkiem zwyczajne. Jeśli jednak komputer włącza się sporadycznie – nie codziennie i czas pracy jest z każdym dniem inny, to niewskazane jest ustawianie dużej pamięci podręcznej zadań, bo klient popełni duże błędy w obliczaniu wymaganej liczby zadań (w sztukach), aby zapewnić określoną przez Ciebie dostawę (w dniach) i w efekcie może pobrać więcej zadań, niż jesteś w stanie wykonać w terminie. Nie polecam używania pozycji „Wczytaj zadania przez XX dni” do ustawiania rozmiaru pamięci podręcznej, ponieważ poza rozmiarem cache'a ustawia także częstotliwość połączeń z serwerami projektu (w oryginale pozycja ta nazywała się „Połącz co XX dni”) i ustawiając tam dużą wartość, otrzymujemy sytuację, w której klient będzie poczekaj kilka dni zanim wyślesz policzone zadania na serwer i zdobądź porcję świeżych.

Jeśli interesują Cię bardziej szczegółowe ustawienia lub opis niektórych opcji, to przeczytaj pełną opcję ustawień BOINC znajdującą się tutaj: (tutaj pojawi się link, gdy pełna wersja będzie gotowa)