Распределённые вычисления (distributed computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием нескольких компьютеров, объединённых в параллельную вычислительную систему.

Сегодня владельцам персональных компьютеров предлагают принять участие в решении научно-исследовательских задач в таких категориях:

  • математика
  • физика
  • химия
  • медицина
  • криптография
  • космос
  • планета Земля
  • эволюция
  • искусственный интеллект
  • Интернет
  • рендеринг
  • игровые проекты

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

Зачем нужны распределённые вычисления

Распределённые вычисления (РВ) используют незадействованные ресурсы компьютера пользователя. Например, в то время как пользователь набирает текст в Word, слушает музыку или пользуется Интернетом, его процессор загружен не более чем на 5-10%. На эти пропадающие даром 90-95% процессорной мощности и претендует во время работы программа распределённых вычислений. При этом, загрузив клиент распределённых вычислений для решения какой-то ресурсоёмкой научной задачи, пользователь не ощутит никаких неудобств – программа берёт для себя низший приоритет в системе, не мешая работе других программ.

Принцип работы программы распределённых вычислений

Принцип работы заключается в том, что одна большая задача, которую можно решить только с помощью суперкомпьютера, разбивается на десятки тысяч маленьких заданий, обработать которые сможет любой домашний или офисный компьютер за промежуток времени от нескольких минут до нескольких десятков часов. Поскольку этих домашних компьютеров может быть подключено к проекту несколько миллионов (информация о существующих и существовавших проектах – на сайте distributedcomputing.info), то их общая производительность может быть наравне, а то и превосходить вычислительную мощь суперкомпьютеров из первой десятки Top500 (www.top500.org).

При запуске клиента распределённых вычислений происходит следующее:

  1. Компьютер запрашивает новые задания на сервере.
  2. Сервер проверяет, есть ли у него подходящие для вашего ПК типы заданий, и если есть – выдаёт их.
  3. Ваш компьютер загружает порцию новых заданий.
  4. Начинается обработка заданий.
  5. После того как все задания обработаны, компьютер отгружает результаты на сервер. И запрашивает новую порцию. Цикл повторяется снова.

Чтобы стать участником какого-либо проекта, достаточно загрузить и установить программу-клиент. А потом зарегистрировать свой аккаунт в проекте. Остальные действия клиент сделает сам. Также существуют высокопроизводительные SMP-клиенты, которые полностью используют возможности многоядерных процессоров (SMP – cимметричное мультипроцессирование – это архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров (или ядер одного процессора) подключаются к общей памяти).

Зачем люди участвуют?

Вот основные причины (по мнению Украинской команды РВ), почему люди участвуют в проектах распределённых вычислений.

  • Считать ради науки. Кому-то нравится тот факт, что он принимает участие в научном процессе, пусть и таким довольно оригинальным способом.
  • Ради интереса. Участник-новичок начинает считать проект, ничего о нём не зная, но со временем знакомится с материалами, вникает в суть дела и становится очень подкованными в этом вопросе. Есть случаи, когда добровольцы помогали организаторам проекта, предлагая более оптимизированные расчетные модули, способные в несколько раз быстрее обрабатывать результаты.
  • Спорт. У каждого проекта есть статистика. Во-первых, видно, сколько обработанных результатов участник отправил, а во-вторых, сколько очков ему за это дали. Поскольку есть статистика трёх типов (по участникам, по командам, по странам), то и есть дух соревновательности.
  • Бэнчмарк. Тоже соревновательность, но в свете «чья домашняя система за сутки даёт больше очков». Поэтому так же, как и в соревнованиях 3D-марк или фьючермарк, у кранчеров (это те, кто считают проекты РВ) есть стимул выжать со своей системы максимум производительности и зафиксировать ее «документально».
  • Комьюнити. Форум, общение, тренд, мода. У участника есть возможность познакомиться с единомышленниками, подискутировать на волнующие его темы.

Встречаются даже проекты, которые декларируют денежный приз за участие. Самый известный – distributed.net.

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

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

26 июня 2008 года стартовал первый украинский проект РВ – Magnetism@home (подробнее о нём – на сайте kinetic.dnsalias.org/magnetism), организованный Константином Метловым из Донецкого физико-технического института НАН Украины (ДонФТИ НАНУ).

Magnetism@home – BOINC-проект, который использует соединенные компьютеры, чтобы исследовать равновесные, метастабильные и переходные магнитные конфигурации цилиндрических наноэлементов. Затем с развитием проекта область расчётов станет постепенно расширяться, по мере того как будет отрабатываться методика вычисления и проверка влияния параметров алгоритма на их точность.

BOINC (англ. Berkeley Open Infrastructure for Network Computing — открытая программная платформа Калифорнийского университета в Беркли для распределённых вычислений) — некоммерческое межплатформенное ПО для организации распределённых вычислений».

Статистика проекта Magnetism@home на сайте boincsynergy.com по состоянию на 18 октября 2010 года.

Название проекта Magnetism@home
Общее количество кредитов (очков) 31,279,289 кредитов (очков)
Среднее количество получаемых кредитов (очков) 1 кредитов (очков)
Всего участников 1,839 участников
Всего команд 275 команд
Всего хостов 5,360 хостов
Всего стран 75 стран

Как присоединиться

Чтобы принять участие в распределённых вычислениях, достаточно установить у себя на компьютере BOINC-клиент. Вот ссылки на все необходимые для этого ресурсы:

  1. скачать BOINC-клиент
  2. установить и настроить в соответствии с инструкцией
  3. distributed.org.ua/forum — живой и очень дружелюбный форум украинской команды распределённых вычислений. Здесь вам обязательно ответят на любые воспросы, возникшие в процессе установки, настройки и работы.

Полезные ссылки

Редакция Education.UA благодарит участников форума Украинской команды РВ за помощь в подготовке материала.

Также о распределённых вычислениях читайте в нашем материале на сайте science.ua«Распределённые вычисления предоставили каждому желающему возможность участия в научных исследованиях».