О выпуске
Сообщество BOINC первого и восьмого апреля 2023 года провело онлайн-мероприятие BOINC workshop. Оно на английском и с zoom-качеством, но с интересным контентом. В течение нескольких выпусков разбираем с комментариями все воркшопы мероприятия один за другим.
Первый доклад со вступительным словом Дэвида Андресона, одного из создателей BOINC и ответами на вопросы слушателей.
Выпуск 6
Дэвид Андерсон и Алекс Пискун о прошлом и будущем BOINC

Транскрибация

Добрый день, с вами Василий Закиев и подкаст Гритка. Мы записываем аудио и видео про распределенные вычисления и про Boeing. Мы делаем это для ученых, для добровольцев и просто людей, которые хотят разбираться в том, как работают интересные штуки на нашей планете. На этом подкасте мы разбираем проекты, которые работают в Боинге, мы переводим хорошие материалы и вообще в целом разбираемся с тем, как работает эта сфера. Иногда мы это делаем с гостями, сегодня я буду один и мы будем разбирать так называемый Boeing Workshop. Я сейчас расскажу об этом с самого начала и потом перейдем к разбору первого ролика. Boeing это довольно большой проект, который призван помочь людям использовать простаивающие мощности компьютеров. Например, меня беспокоит тот факт, что человечество производит огромное количество процессоров, видеокарт. В принципе, у большинства людей дома стоит, например, какой-нибудь PlayStation и 90% времени он простаивает. То есть потрачены ресурсы на то, чтобы сделать довольно серьезное техническое оборудование, но оно не используется большую часть времени. Наверное, такие же идеи посетили людей много лет назад и появились проекты добровольных распределенных вычислений. Суть проекта в том, что кто-то задает заказ, то есть хочет сделать какие-то расчеты, а другие люди свободное простаивающее время своих компьютеров отдают для того, чтобы можно было использовать их для каких-то важных целей. В какой-то мере, похоже на это работает биткоин, но биткоин это про зарабатывание и майнинг каких-то криптовалют, а добровольные распределенные вычисления это про то, чтобы помогать ученым. Например, какому-то ученому необходимо вычислить, есть ли изменения на двух снимках с телескопа. Надо понимать, что современные телескопы делают снимки довольно большие. Снимки эти делаются регулярно, например, каждую неделю, и потом нужно сравнивать эти снимки, чтобы понять, нет ли различий между этими снимками, чтобы найти планеты, астероиды и другие объекты, которые не относятся к далеко стоящим звездам. Ну и просто в целом измерять, а как изменяется светимость, например, тех или иных звезд. Boeing как инфраструктура начался в 2002 году. Проект развернул Дэвид Андерсон на базе университета Berkeley. Сейчас он также развернут на boeing.berkeley.edu. Время от времени, вот в этом году, в апреле, организация проводит так называемый Boeing Workshop. Это мероприятие для добровольцев, для тех, кто реализует свои проекты, для тех, кто разрабатывает это программное обеспечение, на котором они могут рассказать о том, что они делали, что они собираются делать, о каких-то успехах, в общем, обменяться информацией и новостями. Этот воркшоп проходит онлайн. Проходил в этом году в апреле, 1 и 8 апреля. Продолжительность была примерно по три часа. Воркшоп разделен на доклады. Каждый доклад опубликован на специализированном YouTube-канале Boeing Workshop и распределен на несколько списков для проигрывания, то есть день 1 и день 2. Информацию про Boeing Workshop можно узнать на boeingworkshop.org. И сегодняшний выпуск и несколько следующих выпусков будут посвящены тому, чтобы разобрать и прокомментировать то, что происходило на этих выступлениях. Дело в том, что выступления записаны просто как скринкасты с компьютера, с плохим звуком, на английском языке, иногда что-то непонятное. Я решил, что мне самому, во-первых, интересно посмотреть и разобраться, а во-вторых, и слушателям будет интересно послушать, о чем же говорили на этом воркшопе в неком сжатом виде. Итак, на сегодняшний день Boeing — это программное обеспечение для сервера, на котором ученые могут запустить свои вычисления, подготовить так называемую очередь задач. И если упрощенно, то вторая часть программного обеспечения Boeing — это специальная программа, которая ставится на ноутбук, на сервер, на телефон для того, чтобы скачивать задачи из этой очереди, выполнять и отправлять результат обратно. Довольно много ученых пользуются сетью Boeing для того, чтобы решать свои задачи, популяризировать свою работу. Например, из крупных поставщиков задач — это большой андронный коллайдер, это сети телескопов, которые фотографируют звездное небо. Но Boeing интересен тем, что это open-source программное обеспечение, то есть, в общем-то, любой желающий может создать свои задачи на вычисление, разместить их на сервере, подготовить очередь задач, и добровольцы могут подключаться. Нет никакого единого центра, в котором составлен список всех задач или всех проектов. То есть, эта инфраструктура может работать абсолютно изолированно, потому что само программное обеспечение полностью open-source. Но если есть желание подключиться и популяризировать свой проект, то ученые добавляют свои проекты в разные каталоги, в некие официальные каталоги самого Boeing, добавляют в официальные каталоги Boeing и добавляют в специализированные аккаунт-менеджеры, но и могут распространять ссылку на свой сервер любым доступным им способом. То есть, в общем-то, например, в рамках ВУЗа можно использовать кластер для вычислений, а можно создать на базе этого кластера или рядом с ним небольшой Boeing сервер, на него формировать такую же очередь задач и подключить все ВУЗы, все компьютеры ВУЗа для того, чтобы они помогали кластеру быстрее решать те задачи, которые перед ним стоят. На мой взгляд, есть определенный плюс в том, чтобы использовать именно распределенные вычисления, потому что сервер — это всегда дорого, это всегда довольно мощно, то есть, когда в одном месте стоит большое количество компьютеров, их нужно специализированным образом обслуживать и охлаждать, а когда используются распределенные вычисления, то как бы сам воздух в комнате, где стоят эти компьютеры, хорошо участвует в охлаждении, не нужно специальных чиллерных установок, дизель-генераторов и прочего для того, чтобы все это работало. Но, конечно, есть и минусы, то есть сервер — это, как правило, всегда большие мощности, они собраны в одном месте, а значит, высока связность данных, можно не делить задачи на маленькие кусочки, можно выполнять их большим куском, это большая надежность, ну и, как правило, например, какому-то корпорации, вузу или научному институту гораздо удобнее выделить большую кучу денег на то, чтобы построить один дата-центр, чем руководить большим количеством распределенных каких-то небольших компьютеров или небольших кластеров.
В первой части Дэвид Андерсон говорит, что Boeing существует порядка 20 лет, это довольно впечатляющий срок. Альтернативы Boeing до сих пор не созданы, то есть нет никакого конкурирующего продукта, который делал бы то же самое. Тут надо отметить, что существуют другие проекты добровольных вычислений, например, Folding at Home и другие, но они, как правило, сосредоточены на какой-то конкретной теме, то есть Folding at Home, например, сосредоточен на том, чтобы изучать свойства сворачивания белков, довольно большую популярность получил во время коронавируса, потому что участвовал в том, чтобы помогать искать лекарства от коронавируса, и NVIDIA, например, официально рекламировала его и рекомендовала пользователям с видеокартами NVIDIA участвовать в проекте Boeing at Home. Пик количества участников Boeing был порядка миллиона пользователей и в одно время этот пик довольно долго держался, но на текущий момент сейчас пользователей активных порядка 30 тысяч, дополнительно порядка 30 тысяч пользователей есть в Folding at Home, но и в Boeing и в Folding at Home количество участников на текущий момент снижается. Дальше Дэвид Андерсон предлагает прочитать его эссе, он написал довольно большое эссе размером почти с книгу про историю Boeing, если вам интересна эта тема, крайне рекомендую, я в одном из следующих выпусков тоже буду это эссе разбирать. В качестве сильной части Boeing Дэвид Андерсон отмечает, что за эти 20 лет поменялось очень многое, поменялись операционные системы, поменялись архитектуры процессора, видеокарты, появился ARM, появился macOS, но Boeing тем не менее адаптируется под эти изменения и до сих пор существует и поддерживает огромное количество операционных систем, на которых можно запускать свои добровольные вычисления. Дэвид Андерсон говорит спасибо Чарли Фэнтону, который поддерживает версию программного обеспечения для Microsoft и огромное спасибо передает Виталию Кашури, который сделал довольно большую работу по тому, чтобы разместить программный код Boeing на GitHub, организовать непрерывную работу по интеграции, проверку ошибок, компиляцию тестирования и на текущий момент по оценке самого Дэвида количество issue, то есть возможных предложений по улучшению этого кода сократилось вдвое, это действительно круто. Огромная работа произведена по интеграции Boeing на разные программные платформы, в том числе довольно экзотические, например, несколько лет назад был большой проект с Suzuki, и идея была в том, чтобы компьютер, который есть в каждом автомобиле, использовался тогда, когда автомобиль не едет, то есть с автомобилями та же история, что и с компьютерами, 90 процентов времени или больше они просто не используются, а стоят в гараже, и идея была в том, чтобы пока автомобиль стоит в гараже на зарядке, его процессор и видеокарта, которые обычно используются там для беспилотного вождения, использовались для нужд науки. На текущий момент проект не вышел за стадию прототипа, и было порядка 10 автомобилей Suzuki, которые выполняли эту роль, например, на Tesla есть 4 видеокарточки NVIDIA, каждый из них имеет дополнительные сопроцессоры для вычислений, и на текущий момент мощность среднего автомобиля это порядка 5 лобс, то есть это столько, сколько несколько лет назад мог выполнять обычный суперкомпьютер. Такой же интерес к теме проявлял Volkswagen и Mercedes, ну конечно Tesla, но пока ничего не получилось. Другим направлением является возможность использования интернета вещей, то есть в каждой камере есть довольно мощный процессор, в каждом маршрутизаторе есть мощный процессор, и некоторые из них работают на Linux, и в данный момент уже есть реализация Boeing, которая работает прямо на маршрутизаторе на версии Linux, которые там установлены. Следующая тема для обсуждения это, собственно, количество проектов, которые размещаются в сети Boeing, то есть ученые, которые размещают проекты. На текущий момент для ученого разместить проект в Boeing не выглядит как, ну, некое очевидное и идеальное решение. Во-первых, не каждый проект подойдет для Boeing, то есть нужно сделать так, чтобы задачи внутри вычислительного проекта можно было поделить на небольшие кусочки, то есть чтобы их можно было отправить через интернет, получить на компьютере добровольца, и компьютер добровольца был способен выполнить, то есть если, например, для вычисления требуется 10 гигабайт оперативной памяти и одно ядро процессора, это означает, что абсолютно небольшое количество добровольцев смогут выполнять такие задачи. Второй момент это ученому нужно разбираться в тех IT вопросах, которые нужно решить для того, чтобы на своем сервере развернуть Boeing сервер, подготовить вычислительные задания, разделить их на части, подготовить очередь и прочее. И третье, нужно организовать пиар, то есть нужно каким-то образом донести информацию о том, что вы делаете, до большого количества людей, объяснить это, рассказать, то есть это целая отдельная пиар-работа, на которую обычный среднестатистический ученый не готов. И, например, Дэвид Андерсон, он сам из университета Беркли, говорит, что в общем-то в Соединенных Штатах ученый скорее, например, попытается воспользоваться кластером своего университета, если нет, то обратиться в кластер Кондор или Ксет, который позволяет воспользоваться свободными вычислительными ресурсами других университетов, и в целом даже воспользуется скорее коммерческими облаками, там Амазон, например, или что-то Digital Ocean, они, конечно, дороже, но в них четко знаешь, тратишь 50 тысяч долларов, получаешь конкретный результат, который ты, на который ты рассчитывал, в случае с распределенными вычислениями это не всегда так. Такая ситуация привела Дэвида Андерсона к мысли, что хорошо бы сделать некий администратор проектов, когда пользователь подключается к администратору и не заморачивается тем, чтобы выбирать проекты, то есть он не должен слушать ученых, подключаться к пиару, смотреть, что же ученые делают, он просто подключается к администратору проектов, например, Science United. Science United выбирает среди проектов, которыми занимаются ученые, наиболее интересные, перспективные, правильные, хорошие, и автоматически распределяет работу среди добровольцев, которые подключены к Science United. На текущий момент количество пользователей Science United довольно большое, я, кстати, сам тоже пользовался Science United и не выбирал проекты, а просто подключался, в общем, к этому пулу, но количество проектов от ученых не возросло, то есть идея Science United была в том, чтобы ученые, которые не умеют в пиар, могли не тратить время на пиар, а просто закинуть свой проект в Science United, а Science United уже распределил бы среди добровольцев, которым интересно вкладываться в эти научные направления. Далее Дэвид Андерсон говорит про проект Boeing Central, который призван помочь ученым еще проще пользоваться ресурсами добровольных вычислений. Это специальное приложение, которое позволяет использовать Boeing внутри приложения, которым ученые обычно пользуются. Например, он изучает молекулы при помощи Autodoc, и у него есть возможность запускать вычисления локально на своем компьютере, на сервере, используя Amazon, и вот скоро должна появиться четвертая возможность это использовать для вычислений Boeing. Про это будет отдельный доклад на Boeing Workshop, поэтому я тоже разберу этот вопрос подробнее отдельно. Первый же вопрос к Дэвиду Андерсон, это тот вопрос, который мучил меня самого. Пользователь спрашивает, что он запутался немного в менеджерах аккаунтов типа Boeing Stats, Science United и прочим, и может ли Дэвид Андерсон дать рекомендации, какой из них лучше использовать. И Дэвид Андерсон, в общем-то, говорит то, что можно использовать любой, то есть ты скачиваешь программный клиент Боинга, и в нем можешь подключиться к какому-то отдельному проекту, то есть добавить проект, и проект начнет считаться. Можешь подключиться к менеджеру аккаунтов, можешь подключиться к менеджеру аккаунтов и дополнительно добавить какие-то проекты, которые сам хочешь считать. Среди менеджеров проектов есть BAM, Boeing Account Manager, который работает на сайте boeingstats.ru и позволяет выбирать конкретные проекты, к которым ты хочешь подключиться, то есть фактически дублирует ту функцию, которую можно делать локально в веб-интерфейсе. Это удобно, когда у тебя, например, 5-6-7 компьютеров, которые подключены к добровольным вычислениям, и ты хочешь распределять задачи между ними, не включая каждый из них, а делать это облачно. Второй — это ScienceUnited. ScienceUnited — это проект самого Дэвида Андерсона, который позволяет выбрать области вычислений, которые тебе интересны, то есть в настройках там, например, можно выбрать проекты только из России, проекты только из Европы, проекты только астрономии, или просто расположить их в неком порядке приоритета, и ScienceUnited сам будет на твои компьютеры распределять работу согласно возможностям этого компьютера, то есть на некоторых компьютерах есть GPU, например, видеокарта, на некоторых нет, некоторые работают на Mac, некоторые на Windows, и будет выполнять на них все эти вычисления. И следующий — это GridRepublic, он работает как нечто среднее между Boeing Account Manager и ScienceUnited, Дэвид Андерсон рекомендует зайти на сайт и посмотреть, собственно, в чем отличие, и выбрать самостоятельно. В общем и целом, выбор между BAM и ScienceUnited — это скорее выбор между тем, насколько много контроля вы хотите иметь над тем, что именно вы считаете. Вторым отличием будет, наверное, то, что в BAM вы работаете под своим именем, в ScienceUnited ваши вычисления как бы кладутся в общую копилку, и ваш личный вклад, он не отображается наружу, то есть, например, недавно мой компьютер нашел вторую известную в мире последовательность вычислений простых чисел, которые при перемножении на другие простые числа дают простые числа, это так называемый подпроект AP27 в PrimeGrid, я быстро и понятно объяснить не смог, но вы можете загуглить и посмотреть. В 2010 году нашли первое такое число, и вот в 2023 году нашли вторую такую последовательность, и мой компьютер участвовал в том, чтобы перепроверить ее, то есть, фактически был соучастником этого открытия, и если бы я делал это на ScienceUnited, то его не записали бы как бы на меня, а так получается, что в официальной документации и в списке таких последовательностей на сайте, где публикуются разные интересные последовательности чисел, интересные математикам, указано, что я являюсь соавтором этого открытия, хотя, наверное, правильнее будет сказать не соавтором, а соучастником. Второй вопрос по возможности использовать Boeing на Android, то есть, пользователь пользуется Android, говорит то, что Google постоянно обновляет и репозитории, то есть, сам клиент для добровольцев не успевает обновляться и не использует весь возможный функционал, но Дэвид Андерсон говорит, что давайте обсудим это на одном из следующих выпусков, и вы тоже подписывайтесь на канал Гритка в том, на той платформе, где вы слушаете, можете найти этот канал в Телеграме и подписаться, чтобы не пропустить информацию о следующих выпусках. И Дэвид Андерсон, собственно, говорит, что вообще-то на телефонах есть огромная проблема с перегревом, то есть, на телефонах довольно мощный чип, но довольно плохое охлаждение, особенно, когда подключается использование видеокарты, и у него есть вообще опасение в том, что можно без вреда для телефонов использовать вычисления на Android и на iOS. Дальше Дэвид Андерсон говорит то, что на iOS всегда была проблема с тем, чтобы запускать подобные вычисления, потому что код, который надо обрабатывать по правилам платформы, нужно заключить внутрь самого приложения, а вся идея добровольных вычислений в том, что на телефон устанавливается только клиент, и этот клиент потом скачивает код из интернета, для того, чтобы его выполнять. Получается, что на iOS возможность использования Boeing всегда была заблокирована, то есть, такой возможности не было. Это вопросы защиты, чтобы какой-то неавторизованный код нельзя было запустить на девайсе. А в случае с Android, недавнее изменение политики Google привело к точно таким же изменениям, и на Google теперь тоже можно использовать, то есть, на Android теперь можно использовать только старую версию Boeing, скачав ее напрямую с сайта Boeing, для того, чтобы телефон участвовал в распределенных вычислениях. Ну и последний вопрос к Дэвиду Андерсону от разработчика программного обеспечения. Он говорит, что на работе занимается всякими скучными штуками, может ли он как-то помочь Boeing развиваться. И да, Дэвид Андерсон говорит, что программное обеспечение открытое, выложено на GitHub, можно подключиться к команде разработки и помогать развивать это программное обеспечение, чтобы помогать ученым выполнять свои вычисления.
Второй выпуск первого дня, это доклад Алекса Пискина, он основатель Boeing Synergy, Boeing Synergy это специальная организация, которая помогает собирать информацию о том, а какими вообще проектами сейчас занимаются ученые и добровольцы на Boeing платформе. Есть специальный сайт Boeing Synergy CA, на котором Алекс ведет базу данных о том, какие проекты есть и были на платформе Boeing. На текущий момент там порядка 300 разных проектов, больше 200 из них завершены. Это проекты, которые за все время существования Boeing размещались на нем, например, одними из самых первых проектов, в организации которых Алекс Пискин конкретно принимал участие, это City at Home, поиск следов внеземного разума и каких-то свидетельств того, что внеземной разум существует в радиосигналах и Climate Prediction, это попытка смоделировать в крупном масштабе разные варианты размития климата Земли на несколько тысячелетий вперед. Материалы, которые собирает Алекс используются на сайте Boeing, это boeing.berkeley.edu, в разделе Science Projects есть список проектов, которые сейчас актуальны, с указанием категории, ссылочкой на страничку о проекте и платформами, которые поддерживаются, ну, например, какие платформы могут поддерживать какой-то проект, это, естественно, Windows, Mac, Linux, Android, ARM, NVIDIA и AMD, если поддерживаются вычисления на графических картах, Intel Graphics, если поддерживаются вычисления на новых видеокартах Intel Arc и специализированная иконка, которая указывает на поддержку VirtualBox, это для случаев, когда необходимо какое-то специальное окружение, библиотеки и так далее, в таком случае можно запустить у себя клиент Boeing внутри виртуальной машины VirtualBox и тогда на некоторых проектах доступны больше возможностей, то есть вы можете считать такие вычисления, которые в обычных проектах без виртуализации невозможны. Alex в ходе ролика, довольно короткого 20-минутного ролика показал, какие проекты размещаются на Synergy, показал, как они отражаются на сайте Boeing и показал, как на сайте Boeing отражаются информация о научных публикациях, которые делаются проектами, ну то есть сейчас существует довольно популярный сервер на Discord, где работает несколько ботов и живых людей, которые помогают собирать информацию о том, какие научные публикации произошли благодаря тому, что ученые использовали Boeing в своих вычислениях, и на сайте Boeing в разделе Science Publications указаны все публикации, их можно отсортировать по проектам, можно отсортировать по годам, то есть вот уже в 23-м году тоже есть новые публикации, которые посвящены тому, что нашли на базе детектора гравитационных волн LIGO в публичных данных при помощи проекта Einstein at Home, который как раз исследует разного рода пульсары и гравитационные волны на данных, которые собираются на детекторах LIGO и Virgo. Задали вопрос Алексу о возможности данные, которые он собирает на Boeing Synergy, предоставлять в каком-то читаемом формате типа JSON, потому что на текущий момент фактически Алекс вручную заполняет эти данные на сайте Boeing, и да, участники в рамках воркшопа решили, что это была бы хорошая идея использовать какой-то такой читаемый формат. Алекс сказал, что на сайте Boeing, на странице со списком проектов указаны его контакты, с ним можно связаться, если вы хотите добавить свой проект в какие-то общие каталоги. В общем, если вы вдруг используете Boeing, но еще не в каталоге, добавляйтесь. Алекс рассказал про несколько особенных и интересных проектов, которые не являются общедоступными, но при этом используют инфраструктуру Boeing. Например, есть несколько вузов, которые используют внутри себя Boeing для того, чтобы компьютеры, которые расположены по разным этажам, участвовали в вычислениях, которые нужны общему кластеру. И рассказал про то, что несколько людей используют Boeing как личную машину, которая помогает им делать вычисления, которые им нужны, то есть они не расшаривают доступ, не ищут каких-то добровольцев, а просто используют это программное обеспечение и инфраструктуру только для себя. Подписывайтесь на канал Гритка, ставьте лайки, каждый лайк помогает показать этот выпуск и этот подкаст другим пользователям, чтобы больше людей узнавало про распределенные вычисления, участвовало в них и подключало свои простаивающие вычислительные мощности в качестве добровольцев. Большое спасибо!
Платформы