Всё большую популярность получают распределенные вычисления. Для реализации таких проектов требуется специальное программное обеспечение. Многие команды привлекают к расчетам добровольных участников, которые гоняют программы на своих домашних компьютерах. В России также есть и свои проекты, и участники различных международных программ. О некоторых вопросах, связанных с распределенными вычислениями, мы побеседовали с группой экспертов. На вопросы отвечают Александр Андреев (администратор сайта BOINC.RU, один из основателей команды «Russia Team»), Максим Манзюк (основатель команды «Crystal Dream»), Эдуард Ватутин, доцент Юго-Западного государственного университета, научный руководитель проекта Gerasim@home. Задавал вопросы Сергей Попов.
— Что это такое — распределенные вычисления?
А.А.: Распределенные вычисления — это способ выполнения трудоемких расчетов с использованием группы компьютеров.
То есть большая и трудоемкая задача разбивается на множество небольших «кусочков», которые рассылаются на компьютеры, расположенные в различных городах и странах и объединенные локальной или глобальной сетью. На этих ПК и происходит расчет задач. А на основной сервер возвращаются готовые результаты. Этот способ известен давно, и так называемые GRID-системы широко используются в технических и научных областях деятельности.
М.М.: Здесь мы хотели бы прежде всего поговорить о добровольных распределенных вычислениях (ДРВ), т.е. вычислениях на компьютерах, добровольно предоставляемых участниками различным проектам. Обычно к серверу, рассылающему задания, эти компьютеры подключаются через Интернет. Участие в вычислениях не накладывает на компьютер никаких ограничений и заключается в простой установке программы, которая запрашивает задания, выполняет необходимые вычисления и отправляет полученные результаты на сервер проекта, где те проходят дополнительную проверку.
— Когда впервые появились сети для распределенных вычислений? Какие задачи ставились?
М.М.: Мы уже говорили, что распределенные вычисления — это любые вычисления, в рамках которых единая задача решается независимыми вычислителями, которые, однако, во время расчетов могут общаться между собой. Первые программы, выполнявшие вычисления как распределенные, появились почти одновременно с первыми компьютерными сетями.
А вот ДРВ впервые широко стали известны во второй половине 90-х годов благодаря SETI@home и distributed. net, ставшими де-факто первыми настоящими проектами ДРВ. Их задачи сильно различались. Если distributed. net пытался доказать сложность взлома зашифрованных данных, а за нахождение закодированного слова полагалось денежное вознаграждение, то SETI@home занимался обработкой данных, получаемых на радиоастрономической обсерватории в Аресибо — с целью поиска в «космическом шуме» необычных, искусственных сигналов, которые бы явно свидетельствовали о том, что мы не одиноки во Вселенной. Масштабность и необычность задачи привели к тому, что SETI@home стал на долгие годы самым популярным проектом.
Э.В.: Кроме того, в рамках этого проекта Дэвидом Андерсом был разработан и позднее выложен в свободный доступ инструментарий, послуживший основой для платформы BOINC (англ. Berkeley Open Infrastructure for Network Computing— «открытая инфраструктура для сетевых вычислений Беркли»), объединяющий на данный момент более 70 проектов GRID-вычислений.
— Что такое платформа BOINC?
М.М.: Для организации проекта распределенных вычислений необходим набор стандартных элементов как на стороне сервера (программные модули по рассылке заданий, их созданию и учету), так и на стороне компьютера участника — интерфейс, который позволяет подключаться к проекту, контролировать получение заданий, ход расчетов, наличие или отсутствие ошибок и т.п. Все эти функции и берет на себя инфраструктура BOINC, состоящая из двух основных частей: сервера проекта (который устанавливают и настраивают организаторы проектов) и BOINC Manager— оболочки, которую устанавливают у себя участники ДРВ.
А.А.: Программная платформа BOINC делает участие в ДРВ достаточно простым. На начальном этапе от участника не требуется никаких сложных манипуляций. Инсталляция оболочки и подключение к проектам займут не более 10-15 минут.
Вряд ли ошибусь, если скажу, что именно создание и развитие программы BOINC привело к росту популярности и разнообразию проектов распределенных вычислений.
— Какие проекты сейчас наиболее известны?
М.М.: Активных BOINC-проектов сейчас очень много, поэтому определить популярность довольно сложно. Но можно выделить группу из SETI@home, Einstein@Home, World Community Grid, Rosetta@Home, ClimatePrediction.net, MilkyWay@ Home и LHC@home.
О SETI@home мы уже говорили чуть выше. Einstein@Home занимается поиском гравитационных волн и нейтронных звезд (пульсаров), обрабатывая данные, поступающие из трех обсерваторий различного типа: гравитационных интерферометров LIGO, радиоастрономических обсерваторий Аресибо и Паркс и космической гамма-обсерватории Fermi.
World Community Grid — по сути целый набор подпроектов, каждый из которых в рамках WGC может рассылать свои задания. Основные направления — фармакология и разработка технологий ресурсосбережения и экологии. Главным организатором этого проекта является гигант компьютерной индустрии — IBM.
Rosetta@Home моделирует процессы свертывания белков (фолдинг) и поиск их трехмерных структур, соответствующих состояниям молекул с минимальной энергией по известной химической формуле белка.
ClimatePrediction.net моделирует климат как всей планеты Земля в целом, так и ее отдельных участков с учетом различного набора факторов, влияющих на него.
MilkyWay@Home, «просеивая» данные Слоановского обзора неба, выделяет из общей массы те звезды, которые принадлежат к звездным потокам вокруг нашей Галактики и моделируют историю их развития.
Э.В.: LHC@home моделирует прохождение пучков частиц внутри Большого Адронного Коллайдера. Цель проекта — подбор оптимальных значений параметров более чем 1000 магнитов таким образом, чтобы пучок терял как можно меньше частиц во время работы ускорителя, а детекторы, соответственно, собирали как можно больше интересующих физиков данных. Напомним, что 4 июля учеными CERN было объявлено об обнаружении новой частицы, которая с высокой долей вероятности является бозоном Хиггса, поиски которого продолжаются уже почти полвека. Без проекта распределенных вычислений LHC@Home открытие могло бы и не состояться.
— Какие важные результаты уже удалось получить с помощью распределенных вычислений?
М.М.: В Einstein@Home открыто более трех десятков пульсаров, разработаны новые алгоритмы выделения полезных данных из зашумленного сигнала интерферометра LIGO для поиска гравитационных волн.
В MilkyWay@Home удалось восстановить структуру приливного потока в Стрельце и реконструировать его историю.
В математических проектах типа PrimeGrid или ABC@home активно накапливается статистика по abc-тройкам, арифметическим прогрессиям простых чисел и прочим интересующим математиков объектам.
Проекты SAT@home и Gerasim@ Home уже выполнили свои первоначальные задачи и по анализу алгоритма шифрования A5/1 и анализу качества разбиений граф-схем параллельных алгоритмов (SAT@home сейчас работает над решением новой задачи).
Надо помнить, что проекты ДРВ предоставляют научным группам только инфраструктуру для вычислений. Всё остальное зависит от ученых. Некоторым из них удается добиться каких-то открытий, а некоторые проекты изначально нацелены на очень тяжелую и объемную по вычислениям работу: по анализу молекулярной структуры белков и иных химических соединений, по оценке того, насколько верно мы умеем моделировать климат, или, например, это может быть поиск инопланетных сигналов (SETI@home). Хотя у этого проекта нет гарантии успеха, сама поставленная задача фундаментальна и увлекательна.
А.А.: К сожалению, абсолютное большинство проектов иностранные. Вся доступная нам информация представлена на английском, немецком и других языках. Мы стараемся делать локализацию некоторых ресурсов, размещаем переводы материалов у себя на сайте, но этого, конечно, недостаточно. Не стоит забывать, что всё это делается на добровольной основе, любителями и в свое свободное время. Часто приходится добывать информацию по косвенным признакам, из сообщений на форумах, отдельных статей (иногда находящихся в платном доступе), так как не все организаторы проектов уделяют достаточно внимания информированию участников о ходе своих исследований.
— Кто организует проекты распределенных вычислений?
А.А.: Спектр организаторов очень широкий — от небольших коллективов и даже одиночек до крупных научных центров. Основная причина организации таких проектов — относительная дешевизна, поскольку большая часть вычислительных ресурсов проекту достается практически даром. Мне трудно представить стоимость аренды суперкомпьютера для проекта типа Einstein@home, работающего уже много лет и достигшего производительности более 500 терафлопс. Думаю, что научная группа уже давно разорилась бы.
М.М.: Чисто технически организовать проект распределенных вычислений может любой человек, сумевший настроить сервер BOINC. Но для того, чтобы привлечь в проект участников, его задачи должны быть интересны широкому кругу людей, что невозможно, если проект не имеет никакой научной ценности.
— Упоминаются ли участники, предоставившие ресурсы своих машин для вычислений, при публикации результата?
А.А.: Да, сейчас это становится «хорошим тоном». Например, в проекте Einstein@home публикуют имена (ники) тех участников, чьи компьютеры помогли обнаружить пульсары. Так же поступают организаторы SAT@ home и некоторых других проектов.
М.М.: Как правило, в научных статьях высказывается благодарность всем участникам проекта. Но ничто не мешает делать это и более персонифицированно. В Einstein@Home кроме упоминания на сайте проекта участники, открывшие радиопульсар, получают сертификат в рамочке.
— Почему люди участвуют в этих проектах? Что ими движет?
М.М.: Основные мотивы — это желания:
— помочь науке;
— привлечь свой компьютер к решению полезных задач (ведь, по статистике, наши ПК большую часть времени не нагружают ни процессор, ни видеокарту серьезными вычислительными задачами);
— посоревноваться в статистике с другими участниками, командами или странами.
А.А.: Я бы назвал еще два момента:
Интерес. Начиная считать проект, мы практически ничего не знаем об этом направлении научной или технической деятельности. Становится интересно, что же мы все-таки считаем? Чтобы это понять, приходится поискать в Интернете, попытаться перевести иностранные тексты, пообщаться с сотоварищами. Сам по себе этот процесс тоже во многом увлекателен.
Общение. В сфере ДРВ вращается немало интересных людей. С ними многое можно обсудить, подискутировать и даже поспорить, да и поругаться иногда (не без этого). Было бы желание, а тема для общения всегда найдется.
— Каков опыт применения этой технологии в России? Есть ли российские проекты? Много ли участников из России участвует в международных проектах?
М.М.: За время существования проектов распределенных вычислений было несколько попыток создания отечественных проектов. Не все оказались удачными. Могу отметить такие проекты:
1. Gerasim@Home — http://gerasim.boinc.ru (проект завершен, не раздает задания, но функционирует «в холостом режиме»).
2. OPTIMA@HOME — http://boinc.isa.ru/dcsdg (имеет задания только под Linux).
3. SAT@home — http://sat.isa.ru/pdsat (активно работает).
На данный момент в тех или иных проектах приняли участие больше 36 тысяч человек из России. Около 5500 из них активно считают и сейчас.
— Что стоит почитать про распределенные вычисления и проекты на платформе BOINC?
М.М.: Новости проектов, их описания и статьи, вышедшие в научной прессе, а также форумы команд-участников — какой-либо другой информации на данный момент просто нет.
А.А.: Да, действительно, информацию в основном можно получить лишь на сайтах проектов. В русскоязычном сегменте могу порекомендовать сайты BOINC.RU и distributed.ru, где силами энтузиастов собрано много локализованной информации о проектах. Ну и, конечно, много материала на эту тему есть в Википедии.
Ну меня Супер процессор ZEVS-2XXX — 999 Гегагерц 999 ядерный 999,900 Перафлопс (работа кибер процессора 4 пика секунды помощнее ваших суперкомпьютеров