Установка boinc. Коротка настройка BOINC Manager. Вибір проектів з урахуванням доступних ресурсів


Автор: Peter Enseleit
Дата: 31 березня 2008
Переклад: Олександр Тарасов aka oioki
Дата перекладу: 3 квітня 2008

Кожен із нас може допомогти людству у вирішенні глобальних проблем, Таких як стеження за хворобами та прогнозування погоди, просто задіявши свої комп'ютери у вирішенні складних обчислювальних завдань. Концепція, відома під назвою добровільні обчислення, допомагає по всьому світу університетам та дослідницьким інститутам, що створюють проекти з найчастіше гуманітарними цілями, такими як прогнозування та контроль поширення малярії в Африці.

Щоб взяти участь у цій добрій справі, потрібно завантажити і встановити клієнтське програмне забезпечення, яке час від часу підвантажуватиме нові обчислювальні завдання для вашого комп'ютера, який, поза всяким сумнівом, іноді простоює без діла. Після завершення завдання, комп'ютер надсилає результат на центральні комп'ютери проекту, де він стає часткою вирішення одного великого обчислювального завдання. Задіявши комп'ютери по всьому світу, такі проекти отримують гігантську обчислювальну міць, яка б інакше не була доступна. Таким чином, рішення будуть знайдені швидше, і проект швидше досягне своєї мети. Така форма розподілених обчислень стала популярною завдяки проектам SETI@home та Folding@home, на даний момент для участі відкрито величезну кількість проектів. Завдання їх відрізняються від пошуку ліків від хвороб до рендерингу тривимірної анімації. Давайте подивимося, як можна взяти участь у таких добровільних проектах, якщо у вас встановлена ​​ОС Linux.

BOINC

Якщо у вас Ubuntu, то свіжо встановлений BOINC-менеджер можна запустити з меню Applications -> Accessories -> BOINC Manager. На відміну від версій BOINC-клієнта для Windows та Mac, Linux-версія поставляється без збереження екрана. Вся робота проходить мовчки і ненав'язливо, у фоновому режимі, незалежно від вашого зберігача екрану.

Приєднатися до проекту можна безпосередньо з BOINC-менеджера. Виберіть пункт меню Advanced View -> Advanced -> Attach to Project. Введіть URL-адресу проекту, до якої хочете приєднатися, свою email-адресу та пароль. Якщо не виникне проблем, ви приєднаєтесь до проекту. Відбудеться завантаження першого завдання від проекту, і ваш BOINC-клієнт розпочне його обробку.

Налаштуйте, яку частку обчислювальних ресурсів комп'ютера буде використовувати BOINC. Це робиться у BOINC-менеджері у діалоговому вікні Preferences. Можна обмежити кількість годин роботи клієнта, встановити якусь час процесорного часу займати обчисленнями, обмежити використання місця на диску, оперативної пам'яті та мережного трафіку.

Щоб задіяти ресурси свого комп'ютера відразу в кількох проектах, потрібно скористатися менеджером облікових записів . На даний момент їх два: це BOINC Account Manager та GridRepublic. Менеджер облікових записів - це веб-сайт, що дозволяє налаштовувати BOINC-клієнт, вибирати в яких проектах брати участь і переглядати статистику роботи, виконаної вашими клієнтами. Також можна налаштувати так, щоб один обліковий запис використовувався на кількох комп'ютерах, причому у кожного будуть свої налаштування з обмеження на кількість використовуваних ресурсів та час роботи.

Після встановлення менеджера облікових записів потрібно налаштувати локальний BOINC-менеджер на з'єднання з ним. Після встановлення з'єднання BOINC-клієнт на вашому комп'ютері забере налаштування, вказані в менеджері облікових записів і буде працювати вже відповідно до них. Ця схема зручна, коли ви встановили BOINC-клієнти як на робочому, так і на домашньому комп'ютері - адже таким чином виходить центр управління ресурсами.

Я налаштував свій BOINC-клієнт так, щоб він починав працювати через три хвилини бездіяльності, тому він зовсім не заважатиме моїй роботі з комп'ютером. Навіть після того, як він починає свою роботу, я все ще можу з комфортом користуватися OpenOffice.org Writer та GIMP, мандрувати інтернетом і слухати музику. Коли навантаження процесора та споживання пам'яті досягає певної межі, BOINC-клієнт переходить у сплячий режим доти, доки знову не зустрінеться трихвилинна пауза.

Folding@home

