Содержание статьи
Постепенно к благому делу подключились несколько друзей, которые зарегистрировались с той же учетной записью. Именно тогда я понял, насколько важно правильно выбрать проект и настроить программу: иной раз маломощная машина с каким-нибудь Celeron или Turion вдруг вырывалась в локальный топ, если владелец позволял компьютеру работать без перебоев.
Выбираем проект
Выбирать, какому проекту отдать ресурсы своего компьютера, лучше всего на страничке BOINC, где они представлены в виде таблицы. Для каждого проекта сразу видна его область исследований, организаторы, поддерживаемое железо и ОС.
За пять лет я ознакомился с десятками проектов распределенных вычислений и принял длительное участие в восьми из них. Это астрофизические инициативы (theSkyNet POGS и Einstein@Home), медицинские (POEM@Home, Malaria Control, Rosetta@Home, SIMAP@Home, GPUGRID), а также студенческая сеть Leiden Classic, в которой моделируются различные задачи из области динамики в образовательных целях. Последняя примечательна тем, что любой участник может загрузить в нее свои расчетные задания.
Вместе с друзьями я перепробовал множество проектов и конфигураций, пока не нашел свой оптимум. Если поначалу нам удавалось получать лишь сотню-другую тысяч очков в месяц, то теперь за день мы легко набираем больше. Можно достичь еще более внушительных показателей, просто сосредоточившись на GPU-оптимизированных проектах, приносящих максимальное количество очков. Однако мы стараемся не гнаться за рейтингом, а переключаться между исследованиями и поддерживать разные.
В данный момент мы участвуем только в стабильных и активно развивающихся проектах, которые сложно заподозрить в коммерческом использовании ресурсов. В частности, это обработка снимков с гигапиксельной астрокамеры (theSkyNet POGS) для составления мультиспектрального обзора неба (подробнее на русском см. здесь), а также поиск радиопульсаров и излучаемых ими гравитационных волн (Einstein@Home).
Как официальный сайт, так и сам клиент BOINC отображает только 36 открытых проектов распределенных вычислений — самых известных и заслуживших хорошую репутацию. Всего же таких проектов больше сотни, и найти их бывает непросто. Многие анонсируются только внутри академической среды, на каких-то специализированных форумах и не находят широкой поддержки.
Сайт открытой статистики Free-DC сейчас показывает данные по 137 проектам на платформе BOINC, но и это не полный список. Например, российские проекты лучше всего искать на BOINC.ru.
Выбираем задания
У каждого проекта есть своя веб-страница с более подробным описанием. Здесь же можно задать индивидуальные настройки расчетов. Если в твоей учетной записи несколько компьютеров, то их можно распределить на группы (например, «дом» и «работа») и задать отдельные установки для групп.
В одном проекте может быть несколько заданий разных типов. Они отличаются как по сути исследований, так и по системным требованиям. Из них разумнее выбрать те, которые эффективнее всего считаются на твоем компьютере.
Простые задания обрабатываются только на ЦП и ограничиваются базовым набором команд x86-64. Некоторые имеют специфическую оптимизацию для расширенных инструкций (например, AVX) и выполняются на таких процессорах гораздо быстрее.
Другие задания поддерживают архитектуру ARM и запускаются на смартфонах, планшетах, кластерах из Raspberry Pi, CubieBoard и прочих подобных девайсах. Единичные проекты (например, ЦЕРНа) выполняются в своей виртуальной среде и требуют установки VirtualBox.
Самые сложные задания используют для ускорения расчетов универсальные (шейдерные) процессоры видеокарты — uGPU. Иногда для этого подходит любая современная видеокарта, а иногда задание поддерживает, к примеру, только новые чипы AMD с архитектурой GCN или только GPU Nvidia с CUDA СС v.3.0 и новее.
BOINC как средство стресс-тестирования
В режиме постоянной обработки BOINC можно использовать для выявления сбоящего оборудования. Вместо пары часов прогрева в Prime’95 или OCCT он будет выполнять реальные задания и постоянно сверять правильность их решения. Никакой синтетический тест не сравнится с BOINC по эффективности длительного мониторинга
Делаем первые шаги
Клиент BOINC для Windows можно установить как приложение или как сервис. Второй вариант обеспечивает заданиям BOINC более стабильную работу, но опаснее в плане потенциальной угрозы для ОС. Также BOINC, работающий как сервис, не сможет использовать видеокарту для ускорения расчетов. В общем, это скорее вариант для серверов.
Сразу после установки BOINC он запустится с дефолтными настройками в упрощенном виде. Стоит переключиться на полный вид через верхнее меню или нажав Ctrl-Shift-A. Тогда на отдельных вкладках ты увидишь все уведомления, свои проекты, активные задания, сетевую активность, локальную статистику и использование дискового пространства.
Почти все пункты меню хорошо переведены на русский. Они имеют говорящие названия, но на всякий случай есть и справка. Так что мы не будем перечислять очевидные вещи, а поговорим о более тонких материях.
BAM!
На официальном сайте статистики распределенных вычислений активно рекламируется менеджер аккаунтов BOINC под названием BAM. Он облегчает управление несколькими проектами и компьютерами одновременно, предоставляя единую страницу настроек. На ней проще отслеживать и вносить изменения, однако, потеряв пароль доступа к BAM, ты утратишь доступ сразу ко всем учеткам BOINC. В общем, это как брелок — помогает потерять все ключи одним махом.
Время собирать Cobblestones
Если выделить любое задание в очереди и нажать на кнопку «Информация», то ты увидишь его описание. Каждая задача имеет свой расчетный объем вычислений — от нескольких тысяч до миллионов GFLOP (миллиардов операций с плавающей запятой одинарной точности).
Количество очков, которые начисляют за выполнение задания, завязано на эту сложность, а сами очки называются Cobblestones. Нужна эта величина в основном для сравнения трудозатрат. Один Cobblestone — это эквивалент объема вычислений, который выполняет эталонный процессор с производительностью 1 гигафлопс за 1/200 суток (то есть 432 миллиарда операций FP32).
При сравнимом объеме вычислений задания считаются с разной скоростью. Код может быть оптимизирован плохо, и тогда задание будет приносить тебе лишь пару очков в час, тогда как другие — десятки и сотни тысяч. Изначально эти очки не имели никакой ценности. Они лишь отражали относительный вклад в общее дело и помогали волонтерам подобрать задания, которые лучше всего раскрывают потенциал их железа. Ситуация изменилась с появлением криптовалют и проектов, в рамках которых выплачивают вознаграждение за научные расчеты.
После выполнения нескольких заданий ты заметишь, что они считаются с разной эффективностью. Выявить слабые места тебе поможет сбор и анализ статистики расчетов. BOINC удобен тем, что показывает все подробности о работе каждого узла.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»