Добровольные вычисления

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Участие в проекте добровольных вычислений с помощью клиента BOINC

Добровольные вычисления (англ. Volunteer computing) — распределённые вычисления с использованием предоставленных добровольно вычислительных ресурсов. Современные вычислительные системы для добровольных вычислений строятся на базе грид-систем.

История[править | править код]

С появлением и бурным развитием Интернета всё большую популярность стала получать идея добровольного использования для организации распределённых вычислений компьютеров простых пользователей, соединённых через Интернет. В 1994 году Дэвидом Джиди была предложена идея по организации массового проекта распределённых вычислений, который использует компьютеры добровольцев — SETI@home[1]. Научный план проекта который разработали Дэвид Джиди и Крейг Каснофф из Сиэтла был представлен на пятой международной конференции по биоастрономии в июле 1996 года[2].

В январе 1996 года стартовал проект GIMPS по поиску простых чисел Мерсенна.

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

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

Такие проекты распределённых вычислений в Интернете, как SETI@Home и Folding@Home обладают не меньшей вычислительной мощностью, чем самые современные суперкомпьютеры. Интегральная производительность проектов на платформе BOINC по данным на 17 декабря 2016 года составляет 28,7 петафлопс[4]. Для сравнения, пиковая производительность самого мощного суперкомпьютера (на 2016 год) Sunway TaihuLight — 93 петафлопс[5]. До середины 2011 года самым мощным суперкомпьютером являлся Тяньхэ-1А с производительностью «всего» 2,57 петафлопс[6]. Проект отмечен в Книге рекордов Гиннесса как самое большое вычисление[7].

На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано несколько программных комплексов, как коммерческих, так и бесплатных.

Участие в проектах распределённых вычислений[править | править код]

Общая схема участия[править | править код]

Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник загружает клиентскую часть программного обеспечения под свою операционную систему, устанавливает, настраивает и запускает её. Клиент периодически обращается к серверу проекта — запрашивает у него данные для обработки и отправляет результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя) и не мешает основной работе.

Привлечение и мотивация участников[править | править код]

Существует несколько методов привлечения участников в проекты распределённых вычислений. Прежде всего это реклама, в том числе на веб-сайтах по смежной проекту тематике. Почти каждый проект старается заинтересовать потенциальных участников описанием важности решаемой задачи и последующего применения результатов её решения в реальной жизни. Здесь, безусловно, большую выгоду могут извлечь проекты, у которых такие приложения есть (например, поиск лекарств и другие биомедицинские проекты).

Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и привлекательно оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и тому подобных информационных и коммуникационных элементов — всё это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта, которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.

Некоторые проекты распределённых вычислений так или иначе финансируются и предлагают своим участникам денежное вознаграждение при достижении определённых результатов. В частности, проекты, занимающиеся поиском редких объектов (например, чисел специального вида), могут награждать конкретных участников, нашедших на своём компьютере очередной объект поиска. Такие проекты можно рассматривать как лотерею, в которой участники платят своими компьютерными ресурсами, вычисляя что-то полезное (или бесполезное), и имеют шанс выиграть приз. При этом шанс на успех прямо пропорционален вложенным мощностям — как и в лотерее: чем больше покупаешь лотерейных билетов, тем больше вероятность выигрыша.

В 2013 году запущен проект Gridcoinкриптовалюты, использующей технологию блокчейн, эмиссия которой связана с участием в научных распределённых вычислениях платформы BOINC, т.е. пользователи получают вознаграждение за «вычислительный вклад» в науку.

Критика проектов добровольных вычислений[править | править код]

Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а также то, что их результаты будут опубликованы. Однако проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы — попытка дизассемблировать программу может быть противозаконна; таким образом точно неизвестно, какими именно вычислениями на самом деле занимается клиентское программное обеспечение.

Рядовой пользователь может стать невольным участником того или иного проекта добровольных вычислений, программное обеспечение которого может быть установлено компьютерным вирусом. Такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность пользовательского устройства, может долгое время оставаться необнаруженной. Сети (проекты) для нелегальной или неодобряемой деятельности называют ботнетами.

Статистика участия в BOINC-проектах[править | править код]

По состоянию на 7 апреля 2013 года зарегистрировано 2 563 466 участников BOINC-проектов, которые подключили 8 812 982 компьютеров (хостов).

Подробная статистика BOINC-проектов

Всего Активные
Участники 2 563 466 259 791
Хосты 8 812 982 442 507
Команды 98 055 22 649
Страны 251 238
Всего очков 1 436 484 956 800
Среднее количество очков за день (BOINC) 1 864 300 911
Операций с плав. точкой. В среднем в секунду 9 321 504,6 гигафлопс / 9 321,505 терафлопс

По данным основного сервера статистики BOINC-проектов в общем зачёте лидируют участники, зарегистрированные за США. Следом за ними идут Германия и Япония.[8]

Примечания[править | править код]

  1. Компьютер на службе науки — интервью директора SETI@Home и BOINC Дэвида П. Андерсона Архивировано 30 августа 2011 года.
  2. Ильин Ю. SETI для внеземного разума: 24 часа на поиски\\[[MEMBRANA]], 12 марта 2003. Дата обращения: 30 августа 2011. Архивировано из оригинала 7 октября 2011 года.
  3. С миру по нитке: Суперкомпьютер " журнал «Популярная механика». Дата обращения: 16 мая 2010. Архивировано 29 декабря 2009 года.
  4. BOINCstats | BOINC combined — Credit overview Архивная копия от 5 мая 2010 на Wayback Machine
  5. TOP500 за ноябрь 2016. Дата обращения: 16 декабря 2016. Архивировано 16 декабря 2016 года.
  6. November 2009 | TOP500 Supercomputing Sites. Дата обращения: 16 мая 2010. Архивировано 6 сентября 2018 года.
  7. Самое большое вычисление Архивная копия от 28 ноября 2005 на Wayback Machine, Книга рекордов Гиннесса
  8. BOINCstats | Суммарная статистика по проектам — Статистика по странам Архивная копия от 3 апреля 2012 на Wayback Machine

Литература[править | править код]