BOINC вдома, у хмарі, на Android та Raspberry
Доброго дня вам, друзі!
Так, я пам’ятаю, що мав розповісти про свої особисті враження від року, що минув, і я це зроблю (трохи пізніше, чернетка вже є).
Сьогодні ж я хотів би поділитись досвідом стосовно використання BOINC – ключового компоненту участі в розподілених наукових обчисленнях та видобування Gridcoin’ів – валюти, про яку я вже якось писав.
Так, часу на експерименти в мене останнім часом небагато, однак, протягом останнього місяця минулого року та початку січня, я трохи погрався з встановленням та запуском BOINC в хмарі Microsoft Azure, Amazon Web Services, на Android-пристроях та Raspberry Pi 3 (model B).
Увага!
Як я вже говорив раніше, я вирішив трохи поекспериментувати з браузерним майнінгом, додаючи посилання на майнер на початку тексту кожного нового повідомлення. Я не хочу робити так, як Pirate Bay та інші сайти – все прозоро і залежить лише від вас, друзі – якщо вас зацікавила тема статті, будьте ласкаві натиснути на це посилання (альтернативний варіант – натиснути сюди), яке відкриє в новій вкладинці сторінку (вихідні коди – на Codepen, все чесно), в яку я додав інтерфейс веб-майнера однієї з небагатьох криптовалют, які ще є сенс добувати на процесорі, а також зробив лічильник вашого внеску (лише перше посилання) з можливістю подивитись, якій сумі в гривні це відповідає.
Вам це не буде коштувати нічогісінько – ви просто запустите процес і, залишивши вкладинку відкритою, повернетесь до читання статті (а можете й поспостерігати за процесом – це досить медитативне видовище). Ці нехитрі дії, можливо додадуть ту саму копійчинку, якої мені не вистачало аби ще раз випити кави, а я буду вам вельми за це вдячний.
Перш за все хочу висловити своє особисте тверде переконання, яке полягає в тому, що будь-які “важкі” обчислення краще виконувати під Linux – ця ОС, як на мене, оптимальніше працює з ресурсами й дозволяє досягти кращого рівня продуктивності. Тому для запуску BOINC я переважно використовував Linux.
BOINC на звичайних ПК
Windows
Я використовую BOINC на двох машинах. На домашній встановлено Windows 10 Professional з усіма останніми оновленнями. Встановити BOINC туди було неважко – я просто завантажив пакет BOINC + VirtualBox, запустив його, а потім переключився до розширеного вигляду, налаштував його для роботи з офіційним пулом, синхронізував проекти (які слід додати на стороні пула – в вашому обліковому записі)…
Все! В налаштуваннях немає нічого важкого, однак, якщо треба – ось відеоінструкція:
Єдина особливість – я не використовую “рідний” гаманець для Windows – замість нього я вподобав багатовалютний Android-гаманець Coinomi.
Ще один момент – раніше я писав про пул pool.gridcoin.co. Тепер же я мушу сказати, що використовувати його не варто – автор там все автоматизував й “закинув” роботу з ним:-( Краще приєднатись до офіційного пулу – www.grcpool.com.
Linux
В світі Linux з BOINC теж немає ніяких проблем. На роботі в мене встановлено Ubuntu Budgie, яка мені дуже подобається – зовнішнім виглядом, простотою, можливостями та зручністю використання.
Аби встановити BOINC слід просто відкрити термінал (наприклад, натиснувши F12 – це викличе спливаючий термінал у стилі Quake) й ввести такі команди:
sudo apt-get update
sudo apt-get install boinc boinc-dev
Все!
Далі діємо так само, як і під Windows – просто запускаємо BOINC manager через меню додатків та налаштовуємо його на роботу з пулом.
BOINC у хмарі
Azure
В першу чергу я спробував хмару Microsoft й враження в мене залишились досить неоднозначні. Не стосовно самої платформи Azure – вона дійсно чудова. Проблема в деталях. Справа в тому, що коли я спробував встановити BOINC на віртуальну машину з Ubuntu Server 16.04, у мене нічого не вийшло! В ході встановлення виявилось, що не вистачає пакетів linux-azure, встановити які явно – через apt-get install – мені теж не вдалось, скільки б я не намагався:-(
Тож довелось створити віртуалку з Windows 10 (покрокова інструкція – тут), яку я підготував у відповідності до процедури, описаної вище й вона чудово працює.
У разі необхідності підключитись до машини використовуємо найзвичайнісінький RDP (в інструкції теж про це сказано).
Amazon Web Services
З AWS все пройшло дуже й дуже гладко – я створив віртуалку з Ubuntu (мікроекземпляр, в рамках безкоштовного плану використання). Як це зробити дуже непогано – детально, з картинками – написано тут.
Після того, як машина стартує, підключаємось до неї через SSH (див. інструкцію – я теж використовую для цього Git Bash), і виконати наступні команди:
tmux
Про tmux я колись розповім окремо, він потрібен аби команди, які я виконую в терміналі, продовжили своє виконання коли я від’єднаюсь від віртуалки.
sudo apt-get update
sudo apt-get install boinc boinc-dev boinctui
Пакет boinctui – це консольний, й до речі, дуже симпатичний, варіант менеджера BOINC (TUI – Text-based User Interface). Він нам потрібен, оскільки середовище робочого столу на машині не встановлене (в Azure – теж так само), і чесно кажучи, воно там і не потрібне.
Далі слід виконати команди
boinccmd –join_acct_mgr https://grcpool.com ваш_логін ваш_пароль
boinctui
Після завантаження консольного менеджера натискаєте F9 аби потрапити в меню, переходите до меню Projects та обираєте пункт синхронізації з пулом. Через деякий час – коли відпрацює тест швидкодії та завантажаться файли ваших проектів – все почне чудово працювати:-)
Тепер можна натиснути Ctrl+b, потім d (detach tmux session) і від’єднатись від машини. Все!
BOINC на Android
Насправді – тут теж все без проблем. На сайті офіційного пулу є чудове відео з інструкцією, як все налаштувати.
Я спробував виконати всі показані у відео дії на своєму плеєрі Minix Neo X8-H.
Слід сказати, що там все працювало просто чудово. Єдина проблема – незважаючи на потужне “залізо”, в плані швидкодії плеєр, звісно ж, не рівня десктопним ПК або віртуалкам у хмарі, тож використовувати Android-пристрій в такій якості можна лише за умови шаленої любові до науки:-) Я вже мовчу про те, що (якщо обрати режим постійної роботи) пристрій може сильно нагріватись, або навіть перезавантажитись.
BOINC на Raspberry
Теж все просто, як і на інших Linux-машинах.
Аби трохи погратись, я придбав на Aliexpress комплект Raspberry Pi 3 (model B) + акриловий корпус, набір радіаторів, блок живлення з кабелем з кнопкою вмикання/вимикання, та сенсорним екраном 3.5″. Карту пам’яті на 64 Гб я придбав раніше – на одному з розпродажів:-)
Там же – в описі товару було посилання на образ системи з вже встановлениим драйвером тачскріну, тож я просто завантажив його, відформатував MicroSD карту з допомогою SD Card Formatter, й записав туди образ, використавши Etcher.io.
Звісно ж, роздільної здатності 480х320 абсолютно недостатньо, аби працювати з тачскріном у середовищі робочого столу, тож я просто підключився до WiFi (з допомогою відповідної іконки в панелі завдань), після чого під’єднався до “малинки” через SSH (так само, як і у випадку використання AWS – через Git Bash, логін – pi, пароль – raspberry).
Далі я виконав команди
sudo apt-get update
sudo apt-get install tmux
sudo apt-get install mc
Вони встановили tmux, про який я вже говорив, і файловий менеджер Midnight Commander (знадобиться).
Далі я викликав програму налаштування
sudo raspi-config
В ній я розширив образ системи на всю карту пам’яті, і увімкнув режим завантаження в термінал, а не в графічне середовище – з текстовим режимом, навіть на крихітному екрані працювати досить комфортно. Далі “малинка” перезавантажилась. Графічний інтерфейс вже не завантажувався.
Я знову підключився по SSH й налаштував мережі WiFi та автопідключення до них так, як описано тут (також є офіційна документація й, виявляється, – досить
непогана утиліта, яка значно спрощує цей процес).
Далі – встановив та налагодив BOINC так само, як і для випадку з AWS. До речі, BOINC, встановлений таким чином, буде автоматично стартувати при увімкненні “малинки”! Єдиний нюанс – не треба обирати режим постійних обчислень, оскільки в такому разі малюк може перегрітись – через певний час ви побачите іконку з термометром у правому верхньому куті екрану!
Єдине, чого я не зробив – не налагодив автоматичного запуску boinctui при старті системи. Треба буде зробити (мабуть, з crontab)…
До речі, якщо перейти до каталогу LCD-show (cd ~/LCD-show) і виконати команду ./LCD-hdmi, після перезапуску “малинка” виведе зображення на монітор, під’єднаний по hdmi. Виконавши команду startx, можна завантажити середовище робочого столу (роздільну здатність буде виставдено автоматично), а якщо ви захочете повернутись до тачскріну – просто виконайте ./LCD35-show.
Ось тут ви знайдете кілька корисних статей на тему роботи з raspberry. Мені особисто малюк дуже сподобався, хоч, звісно, можливості у нього досить скромні:-(
Про всяк випадок – ось ще одна стаття на тему видобування грідкойнів на “малинці”.
Ну і на останок хочу прорекламувати офіційний кран грідкойнів – сервіс, який раз на добу дозволяє отримати невеличку суму у грідкойнах. До речі, швейцарці в своєму крані дають теж дуже непогані суми. Також 3 GRC ви отримаєте за реєстрацію на цьому сайті, а тут ви можете попросити допомогти новачкові, й можливо, хтось пришле вам трохи монеток:-)
Що ж, на цьому я з вами прощаюсь. До зустрічі за тиждень, друзі!
Хай вам щастить, і бережіть себе!:-)
P.S. Скоро я ще розповім про невеличкий експеримент-гру за участі криптовалюти IOTA, який я планую в другому семестрі провести з моїм третім курсом:-)
Ви можете відслідковувати коментарі до цього запису за допомогою RSS 2.0. Ви можете лишити коментар, або використати трекбек з Вашого сайту.
Друзі, прошу вибачити за проблеми з форматуванням (подекуди дивні відступи та вирівнювання, розмір відео тощо) – у мене зараз немає доступу до особистої машини (не хочу встановлювати блог-клієнт на машині клієнта та вводити свої облікові записи). Трохи пізніше я все відредагую:-)
викроїв трохи часу та трохи підредагував розмітку…
Ось так мій Raspberry працює для науки в готельному номері під час відрядження:
* в графічному середовищі
* в текстовому режимі
[...] а ще й заробити трохи грідкойнів. Детальніше я вже писав про це [...]
[...] а ще й заробити трохи грідкойнів. Детальніше я вже писав про це [...]