ПО для добровольных вычислений
BOINC — Открытая инфраструктура для распределённых вычислений Университета Беркли (Berkeley Open Infrastructure for Network Computing), распространяемая под лицензией LGPL.
Globus Toolkit (англ.) — набор программ, значительно упрощающий создание и управление распределёнными вычислениями.
Участие в проектах распределённых вычислений
Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник загружает клиентскую часть программного обеспечения под свою операционную систему, устанавливает, настраивает и запускает её. Клиент периодически обращается к серверу проекта — запрашивает у него данные для обработки и отправляет результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя) и не мешает основной работе.
Привлечение и мотивация участников
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и привлекательно оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и тому подобных информационных и коммуникационных элементов — всё это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта, которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Некоторые проекты распределённых вычислений так или иначе финансируются и предлагают своим участникам денежное вознаграждение при достижении определённых результатов. В частности, проекты, занимающиеся поиском редких объектов (например, чисел специального вида), могут награждать конкретных участников, нашедших на своём компьютере очередной объект поиска. Такие проекты можно рассматривать как лотерею, в которой участники платят своими компьютерными ресурсами, вычисляя что-то полезное (или бесполезное), и имеют шанс выиграть приз. При этом шанс на успех прямо пропорционален вложенным мощностям — как и в лотерее: чем больше покупаешь лотерейных билетов, тем больше вероятность выигрыша.
Критика проектов добровольных вычислений
Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а также то, что их результаты будут опубликованы. Однако проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы — попытка дизассемблировать программу может быть противозаконна; таким образом точно неизвестно, какими именно вычислениями на самом деле занимается клиентское программное обеспечение.
У рядового пользователя существует потенциальная возможность стать невольным участником того или иного проекта добровольных вычислений, программное обеспечение которого может быть установлено компьютерным вирусом. Такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность пользовательского устройства, может долгое время оставаться необнаруженной. Сети (проекты) для нелегальной или неодобряемой деятельности называют ботнетами.
Управление вычислительными заданиями
Проблема распределения различных вычислительных задач в рамках распределённой системы относится к проблеме принятия решений в условиях неопределённости. Данная проблема рассматривается в теории принятия решений и в теории неопределённости.
Распределённые операционные системы
Распределённая ОС существует как единая операционная система в масштабах вычислительной системы. Каждый компьютер сети, работающей под управлением распределённой ОС, выполняет часть функций этой глобальной ОС. Распределённая ОС объединяет все компьютеры сети в том смысле, что они работают в тесной кооперации друг с другом для эффективного использования всех ресурсов компьютерной сети.
В результате сетевая ОС может рассматриваться как набор операционных систем отдельных компьютеров, составляющих сеть. На разных компьютерах сети могут выполняться одинаковые или разные ОС. Например, на всех компьютерах сети может работать одна и та же ОС UNIX. Более реалистичным вариантом является сеть, в которой работают разные ОС, например, часть компьютеров работает под управлением UNIX, часть — под управлением NetWare, а остальные — под управлением Windows NT и Windows 98. Все эти операционные системы функционируют независимо друг от друга в том смысле, что каждая из них принимает независимые решения о создании и завершении своих собственных процессов и управлении локальными ресурсами. Но в любом случае операционные системы компьютеров, работающих в сети, должны включать взаимно согласованный набор коммуникационных протоколов для организации взаимодействия процессов, выполняющихся на разных компьютерах сети, и разделения ресурсов этих компьютеров между пользователями сети.
Если операционная система отдельного компьютера позволяет ему работать в сети, и может предоставлять свои ресурсы в общее пользование и/или использовать ресурсы других компьютеров сети, то такая операционная система отдельного компьютера также называется сетевой ОС.
Таким образом, термин «сетевая операционная система» используется в двух значениях: как совокупность ОС всех компьютеров сети и как операционная система отдельного компьютера, способного работать в сети. Из этого определения следует, что такие операционные системы, как, например, Windows NT, NetWare, Solaris, HP-UX, являются сетевыми, поскольку все они обладают средствами, которые позволяют их пользователям работать в сети.
Я никогда не
Количество участников из России, которые когда-либо подключались к проектам BOINC, на момент написания текста составляет 52 547 человек. Это примерно 0,4 % от общего населения страны. Действующих участников и того меньше — этот показатель держится на уровне 1300-1400 человек. Мировая BOINC-позиция РФ на основе RAC — 33 (из 277 стран, представленных на платформе).
Очевидно, что такое волонтерство — не для всех. Более того, начинающие кранчеры нередко испытывают быстрый спад мотивации: скачали ПО, неделю «погоняли» задачи и закрыли историю.
Как не перегореть на старте и справиться с распространенными проблемами «новичков»? Составили список советов вместе с опытными волонтерами.
Никита Кунец, системный администратор Selectel, опыт кранчера — 4 года
У меня поднято три хоста в Облачной платформе исключительно для вычислений BOINC. Так может сделать любой: поднять хост (даже с минимальными характеристиками 1 CPU, 2 GB RAM, 10 GB HDD), например, на Облачной платформе Selectel, и считать задачи там. Отмечу, правда, что при 1 CPU задачи будут обрабатываться не очень быстро. Настраивать работу BOINC в облаке будет чуть сложнее. В качестве инструкции рекомендую эту статью на Arch Wiki.
Андрей Крюков, сотрудник отдела разработки и сопровождения VMware в Selectel
Мой CPU перегревался от нагрузки — AMD Ryzen 7 3700x нагревался до ~90 градусов. Как следствие — раздражающий шум системы охлаждения. Но у меня компактный корпус ПК, и компоненты я подбирал не для постоянной нагрузки. Когда задействовал графический процессор для вычислений, проблема с перегревом решилась — компьютер работал на штатных 70-75 градусах.
Ответ скептикам
По данным, актуальным на 9 июня 2020 года, число активных участников платформы BOINС составляет 105 790 человек, к работе подключены 727 784 компьютера. Только за один этот день к сообществу присоединились более 70 новых добровольцев.
Участие в проектах добровольных вычислений — это не всегда про рациональность. Опросив кранчеров, выяснили, что обычно мотивирует присоединяться к инициативам, несмотря на некоторые их очевидные минусы.
Ощущение вклада в развитие науки
Участие в проектах дает чувство причастности к решению сложной проблемы человечества — будь то математическая задача или вызов с большим социальным выхлопом.
Дмитрий Кострюков, старший системный инженер Selectel, опыт кранчера — 9 лет
Получение личных бонусов и признания
Активные (да и пассивные) участники получают сертификаты, подтверждающие их вклад в науку. Также большинство проектов награждают кранчеров бейджами в зависимости от количества «вложений» человека в проект и результатов этой помощи. Любой участник может попасть в проектный топ и стать «пользователем дня». Также существует кросс-проектный некомандный рейтинг, попасть в который — особая честь.
Наталия Никитина, научный сотрудник лаборатории телекоммуникационных систем Института прикладных математических исследований КарНЦ РАН, руководитель RakeSearch (BOINC)
Все участники проекта автоматически попадают в общий рейтинг, ранжируемый по количеству вложенных мощностей. Такие топы — стандартный для сообщества BOINC формат. Все личные достижения сохраняются навсегда, что также важно для многих людей в сообществе. Люди видят, что есть самые разнообразные вычислительные задачи, что их можно успешно решать по определенными алгоритмам. Даже небольшой вклад имеет значение и может привести к удачному результату. Хозяева компьютеров, на которых были сделаны маленькие, но значимые открытия, награждаются бейджами (каждый месяц разными).
Причастность к сообществу, рейтинги и гонка за кредитами
На платформе BOINC устраивают и челленджи, и целые чемпионаты. Ежегодно на ней проводится личная «Формула-1» для кранчеров — Формула BOINС, где команды соревнуются по количеству мощностей, вложенных в проекты.
Чемпионат состоит из марафона и спринтов. Марафон учитывает очки, полученные за все виды участия команд в проектах BOINC. Спринты подразумевают под собой концентрацию команд на одном проекте, о котором сообщают за 24 часа до старта спринта. Таким образом, платформа привлекает внимание сообщества ко всем инициативам, а не только к тем, в которых выгодно участвовать.
На BOINC есть и несколько команд из России. Одна из самых крупных — Russia Team. Сейчас в ее составе 2 388 участников, из них активных — 164. Группа российских кранчеров занимает 32 место в рейтинге, учитывающем более 100 000 команд со всего мира.
Александр Андреев, администратор российского сайта BOINC
В «золотое время» распределенных вычислений в России — это примерно «нулевые» годы — создание команды было событием. Звучали планы о формировании национальной «сборной». Мы выстраивали тактику, чтобы вырваться в лидеры. Каждая уважающая себя команда имела свой сайт и форум. Конечно, всегда находятся те, кто считает, что такие соревнования — это антинаучно, что они подрывают саму идею добровольных вычислений. С другой стороны, состоять в какой-то группе (в играх — это гильдия, клан) — естественная социальная потребность человека.
Для кого-то такие элементы геймификации являются дополнительной мотивацией для участия в проектах, использующих добровольные вычисления. Лично я год назад решил, что для меня это не главное. И направил свои ресурсы в проект Science United, который агрегирует исследования в разных научных областях. Там нет кредитов, бейджей и рейтинга. Люди просто вкладываются, потому что могут и хотят.
Как вычислить свой проект
Вы всегда можете зайти на сайт BOINC и выбрать любой проект, который вам покажется интересным. В таком случае обычно выигрывают инициативы, о которых пишут в СМИ, либо те, которые занимаются понятными вещами — прогнозом погоды, изучением болезней, поиском лекарств и так далее. Поэтому мы решили больше рассказать о проектах, которым не достается такого внимания.
Made in Russia
На платформе BOINC есть два проекта, инициированных российскими учеными. Оба посвящены вопросам математики. Руководители проектов рассказали, зачем им нужны мощности и каких результатов они добились благодаря волонтерам.
Gerasim@home
За годы реализации проекта волонтеры «посчитали» более 20 числовых рядов, связанных с ДЛК. Большинство из полученных цифр были до этого неизвестны. Результаты представляют фундаментальный интерес для математики. Также мы составили коллекцию из порядка 10 млн канонических форм ортогональных диагональных латинских квадратов. Тройку в их составе мы не нашли, зато обнаружили и описали множество комбинаторных структур на их базе. Сейчас анализируем свойства этих ДЛК, ищем закономерности. Построение коллекции продолжается.
Обо всех результатах мы пишем на странице проекта в Wikipedia, на форуме. Также я сообщаю о свежих новостях на своей странице во «ВКонтакте», с тегом #OLDS. В целом, данное направление живет и развивается. Нам проект на BOINC дает неплохие вычислительные мощности для решения имеющихся задач.
RakeSearch
Чем занимается: исследованием свойств диагональных латинских квадратов.
Наталия Никитина, научный сотрудник лаборатории телекоммуникационных систем Института прикладных математических исследований КарНЦ РАН, руководитель проекта RakeSearch
Одна из целей проекта — заинтересовать людей математикой, рассказывая в научно-популярной форме о сути проводимых вычислений. Я не раз становилась свидетелем, как из простого любопытства вырастает глубокое увлечение наукой. Люди начинают проявлять больше интереса к проектам, высказывают свои идеи по оптимизации процесса вычислений. Так, на форуме RakeSearch активно обсуждают программный код проекта — он открыт для всех участников. Один из волонтеров, знакомый со специфическими особенностями языка программирования, предложил вариант существенного ускорения вычислений. И мы его успешно внедрили. Буквально на днях мы завершили исследовать свойства пространства ДЛК 10 ранга. Сейчас взяли паузу на обработку полученных результатов и временно не раздаем задачи волонтерам. Но закрывать проект пока не планируем.
Проекты-агрегаторы
Существуют инициативы, под «крышей» которых реализуются сразу несколько исследований. Подключение к таким проектам позволяет вкладывать мощности сразу в несколько научных областей либо легко «перекидывать» их с одного исследования на другое.
World community grid
Сайт-агрегатор с приятным интерфейсом сразу предлагает ознакомиться с актуальными проектами. Сейчас их семь, на любой вкус. Присоединившись к WCG, вы поможете исследованиям, посвященным микробиому, детскому раку, СПИД, туберкулезу и даже прогнозированию дождей в Африке. Без исследования COVID-19 тоже не обошлось.
Science United
Этот проект собирает мощности для сообщества nanoHub, в которое входят ученые и студенты со всего мира. Научная область — нанотехнологии. У сообщества есть сайт, где в открытом доступе лежат материалы и инструменты для исследований и обучения в области нанотехнологий. Мощности добровольцев идут в основном на построение различных симуляций.
GPUGRID
Вариант для тех, кто не хочет присоединяться к BOINC или задействовать свой компьютер. Сотовый оператор Vodafone совместно с Имперским колледжем Лондона создали мобильное приложение DreamLab, которое позволит вам присоединиться к борьбе с коронавирусом. Особенность проекта в том, что он задействует мобильные процессоры для создания виртуального «суперкомпьютера». Вы можете просто запускать приложение на вашем смартфоне, пока он стоит на подзарядке, а вы — спите. U PD: Для тех, кто сомневается, стоит ли использовать для компьютерного волонтерства свой смартфон, есть инструкция.
Надеемся, этот текст вдохновил вас на вступление в ряды волонтеров проектов добровольных вычислений. Пандемия коронавируса заставила переосмыслить многие вещи, и переосмысление отношения к volunteer computing — лишь одно из них.
Selectel совместно с VMware хочет узнать, к каким изменениям привел вашу IT-команду карантин, и запускает конкурс. Расскажите, как режим самоизоляции вывел вас на новый уровень развития, и получайте призы. Две команды-победителя в каждой из трех номинаций получат наборы с фирменной символикой Selectel и VMware. В них — пять мультитулов, пять термосов и пять плюшевых Тирексов, и все это — в классной спортивной сумке.
В январе 1996 года стартовал проект GIMPS по поиску простых чисел Мерсенна, также используя компьютеры простых пользователей как добровольную вычислительную сеть.
Статистика участия в проектах
По состоянию на 16 апреля 2012 года зарегистрировано 2 390 732 участников boinc-проектов, которые подключили 7 206 416 компьютеров (хостов). По данным основного сервера статистики BOINC-проектов в общем зачёте лидируют участники, зарегистрированные за США. Следом за ними идут Германия и Франция. Россия продолжает динамично развиваться, в настоящее время занимает 11-е место по сумме очков и 11-е по количеству зарабатываемых очков в день.
Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник загружает клиентскую часть программного обеспечения под свою операционную систему, устанавливает, настраивает и запускает её. Клиент периодически обращается к серверу проекта — запрашивает у него данные для обработки и отправляет результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя (англ.)) и не мешает основной работе.
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и красиво оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и т. п. — все это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта (см. ссылки), которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Несмотря на то, что большинство проектов распределённых вычислений основываются на добровольном участии пользователей ПК, у рядового пользователя существует потенциальная возможность стать невольным участником того или иного проекта, клиентское ПО которого может быть установлено компьютерным вирусом. При современном уровне развития информационных технологий и сетей передачи данных такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность компьютера, может долгое время оставаться необнаруженной.
Критика проектов распределённых вычислений
Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а также то, что их результаты будут опубликованы. Однако проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы — попытка дизассемблировать программу противозаконна; таким образом точно неизвестно, какими именно вычислениями на самом деле занимается клиентское ПО.
Организации, участвующие в проектах распределённых вычислений
Общая схема участия в том или ином проекте распределённых вычислений выглядит так: потенциальный участник загружает клиентскую часть программного обеспечения под свою операционную систему, устанавливает, настраивает и запускает её. Клиент периодически обращается к серверу проекта — запрашивает у него данные для обработки и отправляет результаты. При этом клиент выполняется с наименьшим приоритетом (приоритетом простоя (англ.)) и не мешает основной работе.
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и красиво оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и т. п. — все это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта, которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Некоторые проекты распределённых вычислений так или иначе финансируются и предлагают своим участникам денежное вознаграждение при достижении определённых результатов. В частности, проекты, занимающиеся поиском редких объектов (например, чисел специального вида), могут награждать конкретных участников, нашедших на своём компьютере очередной объект поиска. Такие проекты можно рассматривать как лотерею, в которой участники платят своими компьютерными ресурсами, вычисляя что-то полезное (или бесполезное), и имеют шанс выиграть приз. При этом шанс на успех прямо пропорционален вложенным мощностям — как и в лотерее: чем больше покупаешь лотерейных билетов, тем больше вероятность выигрыша.
Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а также то, что их результаты будут опубликованы. Однако проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы — попытка дизассемблировать программу противозаконна; таким образом точно неизвестно, какими именно вычислениями на самом деле занимается клиентское ПО.
ПО для организации добровольных вычислений
По состоянию на 7 апреля 2013 года зарегистрировано 2 563 466 участников BOINC-проектов, которые подключили 8 812 982 компьютеров (хостов).
Подробная статистика BOINC-проектов
В январе 1996 года стартовал проект GIMPS по поиску простых чисел Мерсенна.
На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано несколько программных комплексов, как коммерческих, так и абсолютно бесплатных.
В 2013 году запущен проект Gridcoin — криптовалюты, использующей технологию блокчейн, эмиссия которой связана с участием в научных распределённых вычислениях платформы BOINC, т.е. пользователи получают вознаграждение за «вычислительный вклад» в науку.
Рядовой пользователь может стать невольным участником того или иного проекта добровольных вычислений, программное обеспечение которого может быть установлено компьютерным вирусом. Такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность пользовательского устройства, может долгое время оставаться необнаруженной. Сети (проекты) для нелегальной или неодобряемой деятельности называют ботнетами.
На сегодняшний день для упрощения процесса организации и управления распределёнными вычислениями создано несколько программных комплексов, как коммерческих, так и бесплатных.
Многие проекты создают среду для соревнования участников по объёму проделанных вычислений, как в личном, так и в командном зачёте. Вероятно, стимулом для участия в таких проектах является возможность «похвастаться» перед другими участниками доступными вычислительными ресурсами. Немаловажным фактором здесь является наличие подробной и красиво оформленной статистики о проделанной участниками работе, таблиц рейтингов, форумов для обсуждения проекта и т. п. — всё это образует социальную сеть для общения участников в среде единомышленников. При этом собственно цель вычислений проекта для многих из них уходит на второй план и становится не так важна, как, например, детали оформления сайта и клиентского программного обеспечения. Успешность такого подхода доказывает существование множества сайтов команд-участниц того или иного проекта (см. ссылки), которые добровольно и самостоятельно рекламируют выбранный проект и привлекают новых участников.
Организаторами распределённых вычислений изначально заявляется безвозмездность участия всех, кто присоединяется к их проектам, а также то, что их результаты будут опубликованы. Однако проблема в том, что исходные тексты клиентских программ большинства проектов не открыты для общего доступа, а значит, конечный участник проекта не имеет возможности проанализировать работу клиентской программы — попытка дизассемблировать программу может быть противозаконна; таким образом точно неизвестно, какими именно вычислениями на самом деле занимается клиентское ПО.
Несмотря на то, что большинство проектов распределённых вычислений основываются на добровольном участии пользователей ПК, у рядового пользователя существует потенциальная возможность стать невольным участником того или иного проекта, клиентское ПО которого может быть установлено компьютерным вирусом. При современном уровне развития информационных технологий и сетей передачи данных такая клиентская программа на вирусной основе, не наносящая вреда информации, но занимающая вычислительную мощность компьютера, может долгое время оставаться необнаруженной. Сети (проекты) для нелегальной или неодобряемой деятельности называют ботнетами.
Список проектов добровольных вычислений
Информация о ходе вычислений в рамках проекта
Ниже приведен список наиболее популярных проектов распределённых вычислений в интернете. Более полный список практически всех существующих и существовавших проектов распределённых вычислений в интернете доступен на сайте Distributed Computing .