При першому запуску клієнта вам буде запропоновано змінити конфігурацію. Тут треба буде ввести свій email, який асоціюватиме вас з проектом, визначити режим роботи при використанні батарей (якщо у вас ноутбук), заповнити список додатків, які повинні блокувати роботу клієнта, встановити пріоритет обчислювального процесу, вибрати кількість процесорів, що задіяні, і навантаження мережі.

Відповідно до показань мого системного монітора, клієнт distributed.net повністю використовує ресурси мого процесора. Він навантажує обидва ядра мого процесора і не йде в режим сну при запуску програм. Але дивно, хоча системний монітор і показує завантаження процесора 95-100%, але помітного погіршення продуктивності не спостерігається – я спокійно використовую звичайні програми. Однак будемо об'єктивними – під таким навантаженням Baobab (аналізатор вільного місця на диску) витрачає більше часу на сканування моєї файлової системи, ніж зазвичай.

Питання безпеки

Фактично, добровільні обчислення дають зовнішнім додаткам доступ до ресурсів вашого комп'ютера, тому є сенс задуматися про безпеку. Організатори проекту Folding@home запевняють своїх користувачів у тому, що докладають усіх зусиль для забезпечення безпеки. Серед них є і 2,048-бітовий цифровий підпис на всі дані, які надходять та походять від вашого комп'ютера. З іншого боку, організатори distributed.net відкрито заявляють, що їхні клієнти у свій час були використані зловмисниками для поширення троянських програм. На сторінці безпеки BOINC згадані небезпеки, які чатують на комп'ютер добровільного учасника обчислень. Компанія бореться з кожною з них, для боротьби з вірусами використовується шифрування з відкритим ключем. У будь-якому випадку, організатори проекту BOINC заявляють, що "учасники повинні розуміти, що беручи участь у проектах BOINC, вони наражають свої комп'ютери на загрозу". Очевидно, є сенс самому пошукати інформацію про проект, у якому ви хочете взяти участь, а також відповідних клієнтів.

Висновок

Можна знайти більше інформації щодо добровільних обчислень на сайті GridCafe. Там проводяться дискусії з приводу інших форм розподілених обчислень, у тому числі і комерційних.

Всі описані у статті клієнти дозволяють брати участь у добровільних обчисленнях, маючи машину із встановленою ОС Linux. Клієнт Folding@Home задіяє ваш комп'ютер у шляхетних цілях, а саме у розробці ліків від хвороб, пов'язаних із білками. Серед усіх клієнтів, описаних тут, він є найменш конфігурованим, але на моєму комп'ютері він чесно виконує свою роботу і при цьому має найменший вплив на моюроботу. Клієнт distributed.net наголошує на вирішенні математичних завдань. Я вказав йому, що потрібно задіяти обидва ядра, і були задіяні обидва, причому на повну потужність. Однак це не завадило мені працювати зі звичайними настільними програмами. У легкості встановлення та використання безперечним переможцем виходить BOINC-клієнт. Його доступність у багатьох репозиторіях пакетів означає, що можна встановити його з мінімальними витратами часу та сил. Платформа BOINC надає простий інтерфейс користувача з гнучкими налаштуваннями, що стосуються використання обчислювальних ресурсів. Нарешті, будь-яка людина може зробити свій вибір із величезної кількості проектів, заснованих на цій платформі, і почати таким чином сприяти вирішенню світових наукових проблем.

Працюючи в ІТ-підрозділі, я постійно спостерігаю комп'ютери, що простоюють з різних організаційних причин, які дуже сумують. Золоті часи майнінгу біткойнів на CPU минули, і в пошуках нової корисної справи я прийшов до добровільних розподілених обчислень, зокрема до World Community Grid. Насамперед пошуком ліків від раку були спантеличені сервер із холодного резерву та віртуальна машина з низьким пріоритетом на кластері віртуалізації. Складніше з робочими станціями вони постійно приходять і йдуть, на кожній встановлювати, налаштовувати, а потім видаляти BOINC довго і нетехнологічно.

Вирішено було зібрати live-дистрибутив з вшитим BOINC"ом і роздавати його по мережі. Увімкнув комп'ютер, натиснув F12, вибрав потрібний пункт - і вже приносиш користь людству!

Платформою був обраний Debian, який а) давно знайомий і б) має чудовий мануал на потрібну тему. Тим не менш, без граблів не обійшлося, а в даному випадку майже кожні нові граблі позначають досить тривале перескладання образу. Сподіваюся, цей пост заощадить деяку кількість адмінського часу, а заразом нагадає про існування такого чудового проекту, як WCG.

