Волонтерські обчислення

користувачі безоплатно надають обчислювальні ресурси для наукових досліджень
(Перенаправлено з Добровольчі обчислення)

Волонтерські обчислення (англ. Volunteer computing) — розподілені обчислення з використанням наданих добровільно обчислювальних ресурсів. Сучасні обчислювальні системи для добровільних обчислень будуються на базі Ґрід-систем.

Обчислення з клієнтом BOINC
Обчислення в проєкті Seti@home

Історія ред.

Ідея добровільного використання комп'ютерів простих користувачів для розподілених обчислень з'явилась з появою інтернет. Вона полягала в тому, що у світі з'явилася велика кількість персональних комп’ютерів, які не весь час працюють на своїй максимальній обчислювальній потужності. Залучення цих комп'ютерів до обчислювальної мережі дозволяє отримати більше ресурсів для потреб науки, ніж при застосуванні будь-якого іншого підходу. Більш того, переваги від застосування волонтерських обчислень постійно зростають, оскільки у світі збільшується як кількість комп’ютерів, так і їх потужність[1].

Ідею організації масового проєкту розподілених обчислень на комп'ютерах добровольців запропонував 1994 року Девід Джіді. Науковий план проєкту Девід Джіді (англ. David Gedye) і Крейг Каснофф із Сієтла представили на п'ятій міжнародній конференції з біоастрономії в липні 1996 року[2].

У січні 1996 року стартував проєкт GIMPS із пошуку простих чисел Мерсенна.

28 січня 1997 стартував конкурс RSA Data Security на вирішення задачі злому методом простого перебору 56-бітного ключа шифрування RC5. Завдяки хорошій технічній і організаційній підготовці проєкт, організований некомерційним співтовариством distributed.net, швидко здобув широку популярність[3].

17 травня 1999 стартував проєкт SETI@home на базі Grid, а на початку 2002 року завершилася розробка Каліфорнійського Університету в Берклі відкритої платформи BOINC (англ. Berkeley Open Infrastructure for Network Computing), що розроблялася з квітня 2000 року для SETI@Home, хоча першим проєктом на платформі BOINC став Predictor@home, запущений 9 червня 2004.

Такі проєкти розподілених обчислень в інтернет, як SETI@Home та Folding@Home мають обчислювальну потужність порівняну з найпотужнішими суперкомп'ютерами. Інтегральна продуктивність проєктів на платформі BOINC на 16 квітня 2012 становила 6,1 петафлопс. Проєкт відзначений в Книзі рекордів Гіннеса як найбільше обчислення[4]. Для порівняння, пікова продуктивність найпотужнішого суперкомп'ютера на 2012 рік становила 10,51 петафлопс («K», Японія)[5]; а в середині 2011 року — 2,57 петафлопс (Тяньхе-1А)[6].

Організація обчислень ред.

Системи для проведення розподілених волонтерських обчислень мають клієнт-серверну архітектуру[7]. Як клієнти використовують спеціалізовані застосунки чи веб-оглядачі. Спеціалізований застосунок волонтер має самостійно встановити на свою обчислювальну систему. У випадку використання веб-платформи для проведення обчислення середовищем виконання програмного коду стає браузер, що підтримує технологію Web Worker[en] (вона надає можливість виконувати програмний код в інших потоках, завдяки чому не блокується процес рендерингу web-сторінок)[8].

Далі волонтер реєструється та приєднується до обчислення певного завдання. Клієнтська частина створює з’єднання із серверною частиною, стежить за його станом (перестворює за потреби). Завдання для обчислення та результати їх виконання транспортуються мережею Інтернет.

На сьогоднішній день[коли?] для спрощення процесу організації й управління розподіленими обчисленнями створено кілька програмних комплексів, як комерційних, так і абсолютно безкоштовних[джерело?].

ПЗ для організації добровільних обчислень ред.

  • Apache Hadoop
  • BOINC — відкрита інфраструктура для розподілених обчислень університету Берклі (Berkeley Open Infrastructure for Network Computing), що розповсюджується під ліцензією LGPL.
  • Condor [Архівовано 11 листопада 2011 у Wayback Machine.](англ.)
  • Globus Toolkit [Архівовано 9 листопада 2013 у Wayback Machine.](англ.) — набір програм з управління розподіленими обчисленнями.

Джерела ред.

  1. Технології розподілених систем і паралельних обчислень, 2019, с. 6—7.
  2. Юрий Ильин (12 марта 2003). SETI для внеземного разума: 24 часа на поиски. MEMBRANA. Архів оригіналу за 7 жовтня 2011. Процитовано 9 червня 2012.
  3. Максим Малаховский (июнь 2009). С миру по нитке: Суперкомпьютер. Популярная механика. Архів оригіналу за 18 жовтня 2011. Процитовано 9 червня 2012.
  4. Largest Computation [Архівовано 28 листопада 2005 у Wayback Machine.], Книга рекордів Гіннеса
  5. TOP500 за листопад 2011. Архів оригіналу за 2 жовтня 2016. Процитовано 9 червня 2012.
  6. November 2009. TOP500 Supercomputing Sites. Архів оригіналу за 6 вересня 2018. Процитовано 9 червня 2012.
  7. Орос, 2019, с. 8.
  8. Орос, 2019, с. 9.

Посилання ред.