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

Добровольные вычисления
Участие в проекте добровольных вычислений с помощью клиента BOINC

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

Содержание

История

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

В 1994 году Дэвидом Джиди была предложена идея по организации массового проекта распределённых вычислений, который использует компьютеры добровольцев — SETI@home[1]. Научный план проекта который разработали Дэвид Джиди и Крейг Каснофф из Сиэтла был представлен на пятой международной конференции по биоастрономии в июле 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]. Для сравнения, пиковая производительность самого мощного суперкомпьютера («K», Япония) — 10,51 петафлопс[5]. До середины 2011 года самым мощным суперкомпьютером являлся Тяньхэ-1А с производительностью «всего» 2,57 петафлопс[6]. Проект отмечен в Книге рекордов Гиннеса как самое большое вычисление[7].

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

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

Общая схема участия

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

Привлечение и мотивация участников

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

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

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

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

Критика проектов распределённых вычислений

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

Организации, участвующие в проектах распределённых вычислений

Список проектов добровольных вычислений

Информация о ходе вычислений в рамках проекта Seti@home

Ниже приведен список наиболее популярных проектов распределённых вычислений в интернете. Более полный список практически всех существующих и существовавших проектов распределённых вычислений в интернете доступен на сайте Distributed Computing (англ.).

Биология и медицина

  • Biochemical Library — проект университета Вандербилта, основными целями которого являются выяснение структуры мембранных белков (мишени для лекарств), проектирование белков с новой структурой и функциями (фолдинг), понимание количественных отношений между химической структурой и биологической активностью (синтез лекарств).
  • CommunityTSC Drug Design Optimization Lab (D2OL)[8] — проект, прекративший исследования 15 апреля 2009 года. Был разработан Институтом Детских Болезней Ротберга (англ. Rothberg Institute For Childhood Diseases). Цель проекта заключалась в поиске лекарства от туберозного склероза, для чего проводилось моделирование «кандидата» и проверка его лекарственных свойств.
  • Correlizer — проект, целью которого является исследование корреляций между последовательностями в трехмерной структуры генома.
  • DrugDiscovery@Home — Российский проект, фолдинг белка, скрининг баз данных биологически активных соединений.
  • DNA@Home — поиск последовательностей в молекулах ДНК, отвечающих за различные гены, с использованием вероятностных алгоритмов; исследование механизма транскрипции генов с использованием молекул полимеразы; исследование ДНК бактерий, вызывающих туберкулез и бубонную чуму[9].
  • evo@home — проект распределенных вычислений, целью которого является применение генетических алгоритмов для фолдинга белков.
  • grid.org — проект по поиску лекарства от рака (завершен 27 апреля 2007 года вследствие его передачи в сеть World Community Grid в качестве её первого проекта).
  • Find-a-Drug — проект по поиску лекарств от различных болезней путём расчёта докинга белков с различными молекулами (завершен в 2005 году).
  • FightMalaria@Home — моделирование докинга протеинов малярии.
  • Folding@Home — проект по расчёту третичной структуры белков.
  • Neurona@Home — моделирование поведения больших клеточных автоматов, составленных из нейронов[10].
  • NRG — проект в области молекулярного распознавания, вычислительной биологии и докинга[11].
  • Proteins@home.
  • Rosetta@home — вычисление (фолдинг) структуры белка с самой низкой энергией.
  • Volpex@UH — имитация поведения белков в клеточной среде с целью разработки лекарственных препаратов[12].
  • Wildlife@Home — анализ видеоданных записи жизни в дикой природе.
  • World Community Grid — исследования, связанные с генетикой, а также с различными тяжёлыми заболеваниями человека. Решение научно-технических проблем, связанных с экологией, здоровьем, питанием и другими проблемами человечества.

Математика и криптография

  • ABC@home[13] — проект по поиску ABC-троек, связанных с abc-гипотезой. Проект поддерживается Лейденским математическим институтом и Kennislink. abc-тройка — три положительных целых числа (a, b, c), удовлетворяющие следующим свойствам:
  • a < b < c,
  • НОД(a,b) = 1,
  • c = a + b,
  • c > rad(abc).
По состоянию на февраль 2010 года, насчитывается более 5800 активных участников из 100 стран, с вычислительной мощностью 18,4 терафлоп (18,4 триллионов операций в секунду).[14]
  • AndrOINC — проект, направленный на взлом криптосистемы RSA (ключ — 1024 бит) для изделий Motorola.
  • distributed.net — проекты по взлому RC5 полным перебором, поиск оптимальных линеек Голомба.
  • EulerNet — проект, связанный с поиском решений, подтверждающих справедливость обобщений гипотезы Эйлера.
  • Gerasim@Home — проект, направленный на исследование эвристических методов построения разбиений параллельных граф-схем алгоритмов.
  • GIMPS — проект по поиску простых чисел Мерсенна.
  • OProject@Home — проект, целью которого является анализ алгоритмов и доказательство проблемы Гольдбаха.
  • RainbowCrack.
  • SAT@home — проект, направленный на решение задачи о выполнимости булевых формул.
  • Seventeen or Bust — проект, занимающийся решением задачи Серпинского.
  • SZTAKI Desktop Grid[15] — проект, организованный венгерскими специалистами из SZTAKI — Számítástechnikai és Automatizálási Kutató Intézet (Научно-исследовательского института кибернетики и автоматизации Венгерской Академии Наук). Относится к области теории информации и помогает в изучении систем счисления. Занимается поисками матриц вплоть до 11 порядка (то есть 11 на 11 элементов), пригодных в качестве основания систем счисления. В качестве основания систем могут использоваться не только натуральные числа. Например, в двоичной системе нельзя непосредственно записать отрицательные числа и приходится вводить дополнительные условия или признаки. Данную проблему можно решить взяв за основание число «-2». Тогда при чётных степенях числа будут получаться положительные числа, а при нечётных отрицательные. Ещё более интересные математические возможности даёт использование в качестве основы не числа, а матрицы. В этом случае любой целочисленный вектор можно представить как конечное число нулей и единиц. Однако нахождение подходящих матриц дело не простое. На данный момент нет универсального и эффективного метода нахождения таких подходящих матриц. При успешном нахождении искомых систем счисления они могут найти эффективное применение в таких областях как сжатие данных, кодирование и шифрование информации. Кроме того, они интересны с геометрической точки зрения для изучения фрактальных наборов данных — одного из перспективных современных математических направлений. Несмотря на огромный объём необходимых вычислений, проект хорошо поддаётся распараллеливанию и удачно вписывается в концепцию распределённых вычислений.
  • SubsetSum@Home — решение задачи о нахождении подмножества среди элементов заданного множества целых чисел, сумма элементов которого равна искомому значению.
  • ZetaGrid — проверка гипотезы Римана (окончен в 2005 г.).