Зверніть увагу, робилося все в дуже закритому середовищі, і безпеки знадобилося приділити зовсім небагато уваги. Можливо, у вашому випадку над безпекою потрібно додатково попрацювати.

Підготовка

Система складається з чого:
  1. Сервер мережного завантаження.
  2. NFS-сервер
  3. Складальна станція
У мене 2 та 3 – одна машина.

1. Сервер мережного завантаження.У мене все вже було готове, налаштовані TFTP та DHCP у мене залишилися від проекту за тонкими клієнтами. Якщо у вас немає, підняти новий нескладно. У двох словах, встановлюємо і запускаємо tftpd-hpa, а в DHCP вказуємо параметри 66 і 67. Тільки не давайте завантажуватися по мережі будь-кому (у моєму випадку це курсанти), це може бути небезпечно. Крім BIOS, можна запаролити частину завантажувального меню TFTP-сервера.

2. NFS-сервер.По-перше, BOINC повинен мати можливість у процесі роботи зберігати свої дані. Передбачається, що локальний жорсткий диск чіпати не можна, тому NFS дозволимо писати в директорію, наприклад, /srv/boinc-nfs . Тут кожен комп'ютер створюватиме піддиректорію з ім'ям, що збігається з його MAC-адресою. По-друге, в директорії /srv/debian-live лежатиме коренева ФС для завантаження. Отже:
mkdir /srv/debian-live mkdir /srv/boinc-nfs chown nobody:nogroup /srv/boinc-nfs chmod 755 /srv/boinc-nfs
У /etc/exports дописуємо:
/srv/boinc-nfs *(rw,sync,no_root_squash,no_subtree_check) /srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
після чого перезапускаємо сервіс (чомусь рекомендований exportfs -rv мені результату не дав):
/etc/init.d/nfs-kernel-server restart
3. Складальна станція.Це просто віртуальна машина із звичайним Debian Wheezy. Встановлено пакет live-build, який і робитиме основну роботу. Тут має бути інтернет.

Процес складання