Естественные науки

Прочие

  • Ideologias@Home[16] — испанский проект, целью которого являются исследования в области социальных явлений (исследуется то, как люди в определенном регионе развиваются идеологически с течением времени по отношению к новым идеям).
  • Majestic-12[17] — английский проект распределенных вычислений одноименной компании, направленный на создание поисковой системы, способной составить «конкурентоспособную альтернативу Google»[18], но с более полной и глубокой базой данных проиндексированных интернет страниц. Работа Majestic-12 основана на использовании не процессорного времени, как большинство проектов распределенных вычислений, а интернет-канала пользователя, для того, чтобы его компьютер служил «сервером», собирающим информацию о различных интернет-сайтах, для предоставления поиска по ним.
  • Optima@home[19] — российский проект, целью которого является поиск минимума функции в различных задачах (например, расчет атомных кластеров молекул с использованием потенциала Морзе).
  • Surveill@Home[20] — проект, целью которого является мониторинг предопределенного множества web-сайтов с целью диагностики отказов и составления статистики производительности.

ПО для организации добровольных вычислений

  • Apache Hadoop
  • BOINC — Открытая инфраструктура для распределённых вычислений Университета Беркли (Berkeley Open Infrastructure for Network Computing), распространяемая под лицензией LGPL.
  • Condor (англ.)
  • Globus Toolkit (англ.) — набор программ, значительно упрощающий создание и управление распределёнными вычислениями.

Статистика участия в BOINC-проектах

По состоянию на 16 апреля 2012 года зарегистрировано 2 390 732 участников boinc-проектов, которые подключили 7 206 416 компьютеров (хостов).

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

Всего Активные
Участники 2 390 732 296 681
Хосты 7 206 416 463 477
Команды 95 427 25 099
Страны 273 229
Всего очков 911 723 115 518
Среднее количество очков за день (BOINC) 1 229 217 894
Операций с плав. точкой. В среднем в секунду 6 146 089,5 GigaFLOPS / 6 146,089 TeraFLOPS

По данным основного сервера статистики BOINC-проектов в общем зачёте лидируют участники, зарегистрированные за США. Следом за ними идут Германия и Франция. Россия продолжает динамично развиваться, в настоящее время занимает 11-е место по сумме очков и 11-е по количеству зарабатываемых очков в день.[21]

См. также

Примечания

Ссылки

Статьи о распределённых вычислениях


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Добровольные вычисления" в других словарях:

  • Распределённые вычисления — Не следует путать с Добровольные вычисления. См. также: Параллельные вычисления Распределённые вычисления способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, чаще всего объединённых в параллельную… …   Википедия

  • Грид — вычисления (англ. grid  решётка, сеть)  это форма распределённых вычислений, в которой «виртуальный суперкомпьютер» представлен в виде кластеров соединённых с помощью сети, слабосвязанных, гетерогенных компьютеров, работающих… …   Википедия

  • SLinCA@Home — Тип Грид, распределенные вычисления, волонтёрские …   Википедия

  • Einstein@Home — Платформа BOINC Объём загружаемого ПО 43 147 МБ Объём загружаемых данных задания 6 100 МБ Объём отправляемых данных задания 15 КБ Объём места на диске 120 МБ Используемый объём памяти 80 184 МБ Графический интерфейс да Среднее время расчёта… …   Википедия

  • BOINC — Тип Распределённые вычисления Разработчик …   Википедия

  • EDGeS@Home — Платформа BOINC Объём загружаемого ПО 70 МБ (ISDEP) Объём загружаемых данных задания 212 Б (ISDEP) Объём отправляемых данных задания 500 700 КБ (ISDEP) Объём места на диске 80 МБ (ISDEP) Используемый объём памяти 420 МБ (ISDEP) Графический… …   Википедия

  • SETI@home — Для термина «SETI» см. другие значения. SETI@Home Логотип SETI@Home Тип …   Википедия

  • Folding@home — Скриншот клиента Folding@home для PlayStation 3 , показывающий 3D модель моделируемого белка Тип Распределённые вычислени …   Википедия

  • Cosmology@home — Тип Распределённые вычисления Операционная система Кроссплатформенное ПО Первый выпуск 6 июня 2007 …   Википедия

  • LHC@home — Платформа BOINC Объём загружаемого ПО 2 МБ (SixTrack) Объём загружаемых данных задания 200 400 КБ (SixTrack) Объём отправляемых данных задания 35 КБ (SixTrack) Объём места на диске 14 МБ Используемый объём памяти 70 МБ Графический интерфейс нет… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»