Вирушаємо на складальну станцію.
mkdir /srv/live-default && cd /srv/live-default
Створюємо базовий конфіг для нашого дистрибутива, вказавши адресу NFS-сервера:
lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.15.20"
Формується деяке дерево директорій, маючи в них різний контент, можна кастомізувати свою збірку. Ми додамо таке:
1. config/package-lists/boinc.list – список пакетів, які знадобляться у нашій збірці. Пишемо до нього:
boinc-client nfs-common
2. config/includes.chroot/etc/init.d/boinc-preps - init-скрипт, який буде монтувати NFS, налаштовувати BOINC і змінювати hostname (можливо, однакові хостнейми заважають WCG ідентифікувати комп'ютер, з ними у мене багато завдань переходили в стан detached). У цей скрипт потрібно вставити адресу свого NFS та адреси хостів, з яких буде дозволено безпарольне керування. Вміст скрипту:
#!/bin/bash ### BEGIN INIT INFO # Provides: boinc-preps # Required-Start: nfs-common # Required-Stop: # Should-Start: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Швидкий перегляд для BOINC # Description: Швидкий перегляд для 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=`hostname` 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 service 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" /boinc-nfs/$MYMAC/remote_hosts.cfg echo "" >> /mnt/boinc-nfs/$MYMAC/gui_rpc_auth.cfg for file in \ /etc/hostname \ /etc/hosts # сюди можна додати #/etc/ ssh/ssh_host_rsa_key.pub \ #/etc/ssh/ssh_host_dsa_key.pub \ # якщо потрібен SSH do [ -f $file ] && sed -i.old -e "s:$ancien:$nouveau:g" $file done invoke -rc.d hostname.sh start invoke-rc.d networking force-reload service boinc start ) case "$1" in start|"") do_start;; restart|reload|force-reload|status) echo "Error: argument "$1" not supported" >&2 exit 3 ;; stop) # NOP exit 3;; *) echo "Usage: ... " >&2 exit 3;; esac:
3. config/hooks/boinc-preps-init.chroot - скрипт з однієї команди, який виконається при складанні та додасть boinc-preps з попереднього пункту в автозавантаження:
#!/bin/sh update-rc.d boinc-preps defaults
Після додавання потрібних налаштувань запускаємо власне складання:
lb build
Цінність для нас представляє файл binary.netboot.tar . Розпакуємо його в / srv:
cd /srv && tar -xvf live-default/binary.netboot.tar
Він розпакується в /srv/debian-live (коренева ФС для завантаження мереж) і /srv/tftpboot (файли для TFTP-сервера). У моєму випадку збірна станція та NFS-сервер - це один комп'ютер, тому /srv/debian-live вже знаходиться на своєму місці.
Вміст tftpboot - готове меню для завантаження, його потрібно розмістити на TFTP-сервері. Його роботу я не перевіряв, тому що у мене є працюючий TFTP-сервер зі своїм меню, і звідси мені знадобилася лише частина даних. По-перше, я скопіював усі файли з tftpboot/live/ на TFTP-сервер у images/debian-live/ (щодо кореневої директорії TFTP-сервера). По-друге, з tftpboot/live.cfg я запозичив текст, який додає новий пункт меню, при цьому змінивши його до такого стану (тут також потрібно вказати адресу свого NFS-сервера):
label live-686-pae menu label BOINC-live (686-pae) linux images/debian-live/vmlinuz1 initrd images/debian-live/initrd1.img append boot=live config nosplash root=/dev/nfs nfsroot=. 15.20:/srv/debian-live
Тепер усе лежить на своїх місцях.

Якщо після збирання хочеться перевірити вміст кореневої ФС, то не обов'язково завантажуватися з нею, її можна просто змонтувати як loop-пристрій:
mount -o loop,ro /srv/debian-live/live/filesystem.squashfs /mnt/squash/
Якщо потрібно перезбирати дистрибутив з новими параметрами, перед цим можна зробити або lb clean --binary , або lb clean .

Використання

  1. Включаємо комп'ютер та вибираємо завантаження по мережі (зазвичай для цього достатньо натиснути F12).
  2. Залежно від завантажувального меню або вибираємо пункт BOINC-live, або просто чекаємо, поки завантажиться по таймууту.
  3. У командний рядок, що з'явився (якщо все пішло як треба) пишемо sudo ifconfig (пароль вводити не потрібно) і записуємо IP-адресу.
  4. На комп'ютері керування (одному з тих, що ми вказали в config/includes.chroot/etc/init.d/boinc-preps) запускаємо boinc-manager, натискаємо "Додатково - Змінити комп'ютер" (ця кнопка є тільки в "Повному вигляді" ). При цьому BOINC не повинен вимагати жодних паролів у користувача.
  5. Після підключення з'явиться майстер, у якому потрібно буде вибрати проект (у моєму випадку це World Community Grid) та ввести логін/пароль.
Все, за кілька хвилин з'являться нові завдання у стані «Готово до запуску» та «Працює».
Цю процедуру потрібно виконати лише один раз для кожного комп'ютера (точніше для кожної MAC-адреси). Навіть повернувшись до вас після тривалої експлуатації в іншому місці, комп'ютер за MAC-адресою знайде свої дані на NFS-сервері і продовжить роботу відразу після включення (тільки деякі завдання вже будуть прострочені, але це дрібниця, отримає нові).

Підсумки

Що залишилося невирішеним:
  • Автологін у WCG. Напевно, можна вшити в образ конфіг проекту, щоб взагалі нічого не вводити руками, але за прийнятний час рішення не набридло.
  • Поштові повідомлення. Щоб не вводити «sudo ifconfig», можна автоматично відсилати адміну адресу комп'ютера, що запустився. Однак, я цього не зробив, бо милиці, і краще натомість реалізувати попередній пункт.
  • Двічі вказано IP NFS-сервера, можливо, один із них можна прибрати.
  • Для створення директорії комп'ютера завжди використовується MAC-адреса інтерфейсу eth0. Добре це чи ні – я не можу з упевненістю сказати.

  • Не давайте комп'ютерам нудьгувати! І пишіть коментарі, з радістю відповім або доповню статтю.

BOINC клієнт використовується для розрахунків завдань проектів добровільних розподілених обчислень на комп'ютері. Докладніше про це можна прочитати в нашій минулій статті. Стандартний клієнт поставляється з інтерфейсом GUI, але, на жаль, можливості конфігурування в ньому обмежені. Наприклад, немає можливості використовувати лише деякі відеокарти (GPU) у вашому комп'ютері.
Щоб вирішити цю проблему, можна налаштувати роботу BOINC клієнта, написавши конфігураційний файл cc_config.xml і помістивши його в основну папку з додатком (в якій знаходяться бінарні файли boinc і boincmgr). Наприклад, після встановлення BOINC із інсталяційного файлу із сайту, це буде ~/BOINC .
Створюємо файл та відкриваємо його для редагування (природно можна використовувати і графічний редактор):

touch ~/BOINC/cc_config.xml


nano ~/BOINC/cc_config.xml

Структура файлу
Загальний вигляд файлу cc_config.xml такий:



...
...
...


...
...
...


Директива log_flags використовується для налагодження детальності виведення інформації в лозі роботи BOINC клієнта. Зазвичай за умовчанням вже виводиться достатньо інформації, тому я не зупинятимусь на цій директиві.
А ось директива options якраз повинна включати загальні налаштування.

Основні параметри, що задаються у директиві options

1


Переривати розрахунок завдань та оновлювати проекти (для підтвердження прийому даних) при виході. Цей параметр корисний, коли система працює з LiveCD/LiveUSB і при вимкненні дані не зберігаються. У звичайній системі цей параметр використовувати не потрібно.

1


Дозволяє запускати кілька BOINC клієнтів одночасно на одному комп'ютері (якщо є різні директорії з BOINC"ом). Зазвичай це не потрібно, тому зручніше вважати все в одному BOINC клієнті.

1


Дозволяє керувати BOINC клієнтом віддалено.

Ім'я_платформи


Вказати ім'я платформи вручну. Зазвичай не потрібно.

шлях


Використовувати іншу директорію для даних BOINC. Може бути корисним для перенесення даних на інший фізичний диск. Особливо актуально при роботі з LiveUSB, де на основному диску місця замало.

filename


BOINC буде зупиняти роботу, коли запущено цю програму. Потрібно це якщо через BOINC"а ресурсомісткі програми починають гальмувати. Може бути задано кілька програм.

filename


Теж що й попереднє, але призупиняться лише GPU завдання.

1


Вийти, коли всі завдання буде пораховано.

1


Отримувати лише одне завдання на кожен пристрій. Корисно, якщо не хочете навантажувати комп'ютер на постійній основі.

N


Не використовувати заданий ATI GPU. Дуже корисно. Якщо у вас кілька карт, то можна не рахувати на основній, але рахувати на всіх додаткових. Можна вибрати більше ніж одну картку. Нумерація із нуля.

N


Не використовувати заданий nVidia GPU. Дуже корисно. Якщо кілька карт, то можна не рахувати на основній, але рахувати на всіх додаткових. Можна вибрати більше ніж одну картку. Нумерація із нуля.

N

Вказати довільну кількість потоків CPU.Можна обмежити кількість використовуваних ядер. Також корисно для отримання безлічі завдань разом, для їх розрахунку офлайн (нахом'ячування). Після отримання завдань потрібно видалити цей параметр, інакше будуть вважатися одночасно занадто багато завдань.

1


Не використовувати відеокарти для розрахунків.

1


Оновлювати проект відразу після надсилання виконаних завдань. Дозволяє зменшити кількість завдань у статусі очікування підтвердження прийому даних.

nseconds


Затримка в секундах до виконання завдань після запуску клієнта.

1


Використовувати всі доступні GPU. Допомагає, якщо BOINC не хоче "бачити" якісь старі відеокарти.

Приклад файлу





0
2


Не виконувати розрахунки на першій відеокарті. Використовувати лише два ядра ЦП (або потоку при Intel HT).

Застосування змін
При зміні директиви log_flags достатньо в BOINC Manager виконати Додатково -> Перезавантажити файл спецналаштувань. Для більшості змін Options необхідний перезапуск BOINC.

Встановлення.

Нижче описано процес встановлення BOINC-менеджера версії 6.4.1
(UPD: замінені деякі скріншоти з версії 6.6.28 – там де відбулися зміни порівняно зі старою версією).

Запускаємо інсталятор, бачимо перше вікно конфігурації:



Перший шлях program directory - куди встановлюється сам BOINC-менеджер. Залишаємо за замовчуванням.
Другий шлях, data directory - де зберігатимуться дані проектів: розрахункові модулі, завдання та інше. Рекомендую змінити шлях за замовчуванням, щоб все що стосується Boinc знаходилося в одній папці.

Наступні три галочки залишаємо до смаку, але я прибираю першу, "використовувати скрінсейвер". Щоб не заважав.

Якщо при установці пише Error reading setup initialization file, читаємо
Короткий переклад:
1. запустити інсталер із параметром /a
2. вказати на якому диску знаходиться windows
3. встановити як завжди

Все, процес початкового налаштування завершено, і після завершення інсталяції програма попросить Вас перезавантажити комп'ютер.

Після перезавантаження Ви побачите приблизно такий екран:

Тому йдемо до "Додатково" - "налаштування програми" і починаємо там господарювати.
(advanced - options - general - language selection - це якщо раптом у Вас російська автоматично не визначилася).

Налаштування:

Вкладка "Загальні"

* Вибір мови інтерфейсу

* Інтервал між спробами менеджера з'єднатися із сервером проекту. За замовчуванням менеджер автоматично раз на 60 хвилин коннектиться до сервера: для відправки вже готових завдань та для отримання нових розрахунків. Хочете – міняйте, я залишив за замовчуванням.

* Запускати менеджер під час завантаження системи? Гадаю, логічно запускати. Хоча якщо Вам не потрібний значок у треї - то можна і не запускати.

* Увімкнути повідомлення при виході? Якщо стоїть галка, то якщо Ви захочете вийти з менеджера, випливатиме таке вікно:

У цьому вікні можна зробити такі опції:
* "Зупинити процес розрахунку та вийти з менеджера". Зручне питання, яке постало лише у 6-й версії BOINC-менеджера.
Не ставте галку – тільки закривається менеджер, проект працює далі.
Ставте галку – зупиняється проект та закривається менеджер.

* "Запам'ятати мій вибір і більше не ставити це питання" - думаю, і так зрозуміло, на що впливає друга галка.

Вкладка "Параметри підключення"



Вкладка "HTTP проксі"



Вкладка "SOCKS проксі"



Вибираємо пункт у меню "Додатково" - "налаштування клієнта"

Вкладка "процесор"



* "При живленні від акумуляторів"- Актуально для ноутбуків та ПК з налаштованим софтом для роботи з UPS. Швидше за все прибираємо, навіщо нам на ноуті садити батарею?

* "коли ПК використовується для роботи"- Дуже потрібна галка, ставимо обов'язково. Інакше BOINC буде чекати, поки ви відійдете від комп'ютера на "3 хвилини" (за замовчуванням).

* "Використовувати GPU коли комп'ютер використовується для роботи"- Використовувати для розрахунків відеокарту, коли ви працюєте? Якщо так - то відеокарта буде проводити обчислення постійно, якщо ні - то буде чекати, поки ви відійдете від комп'ютера на "3 хвилини" (за замовчуванням).

* Нижче слідує група налаштувань для естетів: можна налаштувати розклад, згідно з яким BOINC буде проводити розрахунки.

Ще нижче розташовані "інші параметри".
* "Переключення між проектами кожні 60 хвилин". Якщо ви завантажили для розрахунків пачку завдань від різних проектів (наприклад ABC@home та Primegrid), то клієнт буде раз на 60 хвилин міняти проекти: година вважається ABC@home, потім година вважається Primegrid і т.д.

* У багатопроцесорних системах використовуватиме 100% процесорів.
Якщо у вас чотириядерний процесор - то використовуватиметься 4 ядра, якщо поставите 50% - 2 ядра.

* використовувати не більше 100% процесора- на скільки відсотків BOINC рівномірно завантажить доступні ядра.

Тобто. якщо поставити 100% доступних ядер і 100% процесора – то всі 4 ядра нашого кваду працюватимуть на 100%.
А якщо поставити 50% ядер, 80% завантаження – то у нашому кваді два ядра будуть завантажені на 80%.


Вкладка "налаштування мережі"



Загальні параметри.Це управління КЕШ.
Виставляємо (скоріше, чіпаємо:)) швидкість завантаження та відправлення.
Дуже важливий момент! Вибираємо, скільки днів завантажувати завдання.
Я, маючи постійне підключення до Інтернету, ставлю 1 днів основний буфер, 1 день - додатковий буфер.
Якщо ж у вас інтернет є періодично – то поставте більшу кількість днів. Тільки зверніть увагу на кінцевий термін відправлення, щоб завдання не були "простроченими".

Звідки менеджер знає скільки завдань потрібно завантажити?
На початку роботи, а потім з періодичністю в 4-5 днів менеджер запускає бенчмарк процесора. І на підставі отриманих результатів вирішує скільки штук ВЮ (work unit = Ворк Юніт = ВЮ) завантажувати в КЕШ.

* не перевіряти завантажені файли- сам незнаю, знайду відповідь – оновлю у статті цей пункт.

Параметри підключення.
Ці дві галки є актуальними для періодичних з'єднань з інтернет. Менеджер буде запитувати Вас перед спробою з'єднатися з сервером, а також зможе сам розривати з'єднання після завантаження нових і відправлення вже порахованих завдань.

Доступ в Інтернет.
Тут Ви можете налаштувати розклад, яким менеджер ходитиме в мережу (якщо Вам це потрібно).

Чи потрібний постійний доступ в інтернет?
Ні! Менеджеру доступ у мережу потрібен лише для надсилання/прийняття завдань. Так що теоретично комп'ютер може стояти без інтернет, поки є що в КЕШі рахувати.

Вкладка "Диск та пам'ять"





Тут я не порадник: які треба ставити цифри – вирішувати Вам. Я все залишив за замовчуванням. Ось тільки "період збереження на диск" я збільшив би з 60 до 300 секунд. Навіщо HDD смикати зайвий раз?

Все, початкове налаштування менеджера завершено. Переходимо до підключення проекту.

Підключення до проекту

Вибираємо "сервіс" - "додати проект".


Далі з'являється перелік проектів. Він неповний, навіть навпаки - у ньому зосереджені лише " ходові " тобто. найпопулярніші та осудні BOINC-проекти. Якщо той проект, що Вам потрібен, є в списку - гуд, якщо немає - просто вставляємо потрібну адресу проекту в нижнє поле і тиснемо далі.

Як дізнатися адресу проекту? Він є у "шапці" теми у нас на форумі. Тільки пам'ятайте, що не всі проекти, про які ми пишемо на форумі, відносяться до BOINC-проектів.

Повідомлення:
Message from server: No work sent
На даний момент сервер не видає завдання. Нічого страшного, є проекти, у яких по півроку немає завдань. Підключіться до іншого проекту.

Повідомлення:
Ви використовуєте URL-адресу для цього проекту
The correct URL is http://www.cosmologyathome.org/
Це означає, що з того моменту, як Ви підключилися до проекту, змінилася адреса сервера. Тепер потрібно перепідключитись до проекту. Тобто. видалити проект і знову підключиться, ввівши правильну адресу сервера.Все про що було написано вище стосувалося менеджера проектів, встановленого на одну локальну машину. До "локального менеджера".
Якщо у Вас одна машина - так, вам простіше керувати нею. Але якщо у вас їх десять штук, то Вам простіше підключити кожну та керувати ними централізовано за допомогою "БАМ" - "Боїнк обліковий запис Менедждера". Докладніше про нього.

Повністю присвячений питанням BOINC.

Використовують платформу BOINC, яку розробили близько десяти років тому у Каліфорнійському університеті у Берклі. Першим кроком до участі в одному з них є встановлення програми BOINC Manager.

Встановлення та налаштування клієнта BOINC

Після завантаження та встановлення клієнтської програми можна вказати один або кілька проектів, до яких є бажання приєднатися. Починаючи з шостої версії, клієнт BOINC підтримує гнучкі налаштування обчислень, що дозволяють точно вказати, якою частиною апаратних ресурсів людина готова пожертвувати для потреб науки. Крім того, можна задати в BOINC Manager автоматичну пазу під час запуску деяких програм або вести обчислення лише у певний годинник. Розрахунки можна в будь-який момент повністю або вибірково призупинити вручну і легко відновити.

Налаштування обчислень на центральному та графічному процесорі в клієнті BOINC

Крім опцій клієнтської програми, для кожного проекту передбачені налаштування через веб-інтерфейс на особистій сторінці учасника.

Налаштування проекту BOINC через веб-інтерфейс

Оцінити обчислювальну потужність комп'ютера можна вбудованим бенчмарком BOINC. Він іноді використовується для порівняння реальної продуктивності різних конфігурацій.

Вбудований тест продуктивності клієнта BOINC

Вибір проектів з урахуванням доступних ресурсів

За виконання наукових розрахунків важливу рольграє продуктивність блоків FPU, що здійснюють обчислення з плаваючою комою. Точність обчислень може бути різною. Зазвичай говорять про три реалізовані на практиці типи:

  • FP16 (Half Precision) - половинна точність обчислень з плаваючою комою;
  • FP32 (Single Precision) - одинарна точність обчислень з плаваючою комою;
  • FP64 (Double Precision) - подвійна точність обчислень з плаваючою комою.

Саме останній тип обчислень (FP64 або binary64 за стандартом IEEE 754) найбільш затребуваний у розрахунках BOINC та інших наукових програмах, оскільки він дозволяє оперувати значеннями в діапазоні від ≈ 10 -308 до 10 308 з точністю до 15 знака (у десятковому вираженні) після комою. Однак частка обчислень з одинарною точністю також дуже велика і навіть достатня для окремих проектів.

Сучасні відеокарти підтримують технології обчислень загального призначення. Будь-який відеочіп, випущений після 2007 року, подолає наукові розрахунки краще, ніж порівняльний за ціною центральний процесор близького покоління.

Архітектура та швидкість обчислень типу FP32 та FP64 деяких відеокарт

Якщо раніше в цьому сегменті домінувала nVidia (у тому числі за рахунок випуску прискорювачів Tesla тієї ж архітектури), то зараз все більше проектівдивляться у бік AMD (ATI).

Приклад виконання проектів BOINC на відеокарті AMD

З'явилися і такі проекти, що підтримують прискорення на відеокартах AMD, але не працюють із продуктами nVidia.

Проекти BOINC з ексклюзивною підтримкою відеокарт AMD

Імовірно, це пов'язано з тим, що при високій швидкості обчислень FP32 відеокарти nVidia на чіпі GK104 демонструють сильне падіння продуктивності в розрахунках типу FP64. Наприклад, якщо Radeon HD 6930 виконує обчислення з подвійною точністю вчетверо повільніше, ніж з одинарною (480 і 1920 гігафлопс відповідно), то GeForce GTX 680 - двадцять чотири (128 і 3090 гігафлопс).

Коли "останній" не означає "кращий"

Саме собою використання більш сучасних чіпів які завжди означає приріст у швидкості. Наприклад, HD 6850 не здатний рахувати з подвійною точністю, а HD 5850 виконує обчислення FP64 зі швидкістю до 418 гігафлопс.

Топові відеокарти часто мають продуктивність багатопроцесорного сервера. Наприклад, відеокарта з чіпом HD 7970 містить 2048 обчислювальних ядер, об'єднаних у 32 блоки. Її теоретична продуктивність становить 3789 гігафлопс при операціях з одинарною та 947 гігафлопс – з подвійною точністю.

Для порівняння: арифметична частина процесора Core-i5 3570K забезпечує 122 гігафлопи (FP32) та 61 гігафлопс (FP64) у турборежимі, а Intel HD Graphics 4000 дає приріст ще на 147 гігафлопс (FP32). У AMD A10-5800K розрахункова продуктивність арифметичної частини також знаходиться на рівні 122 гігафлопс (FP32) і 61 гігафлопс (FP64), але відеоядро Radeon HD 7660D забезпечує чотириразовий приріст – на 614 гігафлопс (FP).

Зараз є сенс вибирати ті проекти, які можуть бути обраховані з використанням відеокарт або хоча б вбудованих графічних ядер. Однак між теоретичною межею продуктивності та практично досягається результатом часто спостерігається різниця не на відсотки, а в рази. Вона обумовлена ​​кваліфікацією програмістів та оптимізаційними межами для кожного конкретного завдання.

Наприклад, завдання проекту Einstein@home на комп'ютері з Core-i3 2100 та відеокартою Radeon HD 6850 обраховуються зі швидкістю 49,5 гігафлопу, а POEM@home – 71,4 гігафлопу з тими самими налаштуваннями. Обидва проекти декларують підтримку прискорення обчислень відеокарт AMD.

Витрати електроенергії

Важливим моментом є енергоефективність різних систем. Зараз вона становить від 1 до 20 гігафлопс на ват, і цей параметр безпосередньо впливає на те, як збільшиться ваш рахунок за електроенергію. З погляду економічності привабливі не лише спеціалізовані прискорювачі та серверні рішення, але також APU та окремі масові відеочіпи. У AMD найцікавіші чіпи розташовані ближче до початку цінового діапазону, а у nVidia – переважно у верхній третині.

Наприклад, ефективність недорогої відеокарти Radeon HD 7770 складає 16 гігафлопс на ват у розрахунках FP32, проте її використання для виконання FP64 розрахунків невиправдано - тут вона продемонструє результат всього в 1,0 гігафлопс на ват. Навіть у випущеного в 2009 році чіпа HD 4750 цей показник був набагато кращим - 2,5 гігафлопса на ват.

GeForce GTX 660Ti належить до верхньої межі середнього цінового діапазону, але витрачає енергію ефективніше: 16,4 гігафлопи на ват у розрахунках FP32 і 2,1 гігафлопи на ват при обчисленнях з подвійною точністю.

Якщо (теоретично) тримати BOINC у режимі постійної обробки і не вимикати комп'ютер, то при споживаній потужності ≈ 200 Вт він додасть за місяць менше 150 кВт * год до показань лічильника. У типовому сценарії використання (коли BOINC активний лише у простій, а комп'ютер працює по кілька годин на день і вимикається на ніч) – менше десяти кіловат-година.

Можливо, ці незначні витрати на підтримку дослідницьких команд провідних університетів світу багатьом видадуться більш виправданими, ніж перерахування пожертв сумнівним благодійним організаціям.