Попали в SETI: добровольные вычисления для скептиков, оптимистов и искушенных кранчеров


    Природа настолько очистилась, что на набережную реки Мойки в Санкт-Петербурге вернулись бобры, а к проектам добровольных распределенных вычислений — интерес общества. В этом тексте, однако, вы не увидите описания всем известных инициатив volunteer computing.

    Технический писатель Selectel Ульяна Малышева поговорила с руководителями нескольких проектов распределенных вычислений, кранчерами (так называют волонтеров) и даже админом российского сайта BOINC. Что привлекает, а что отталкивает в подобном волонтерстве? Почему «золотой век» добровольных вычислений в России завершился в 2010 году? О каких проектах вы можете не знать, даже если давно в «теме»? Ответы — под катом.

    Для тех, кто не знаком с основными понятиями добровольных распределенных вычислений, мы составили мини-словарь кранчера. Если же вы опытный, ждем в комментариях. Поделитесь своей историей и мнением: видите ли вы смысл в таком волонтерстве?


    В 2020 году коронавирус вызвал новую волну интереса к добровольным распределенным вычислениям. Проект Folding@home, который на данный момент занимается исследованием SARS-CoV-2 (COVID-19), по суммарной производительности обошел все суперкомпьютеры, входящие в топ-500 по миру.

    По состоянию на май он «насобирал» мощностей на 2,3 экзафлопса — в проект вкладывались и волонтеры, и компании. VMware не только выделил проекту вычислительные ресурсы, но и позволил подключаться к Folding@Home через платформу vSphere. А Selectel пожертвовал мощности серверов с графическими ускорителями NVIDIA GeForce GTX 1080.

    К слову, первый в мире экзафлопсный компьютер должен был появиться в 2021 году. Компания Intel обещала построить машину, производительность которой составит квинтиллион операций в секунду. В итоге мощнее распределенного «компьютера», собранного Folding@home буквально по флопсам, похоже, он уже не станет.

    Причины успеха


    Folding@home можно назвать феноменом среди проектов добровольных вычислений. Многие из них довольствуются лишь несколькими терафлопсами «внимания». Причин такого успеха несколько.

    Понятная и актуальная проблема. Коронавирус коснулся всех. Нередко проекты той же платформы BOINC критикуют за неясность исследовательской цели и сложно переносимый на жизнь результат.

    Распространение информации в СМИ. Среди проектов добровольных вычислений есть звезды — SETI@home, Rosetta@home, Einstein@home. Вместе с тем, до 80-85% других инициатив не выходят за рамки форумов и своих страниц на сайте BOINC.

    Информирование о результатах. Folding@home постоянно на связи с волонтерами, ученые готовы рассказывать о проделанной работе. Отсутствие новостей о проекте — одна из причин охлаждения волонтеров к добровольным вычислениям.

    Кроссплатформенность. Клиент Folding@home можно скачать для Windows, macOS и целого ряда дистрибутивов Linux.

    С еще двумя частыми причинами скептического отношения к добровольным вычислениям Folding@home не справляется. Однако их нивелирует социальный вес проекта.

    Нет гарантии получения результата (либо он будет спустя долгое время). Действительно, многие проекты добровольных вычислений существуют больше десяти лет. Но за эти годы произошло очень мало реальных достижений, понятных людям.

    Александр Андреев, администратор российского сайта BOINC

    Люди хотят впечатляющих результатов. Руководители SETI@home не обнаружили инопланетян, а инициаторы Rosetta@home не открыли универсальную вакцину. Это становится аргументом в пользу признания проектов добровольных вычислений неэффективными. Но важно понимать, что наука — это про маленькие шаги и неочевидные открытия. Например, в ходе работы Einstein@home ученые гравитационные волны не зафиксировали, но как побочный эффект научились открывать новые пульсары. А расчеты проекта LHC@home серьезно помогали работе Большого адронного коллайдера (БАК). Любые промежуточные результаты проектов идут в работу, становятся частью научных публикаций. Просто, к сожалению, не все проекты находят время нас об этом уведомлять.

    Значительный расход энергии. Добровольные вычисления также ругают за экономическую нерентабельность. Часто проекты рекомендуют жертвовать мощности GPU — в таких случаях work unit считается быстрее, но и энергии потребляет немало. Этот пункт, однако, становится более раздражающим, когда волонтеры теряют стимул участия в проектах.

    Ответ скептикам


    По данным, актуальным на 9 июня 2020 года, число активных участников платформы BOINС составляет 105 790 человек, к работе подключены 727 784 компьютера. Только за один этот день к сообществу присоединились более 70 новых добровольцев.

    Участие в проектах добровольных вычислений — это не всегда про рациональность. Опросив кранчеров, выяснили, что обычно мотивирует присоединяться к инициативам, несмотря на некоторые их очевидные минусы.

    Ощущение вклада в развитие науки


    Участие в проектах дает чувство причастности к решению сложной проблемы человечества — будь то математическая задача или вызов с большим социальным выхлопом.

    Дмитрий Кострюков, старший системный инженер Selectel, опыт кранчера — 9 лет

    Я присоединился к BOINC примерно 9 лет назад — подключил не только ПК, но и мобильный телефон. Тогда выбрал Folding@home и Rosetta@home. Мотивировала сама идея добровольных распределенных вычислений. С минимальными затратами, буквально «с миру по нитке», можно решать научные задачи, которые в будущем улучшат жизнь человечества. Также меня раздражала мысль, что у меня в распоряжении есть крутая технология — ноутбук. Но нередко его силы уходят на запуск Chrome и загрузку Google Sheets. Хотелось придать большую ценность технологиям, зашитым в современных гаджетах. Ведь раньше на гораздо менее мощных процессорах рассчитывали полеты в космос и «640 Кб хватало всем».

    Получение личных бонусов и признания

    Активные (да и пассивные) участники получают сертификаты, подтверждающие их вклад в науку. Также большинство проектов награждают кранчеров бейджами в зависимости от количества «вложений» человека в проект и результатов этой помощи. Любой участник может попасть в проектный топ и стать «пользователем дня». Также существует кросс-проектный некомандный рейтинг, попасть в который — особая честь.

    Наталия Никитина, научный сотрудник лаборатории телекоммуникационных систем Института прикладных математических исследований КарНЦ РАН, руководитель RakeSearch (BOINC)

    Все участники проекта автоматически попадают в общий рейтинг, ранжируемый по количеству вложенных мощностей. Такие топы — стандартный для сообщества BOINC формат. Все личные достижения сохраняются навсегда, что также важно для многих людей в сообществе. Люди видят, что есть самые разнообразные вычислительные задачи, что их можно успешно решать по определенными алгоритмам. Даже небольшой вклад имеет значение и может привести к удачному результату. Хозяева компьютеров, на которых были сделаны маленькие, но значимые открытия, награждаются бейджами (каждый месяц разными).


    Причастность к сообществу, рейтинги и гонка за кредитами


    На платформе BOINC устраивают и челленджи, и целые чемпионаты. Ежегодно на ней проводится личная «Формула-1» для кранчеров — Формула BOINС, где команды соревнуются по количеству мощностей, вложенных в проекты.

    Чемпионат состоит из марафона и спринтов. Марафон учитывает очки, полученные за все виды участия команд в проектах BOINC. Спринты подразумевают под собой концентрацию команд на одном проекте, о котором сообщают за 24 часа до старта спринта. Таким образом, платформа привлекает внимание сообщества ко всем инициативам, а не только к тем, в которых выгодно участвовать.


    На BOINC есть и несколько команд из России. Одна из самых крупных — Russia Team. Сейчас в ее составе 2 388 участников, из них активных — 164. Группа российских кранчеров занимает 32 место в рейтинге, учитывающем более 100 000 команд со всего мира.

    Александр Андреев, администратор российского сайта BOINC

    В «золотое время» распределенных вычислений в России — это примерно «нулевые» годы — создание команды было событием. Звучали планы о формировании национальной «сборной». Мы выстраивали тактику, чтобы вырваться в лидеры. Каждая уважающая себя команда имела свой сайт и форум. Конечно, всегда находятся те, кто считает, что такие соревнования ­— это антинаучно, что они подрывают саму идею добровольных вычислений. С другой стороны, состоять в какой-то группе (в играх — это гильдия, клан) — естественная социальная потребность человека.

    Никита Кунец, системный администратор Selectel, опыт кранчера — 4 года

    Для кого-то такие элементы геймификации являются дополнительной мотивацией для участия в проектах, использующих добровольные вычисления. Лично я год назад решил, что для меня это не главное. И направил свои ресурсы в проект Science United, который агрегирует исследования в разных научных областях. Там нет кредитов, бейджей и рейтинга. Люди просто вкладываются, потому что могут и хотят.


    Я никогда не


    Количество участников из России, которые когда-либо подключались к проектам BOINC, на момент написания текста составляет 52 547 человек. Это примерно 0,4 % от общего населения страны. Действующих участников и того меньше — этот показатель держится на уровне 1300-1400 человек. Мировая BOINC-позиция РФ на основе RAC — 33 (из 277 стран, представленных на платформе).

    Очевидно, что такое волонтерство — не для всех. Более того, начинающие кранчеры нередко испытывают быстрый спад мотивации: скачали ПО, неделю «погоняли» задачи и закрыли историю.

    Как не перегореть на старте и справиться с распространенными проблемами «новичков»? Составили список советов вместе с опытными волонтерами.

    1. Готовьтесь к тому, что первый пользовательский опыт может быть ужасен. Перед вами перечень проектов, вы не понимаете, как в них участвовать, а их странички, кажется, не обновлялись с момента открытия платформы BOINC не отличаются приятным интерфейсом. К этому привыкаешь, когда сосредотачиваешься на пользе, которую можешь принести обществу.
    2. Адаптироваться на платформе помогут сайты-агрегаторы, где представлены сразу несколько исследований из разных областей науки. Вы сможете выбрать себе один-два проекта по душе и не тратить время на изучение всех существующих инициатив.
    3. Оцените свои возможности. Если вы запускаете вычисления всего на 30 минут в день, вы особо никому не поможете. Этого времени слишком мало, чтобы компьютер успел завершить поставленную проектом задачу. Промежуточные результаты не учитываются и не сохраняются. Если вы получили work unit, но компьютер не справился с расчетами за выделенное время, считайте, ваш процессор прогрел воздух впустую. Незавершенная задача просто передается другому пользователю, причем все вычисления производятся заново.
    4. Выбирая проекты, обратите внимание на менее крупные. Folding@home и Rosetta@home, например, у всех на слуху. Но количество задач даже у них ограничено — вам может просто не приходить работа или приходить редко.
    5. На первых порах ваш счетчик кредитов может расти слабо. Не разочаровывайтесь и не отказывайтесь от волонтерства. Отнеситесь к этому как к долгосрочной инвестиции, пробуйте разные проекты. В какой-то момент вы найдете для себя идеальную формулу «контрибуции» ресурсов и будете радоваться маленьким победам.
    6. Если у домашнего ПК есть видеокарта NVIDIA, некоторые проекты могут работать на ней и вычислять намного быстрее. Еще и отапливать комнату зимой.
    7. Шутки шутками, но, если ваш компьютер сильно греется, подумайте об оптимизации. По умолчанию тот же BOINC будет использовать ЦПУ на 100%. Но в настройках клиента вы можете снизить это значение, например, до более комфортных 80%. Также убедитесь, что дали разрешение на работу приложения только на время простоя процессора.
    8. Хороший вариант — запускать компьютер на ночь и идти спать. Лучший — купить виртуальную машину у облачного провайдера и запустить там BOINC 24/7.

    Никита Кунец, системный администратор 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 градусах.

    Как вычислить свой проект


    Вы всегда можете зайти на сайт BOINC и выбрать любой проект, который вам покажется интересным. В таком случае обычно выигрывают инициативы, о которых пишут в СМИ, либо те, которые занимаются понятными вещами — прогнозом погоды, изучением болезней, поиском лекарств и так далее. Поэтому мы решили больше рассказать о проектах, которым не достается такого внимания.

    Made in Russia


    На платформе BOINC есть два проекта, инициированных российскими учеными. Оба посвящены вопросам математики. Руководители проектов рассказали, зачем им нужны мощности и каких результатов они добились благодаря волонтерам.

    Gerasim@home


    Чем занимается:

    1. Решением задач дискретной оптимизации (поиск наиболее эффективных эвристических методов);
    2. Исследованием свойств диагональных латинских квадратов.

    Эдуард Ватутин, доцент Юго-Западного государственного университета (кафедра вычислительной техники), научный руководитель проекта Gerasim@home

    За годы реализации проекта волонтеры «посчитали» более 20 числовых рядов, связанных с ДЛК. Большинство из полученных цифр были до этого неизвестны. Результаты представляют фундаментальный интерес для математики. Также мы составили коллекцию из порядка 10 млн канонических форм ортогональных диагональных латинских квадратов. Тройку в их составе мы не нашли, зато обнаружили и описали множество комбинаторных структур на их базе. Сейчас анализируем свойства этих ДЛК, ищем закономерности. Построение коллекции продолжается.

    Обо всех результатах мы пишем на странице проекта в Wikipedia, на форуме. Также я сообщаю о свежих новостях на своей странице во «ВКонтакте», с тегом #OLDS. В целом, данное направление живет и развивается. Нам проект на BOINC дает неплохие вычислительные мощности для решения имеющихся задач.


    RakeSearch


    Чем занимается: исследованием свойств диагональных латинских квадратов.

    Наталия Никитина, научный сотрудник лаборатории телекоммуникационных систем Института прикладных математических исследований КарНЦ РАН, руководитель проекта RakeSearch

    Одна из целей проекта — заинтересовать людей математикой, рассказывая в научно-популярной форме о сути проводимых вычислений. Я не раз становилась свидетелем, как из простого любопытства вырастает глубокое увлечение наукой. Люди начинают проявлять больше интереса к проектам, высказывают свои идеи по оптимизации процесса вычислений. Так, на форуме RakeSearch активно обсуждают программный код проекта — он открыт для всех участников. Один из волонтеров, знакомый со специфическими особенностями языка программирования, предложил вариант существенного ускорения вычислений. И мы его успешно внедрили. Буквально на днях мы завершили исследовать свойства пространства ДЛК 10 ранга. Сейчас взяли паузу на обработку полученных результатов и временно не раздаем задачи волонтерам. Но закрывать проект пока не планируем.

    Проекты-агрегаторы


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

    World community grid


    Сайт-агрегатор с приятным интерфейсом сразу предлагает ознакомиться с актуальными проектами. Сейчас их семь, на любой вкус. Присоединившись к WCG, вы поможете исследованиям, посвященным микробиому, детскому раку, СПИД, туберкулезу и даже прогнозированию дождей в Африке. Без исследования COVID-19 тоже не обошлось.

    Science United


    Этот сайт делает жизнь кранчера, который не хочет тратить время на выбор проектов, проще. Через него есть возможность жертвовать ресурсы компьютера в разные проекты BOINC. Не нужно устанавливать клиенты каждого отдельного проекта — достаточно зарегистрироваться на Science United и выбрать научную область, которой вы сочувствуете больше всего. Это могут быть наука о земле, физика, биология и медицина, математика и другие.

    Еще несколько проектов, на которые стоит обратить внимание


    nanoHUB@home


    Этот проект собирает мощности для сообщества nanoHub, в которое входят ученые и студенты со всего мира. Научная область — нанотехнологии. У сообщества есть сайт, где в открытом доступе лежат материалы и инструменты для исследований и обучения в области нанотехнологий. Мощности добровольцев идут в основном на построение различных симуляций.

    GPUGRID


    Из названия можно понять, что в рамках данной инициативы котируются только мощности графических процессоров. Они идут на создание биомолекулярных симуляций высокого качества. Пользуются пожертвованиями волонтеров испанские ученые из Университета Помпеу Фабра в Барселоне. Из плюсов: у сообщества есть живой Twitter, в котором публикуются все важные новости и обновления проекта.

    DreamLab


    Вариант для тех, кто не хочет присоединяться к BOINC или задействовать свой компьютер. Сотовый оператор Vodafone совместно с Имперским колледжем Лондона создали мобильное приложение DreamLab, которое позволит вам присоединиться к борьбе с коронавирусом. Особенность проекта в том, что он задействует мобильные процессоры для создания виртуального «суперкомпьютера». Вы можете просто запускать приложение на вашем смартфоне, пока он стоит на подзарядке, а вы — спите. UPD: Для тех, кто сомневается, стоит ли использовать для компьютерного волонтерства свой смартфон, есть инструкция.


    Надеемся, этот текст вдохновил вас на вступление в ряды волонтеров проектов добровольных вычислений. Пандемия коронавируса заставила переосмыслить многие вещи, и переосмысление отношения к volunteer computing — лишь одно из них.

    Selectel совместно с VMware хочет узнать, к каким изменениям привел вашу IT-команду карантин, и запускает конкурс. Расскажите, как режим самоизоляции вывел вас на новый уровень развития, и получайте призы. Две команды-победителя в каждой из трех номинаций получат наборы с фирменной символикой Selectel и VMware. В них — пять мультитулов, пять термосов и пять плюшевых Тирексов, и все это — в классной спортивной сумке.
    Selectel
    IT-инфраструктура для бизнеса

    Комментарии 42

      –5
      Спасибо за статью.
      Если же вы опытный, ждем в комментариях. Поделитесь своей историей и мнением: видите ли вы смысл в таком волонтерстве?
      Я не слишком опытный, но еще в прошлом веке встречался с сурьезным челом, который мне тогда же и объяснил смысл всей этой движухи.
      Его сайт давно умер, поэтому я считаю возможным публично сослаться на его адрес www.werwolf.de
      Да, сейчас там стандартная заглушка.
      Нет, я не считаю интересным для себя писать на эту тему здесь, на Хабре: кому интересно — в личку, мож и споёмся
        +1
        который мне тогда же и объяснил смысл всей этой движухи.

        Судя по его сайту, он участвовал в distibuted.net. Это было не волонтерство, а конкурс с денежными призами.
        Хехе, живы еще, чертяки…
          –1
          Поскольку сайт мертв, его общий с мной шапочный НЕзнакомец отказался помочь мне найти его держателя, когда много лет назад сайт сдох, а я про него вспомнил, то цитирую его «признание» АКА мое просвещение:
          в те времена такие сети использовали для собственных задач — для экстренного брута, когда не хватало своих мощностей.
          Я уже тогда был двинут на конспирологии, поэтому мне и тогда, и сейчас нравится эта гипотеза. Я встречался с ним лично в мск по его инициативе — это не первый раз, когда я кого-то случайно заинтересовывал в рунете, хе-хе
          Хехе, живы еще, чертяки…
          www.youtube.com/watch?v=YXIH8XgvVPY
        +5

        Я два месяца назад портировал Rosetta@Home на ARM. Команда приняла мои патчи и быстро выпустила новый релиз, с поддержкой ARM. За эти два месяца армовские устройства уже сделали серьезный вклад в общую сумму вычислений для проекта.


        Также прямо сейчас я работаю над новой версией Folding@Home, в которой очень много улучшений, и она поддерживает ARM. Работа на финальном этапе, мы уже выпустили первую закрытую бету для тестирования. В ближайшие недели, думаю, будет релиз.


        ARM устройств в мире очень много, и они значительно более энергоэффективны, чем Intel и AMD. Я полагаю, что с выходом новой версии мы сможем значительно увеличить количество экзафлопов для проекта.

          0

          Почему Folding@Home не перейдет на BOINC или хотя бы не сделает дополнительную возможность просчет в нем?


          Ну и по поводу SETI — вроде они не так давно завязали с добровольными вычислениями.

            0
            Почему Folding@home не присоединится к BOINC — хороший вопрос. Может, не хотят составлять конкуренцию Rosetta@home?
            Про SETI@home все так: 31 марта объявили о закрытии. Ученые сообщили, что проанализировали практически данные, необходимые на текущий момент.
              +2
              Folding@Home пытались влиться в BOINC, но довольно быстро отказались от этой затеи (https://foldingathome.org/faqs/high-performance/fah-on-boinc/). BOINC, при всем моем уважении к основателям проекта, довольно требователен к проектам-участникам. Нужно быть очень мотивированным, чтобы влиться в их инфраструктуру. Нужно изучить их API, их требования, провести разработку, договориться с ними о включении твоего проекта в список, и т.д. Нетривиальные усилия требуются, одним словом.

              Folding@Home в первую очередь научный проект. В его составе много ученых, но мало программистов. И у них просто нет времени на дополнительные работы, тем более, что там есть намного более актуальные проблемы. Собственно говоря, я и делаю им новую версию потому, что у них самих ресурсов на это нет. Они до сих пор используют Gromacs 5.0.4 шестилетней давности. И есть множество проблем, которые можно решить, только перейдя на Gromacs 2020 (чем я и занимаюсь последние два месяца и финал уже близок).
                0
                BOINC довольно требователен к проектам-участникам
                Апачиму? Спрос превышает предложение или по другим причинам?
                  +2
                  Помнится, когда SETI@Home перешли от самописного клиента (был и такой когда-то) к использованию BOINC, было много радостных сообщений. Мол, это и проще, и надежнее, и единая платформа, и даже можно свои собственные считалки собирать — с оптимизациями под свой конкретный процессор. Я даже не поленился скачать исходники SETIшной считалки (чисто консольное приложение, никаких гуёв) и попытался ее собрать.
                  Для начала, там довольно нетривиальная завязка с BOINC: клиент общается с BOINCом через специальную структуру в shared memory. Без этого боинк не может считалку ни запустить, ни приостановить, ни прогресс показать.
                  Понятно, что надо как-то договориться с боинком об именах файлов, формате воркюнитов и т.п. (в поздних версиях боинка добавили проверку подписей в данных, чтобы злые хакеры не могли накрутить себе рейтинг модифицированными результатами).
                  Ну и надо было зарегистрировать свой проект в боинке, чтобы он появился в списке проектов.

                  Впрочем, все это лирика. Смутно вспоминаю, что в боинке одно время была целая куча всяческих невнятных проектов, поэтому не думаю, что все трудности были прямо такими непреодолимыми. Скорее всего, ребята пришли в неудачное время (смена команды BOINC) с уже готовым кодом, который не очень хорошо списывался в инфраструктуру. Пока они его переделывали — BOINC тоже активно перепиливался. В результате они отложили интеграцию, а потом и совсем на нее забили — и так все хорошо.
                    0
                    Спасибо, исчерпывающе!
                      +1
                      В результате они отложили интеграцию, а потом и совсем на нее забили — и так все хорошо.

                      Ну может и хорошо, но часть аудитории и вычислительных возможностей они теряют, потому что кто-то доверяет только BOINC :) Не знаю правда какой процент, но я в него вхожу.

                    +1
                    Это здорово! Было бы круто, если бы у Folding@Home поддержка BOINC появилась ибо его отсутствие это единственная причина почему я проекту вообще не помогаю. Всё таки BOINC конечному пользователю даёт очень много удобств вроде централизованного управления и т. п., а автономный клиент не понятно как настраивающийся, я себе, к сожалению, позволить просто не могу, не хочу вручную на зоопарке подкручивать вручную отдельное приложение.
                  0
                  Если я не ошибаюсь, то изначально BONIC (как и остальные подобные платформы) разрабатывались чтобы утилизировать неиспользуемые такты процессора. С тех пор изменились и процессоры и планировщик задач в ОС. И в итоге сейчас BOINC клиент (как и Folding@home) работает в качестве печки, создавая лишнюю загрузку ЦПУ/ГПУ.
                  Вопрос вот в чем: можно ли изменить логику работы так, чтоб сделать ее эффективной?
                  Люди уходят (или не приходят) из проектов, по причинам из статьи выше, но лично я выделяю эти причины:
                  1. Электричество
                  2. Шум от кулеров
                  3. Снижение производельности

                  Снижение производительности можно избежать грамотной настройкой клиента, однако случаются разные моменты, которые логика нескольких if-ов не способна понять.
                  Например я смотрю фильм. Не двигаю курсор N минут. BOINC думает, что я не активен, запуская вычисления. И вот просмотр фильма слегка портится тихим "вжжжжжж" от кулера. И вот уже через пару минут тихое "вжжж" сменяется громким «ВЖЖЖ!» от 8 ядер, разогнавшихся на все свои Гигагерцы.
                  Частоты можно порезать через режимы энергопотребления, но хотелось бы решения этого вопроса через сам клиент.
                  А к чему вообще этот очень длинный коммент?
                  Вычисления распределенные — это круто, но было бы еще круче, если бы от них не было вреда конечному пользователю.
                  Для себя я написал маленький скрипт, который задает привязку к ядру процессора (обычно только одному/двум) для BOINC клиента. Процессы хоть и имеют приоритет минимальный, но ОС не считает их фоновыми (и потому увеличивает частоты ядер для большей производительности).
                    +1
                    Электричество

                    Я не поленился, купил ваттметр китайский аж за 500 рублей. Разница между полным простоем CPU и полной загрузкой всех ядер (i7 3770, 4 ядра, 8 потоков) — ватт этак 50. При этом в полном простое компьютер жрет около 150 ватт. Экономия в 1/4 — это так себе экономия.
                    Вот полная загрузка видеокарты — да, способна подкинуть еще +100 ватт.

                    Шум от кулеров

                    Да, есть такое. Тем не менее — лечится установкой избыточного радиатора, тихих кулеров и выставлением графика оборотов в БИОСе.
                    Вот шум видеокарты победить сложнее, особенно если система охлаждения на видяхе не очень.

                    Снижение производельности

                    Практически незаметно на современных CPU. Например, низкоприоритетные процессы не мешают компилять программы — даже наоборот, держат ядра загруженными и не дают процессору снизить частоты. Впрочем, определенные косяки вылезают. Например, из замеченного лично мной — в винде приходится долго ждать выскакивающей менюшки «безопасное извлечение устройств» при щелчке по иконке USB-девайсов.

                    Вот загрузка видеокарты вполне может проявиться суровыми тормозами, это да.

                    Например я смотрю фильм. Не двигаю курсор N минут. BOINC думает, что я не активен, запуская вычисления. И вот просмотр фильма слегка портится тихим «вжжжжжж» от кулера.

                    Можно откладывать запуск вычислений, если работает полноэкранное приложение (фильм или игра). Под виндой проверка реализуется довольно просто, под линуксом — не знаю, но думаю, что тоже возможно. Почему-то в BOINC эту проверку так и не удосужились добавить, хотя я в форуме разработчиков даже код соответствующий постил. Не помню уже, чем там они мотивировали отказ — то ли тем, что «мы же можем скринсейвер запускать, а он полноэкранный», то ли еще чем.

                    Для себя я написал маленький скрипт, который задает привязку к ядру процессора (обычно только одному/двум) для BOINC клиента. Процессы хоть и имеют приоритет минимальный, но ОС не считает их фоновыми (и потому увеличивает частоты ядер для большей производительности).

                    А такая неравномерная нагрузка не вредна процессору? Одно-два ядра постоянно горячие, а остальные — почти все время холодные. Не расслоится, не треснет?
                      0
                      Про ваттметр: как раз речь о том, что проц повышает частоты (ровно как и видеокарта).
                      Рост ТПД в зависимости от частоты линейный. Но кроме повышения частот, включаются дополнительные ядра (обычно у меня занято 1-2/8 логических — 1 физическое работает, а 3 стоят без дела и не потребляют энергию почти что).
                      Шум от кулеров конечно чинится покупкой новых комплектующих, но сейчас бы покупать что-то специально под BOINC. Не все биосы дают ставить обороты, да и не все кулеры умеют в 0 оборотов.

                      Можно откладывать запуск вычислений, если работает полноэкранное приложение

                      Это было бы очень удобно, как раз решая одно из последствий проблемы, но не саму проблему.

                      А такая неравномерная нагрузка не вредна процессору? Одно-два ядра постоянно горячие, а остальные — почти все время холодные. Не расслоится, не треснет?

                      Они едва греют на 45-50 градусов, но в общем Вы правы.

                      Я как раз думал купить ваттметр, но тут подвернулось приложение (OpenHardwareMonitor), где можно смотреть потребление чисто процессором (не уверен в точности, однако хоть что-то).
                      Я «майню науку» на ноутбуке и пк. На пк проблем в общем нет, тк на нем работаю и он загружен постоянно, а когда отхожу — включается BOINC. В общем проблем нет, кроме занятой оперативки.
                      А вот с ноутбуком сложнее. На нем все тормоза от BOINC видны гораздо сильнее, да и с энергопотреблением/теплоотводом проблемы. Галочка «не работать, если от батареи» помогает, но на ночь ноут обычно простаивает, скачивая что-то (с зарядкой включенной).
                      Обычно он спокойно рассеивает 1-2вт тепла без кулеров, а вот с 2.5вт уже начинается «вжжж», под которое не очень комфортно засыпать. Настроек включения кулеров нет ни в биосе, ни в приложениях сторонних.
                      В итоге костыль с привязкой ядер помогает, хоть и за счет замедления выполнения.

                      И про то, что эффективно: в диспетчере задач есть пункт «Бездействие системы» — как раз те такты, где процессор работает впустую (обычно это 70-80%). Мой скрипт позволяет спихнуть все приложения на одно ядро. Тогда остальные ядра выключаются. В таком случае бездействие системы снижается аж до 10-20% (не 0% за счет системных процессов, которые все равно запускаются на выключенных ядрах).
                      0-5% Получаются только в случае 100% загрузки.

                      И еще раз про ваттметр. Попробуйте провести измерения при одной частоте цпу. Тогда, по моим вычислениям, разница в энергопотреблении будет почти нулевой как при 0% загрузки, так и при 100% (при условии, что будет работать постоянное количество ядер)
                        0
                        И еще раз про ваттметр. Попробуйте провести измерения при одной частоте цпу. Тогда, по моим вычислениям, разница в энергопотреблении будет почти нулевой как при 0% загрузки, так и при 100% (при условии, что будет работать постоянное количество ядер)

                        Китайский ваттметр — это отдельная тема, у него цифры на экранчике мельтешат так, что только чудом что-то можно разглядеть. Если честно, даже лень лезть под стол и втыкать его снова.

                        Да и вообще… Что касается расхода электричества и объема проведенных вычислений, я для себя давно уже вывел простые правила:
                        — вычисления на CPU дают мизерные результаты. Если задача хорошо паралеллится — даже бюджетная видеокарта покроет крутой процессор как бык овцу. Поэтому вычисления на CPU нужно пускать только в том случае, если CPU снижает частоты и из-за этого недогружается GPU.
                        — пускать вычисления на ноутбуках, нетбуках, распберри паях и прочей мелкой технике — прикольно. Но почти бесполезно. При наличии хоть одной видяхи класса GTX 1060, подключенной к вычислениям, вклад этих шарабаек будет измеряться десятыми долями процента.
                          0
                          Поэтому вычисления на CPU нужно пускать только в том случае, если CPU снижает частоты и из-за этого недогружается GPU.
                          — пускать вычисления на ноутбуках, нетбуках, распберри паях и прочей мелкой технике — прикольно. Но почти бесполезно.

                          Тут много тонкостей, далеко не всё можно запустить на GPU, там дело не только в параллелизме, GPU в принципе не может многие вещи посчитать которые может спокойно посчитать CPU. С мелкими устройствами тоже не всё так однозначно, у меня на «утилизации», например, работает OnePlus 3T, если бы экран и корпус не кокнулся то пользовался бы им до сих пор, но поскольку ремонтопригодность этих проклееных железок стремится к нулю, то либо так либо в утилизацию, ещё большое сожаление вызывает то, что убогий Android не даёт все 4 ядра утилизировать, поэтому работают только 3 из 4, да и BOINC там запущен через редкостные костыли. Насколько понимаю последняя версия на которой ещё можно пользоваться без заморочек, это Android 7, а дальше Google всё сломал. Профит с этого калькулятора есть, он довольно энергоэффективен получается, да и в плане заморочек они одноразовые: запустил, кинул на полку, он и работает.
                        +1
                        Практически незаметно на современных CPU. Например, низкоприоритетные процессы не мешают компилять программы — даже наоборот, держат ядра загруженными и не дают процессору снизить частоты.

                        Подтверждаю. Во всяком случае CPU расчеты никак не мешают работе (программированию), хотя проц загружен на более чем 99%. И в настройках BOINC установлены параметры для максимальной производительности.

                          0
                          Разница между полным простоем CPU и полной загрузкой всех ядер (i7 3770, 4 ядра, 8 потоков) — ватт этак 50.

                          Что вполне ожидаемо ибо TDP у чипа 77 Вт, а процессор очевидно выкладывается не на полную ибо из проектов почти никто не использует, например AVX.
                          0
                          Не на всех машинах эффективно работает BOINC, некоторые железки не приспособлены для круглосуточной постоянной нагрузки или начинают сильно шуметь. Именно поэтому эта история может быть не для всех. Я всегда собирал себе тихие машины, поэтому у меня проблем нет. Небольшое снижение производительности в синтетике есть ибо кэши у железа не бесконечные, но в BOINC есть настройки которые позволяют запускать задачи только когда компьютер не используется, также можно настроить чтобы задания не работали когда запущены определённые приложения, в общем всё очень легко настраивается. На моём домашнем компе нагрузка сейчас выглядит так:
                          BOINC sys load and temp
                            0
                            также можно настроить чтобы задания не работали когда запущены определённые приложения

                            Вы правы, и более того, решили мою проблему с включением во время просмотра кино )
                            Однако я больше топлю за утилизацию пустых тактов без увеличения энергопотребления.
                            Бесплатная производительность в чистом виде.
                              +1
                              Бесплатной производительности там всё равно не получится ^^ я, дабы никого не пугать, не буду показывать показания с счётчика электроэнергии, но надо понимать что у меня дома ни один компьютер, а зоопарк железа, от зоопарка зимой тепло XD. В общем к этому надо относится как к благотворительности, с подходом, что такие вычисления позволяют более эффективно утилизировать ресурсы вычислительной техники.
                                0
                                Она будет более бесплатная, чем дорогая. Я считаю, если утилизировать пустые такты, то это будет гораздо эффективнее с точки зрения потребление ресурсов (которое почти не изменится), чем специально включать больше ядер и частоты на них. По моим замерам, при равных частотах разница между 100% и 0% загрузкой находится на уровне погрешности (0.1-0.2вт), тогда как включение ядер добавляет мощность пропорционально.
                                То есть по сути тут как раз бесплатная производительность.
                                  0
                                  «пустые такты» расходуют гораздо меньше энергии ибо тот же nop ничего не делает, есть ещё команды для большего ничего неделания, но лень вспоминать какие именно гоняет в фоне ОС, но помимо этого процессор когда не загружен не только частоты снижает, но и многие другие техники применяет, да и ОС начинает по другому планировать задачи, например часть ядер в многоядерной системе уходит в очень глубокий сон, а то и вовсе отключаются. Так что никакой бесплатной производительности не получится. При одной и той же частоте загруженный процессор в разы будет потреблять энергии больше чем незагруженный.
                                    0
                                    часть ядер в многоядерной системе уходит в очень глубокий сон, а то и вовсе отключаются

                                    Про ядра я писал выше (моя шайтан-прога ставит через маску процессу только на 1 ядро под BOINC, ибо иначе включены все ядра с загрузкой в 20-30%, что так себе сказывается на потреблении и шуме)

                                    При одной и той же частоте загруженный процессор в разы будет потреблять энергии больше чем незагруженный.

                                    Измерения по OpenHardwareMonitor-у с Вами будут не согласны. Надо бы проверить уже с ваттметром, но все никак не могу потратить 10$ на его покупку )
                                    Плюс я запускал систему с выключенными некоторыми ядрами. Результат был аналогичен почти всегда: при одинаковом количестве ядер на одной частоте потребление на 100% и на 0% не отличалось (0.1-0.2вт). А вот включение каждого последующего ядра и/или рост частот, понятное дело, повышали потребление.
                                    Так что я все еще верю в «пустые такты» :)
                                      0
                                      Хм, а просто настройками BOINC это не исправляется? Ну т. е. использовать не более N % процессоров или если уже совсем плохо, то использовать не более N % времени ЦП?

                                      Как по мне такие страдания с ручным прибиванием к ядру это уже слишком, надо либо обновлять систему охлаждения чтобы не шумела, либо просто пренебречь. Опять же если вызывает такуя озабоченность энергопотребление, то тоже проще пренебречь.
                                        0
                                        нет
                                        % процессора просто задают количество заданий активных. При этом они по ядрам скачут как угодно (что еще хуже, ибо потребление остается, но при этом задания выполняются меньше). Время цп настраивать там вообще бесполезно. Простои как были, так и остаются.
                                        Да и мои страдания исключительно моральные, ибо можно сделать лучше всем, но оно так не работает. А так мне не сильно жалко тех 2-3вт, которые тут идут сверх обычного потребления.
                                  0
                                  я, дабы никого не пугать, не буду показывать показания с счётчика электроэнергии

                                  Напугайте меня — интересно просто :)

                                    0
                                    Ладно ^^ это правда сейчас, зимой чуть меньше получается ибо кондиционеры не работают, но они очень энергоэффективные (на R32 фреоне) и после выхода на режим в сумме не жрут больше 200-300 Вт.
                                    мощность - 1.975 кВт
                                    мощность - 1.975 кВт

                                    P.S. по деньгам, сейчас, 2600 — 2800 ₽ в месяц выходит за электричество, но это сумма со всего.
                                      0

                                      Ну это явно не похоже на сумму, которая пугает :) Тем более если учитывать все.

                                0

                                Занятно. А какие BOINC проекты у вас утилизируют GPU? В World community grid походу не используется.

                                  0
                                  GPUGRID подавляющую часть времени. WCG — да «на текущий момент» не использует ресурсы GPU, и текущий момент у них всё время сколько пользуюсь :)
                              +2
                              Довольно хороший обзор проектов распределённых вычислений. Сам кранчу с довольно большими перерывами с '06, а совсем плотно с '13. Делаю это потому что могу и потому что это общественно полезное дело, этого мне достаточно, такой вот вид благотворительности. Мне заранее было понятно что пройдёт очень много времени прежде чем расчёты дадут практический результат. В основном помогаю, уже описанным в статье, World community grid и GPUGRID. Полный список проектов, в которых принимал участие, есть на boincstats. Кому интересны «ачивки» (бейджи), то существуют сервисы которые их в одну красивую пикчу складывают, если хочется, например, на сайте разместить:
                              signature for boinc
                              К слову, GPUGRID довольно оперативно публикуют ещё и сведения о том каким исследованиям помогли именно твои вычисления и даже отдельные бейджи с процентами дают за каждое опубликованное на основе данных исследование.
                              Сейчас ещё по теме COVID-19 кранчу и для Ibercivis (на момент написания комментария сайт проекта лежит ^^). Проект Ibercivis проверяет эффективность потенциально работающих и уже существующих разрешённых препаратов против COVID-19, если повезёт то можно будет гораздо быстрее начать применять уже хорошо проверенный препарат в качестве лечения.
                                0
                                Oops, хабр потёр оригинальную картинку с сервиса Signature for BOINC users, вот реальная ссылка на ачивки ^^
                                  0
                                  Оказывается у Ibercivis случилось эпичное:
                                  We are working on physically optimizing the cooling of the data center where the BOINC servers of the Covid-Phym project are hosted. To undertake the cooling works it has been necessary to cut the electricity of the entire data center. The work is expected to be completed this Friday, June 19. Once completed, all services will be raised. We deeply regret the inconvenience caused More information on the Ibercivis website

                                  Сайт проекта лежал поскольку они вносят улучшения в систему охлаждения дата центра O_O
                                  +3
                                  клиент folding@home кривой и глючный, с настройками из одного ползунка на три позиции. я его поставил, помучался сутки, снёс и больше прикасаться к этому проекту не хочу
                                    0
                                    Хороший вариант — запускать компьютер на ночь и идти спать. Лучший — купить виртуальную машину у облачного провайдера и запустить там BOINC 24/7.

                                    Серьезно? То то провайдер обрадуется, что на его мощностях вы решили принести благо человечеству. У большинства, если это не спецтальные инстансы для вычислений, есть в соглашении что майнить (а с точки зрения прова процесс неотличим) нельзя.

                                    Вообще я достаточно долгое время наблюдаю за движухой, с чисто энтомологическим интересом, тк я не понимаю ЗАЧЕМ.
                                    Если есть желание слушать рев кулеров и оплачивать счета за электричество, то можно майнить, за это ДЕНЬГИ ПЛАТЯТ.
                                    Лично я убил серьезную сумму денег и кучу времени чтобы НЕ слушать воющие звуки высокооборотных кулеров (сборка и установка кастомной СЖО на проц и обе видеокарты), и не готов пожертвовать акустическим комфортом даже за $3 в день (примерно столько будет майнить домашняя машина), а уж за ради блага человечества…

                                    Про то что майнинг и прочий фолдинг просто убивают игровые видеокарты, а особенно ноутбуки, которые просто конструктивно не рассчитаны на 24\7 вообще промолчу…

                                    ЗЫ. У меня были майнинговые риги в 15 и 18 годах, какой это гемор домашние вычисления я представляю, зачем это делать бесплатно (а по сути в убыток) — нет.

                                      0
                                      Вообще я достаточно долгое время наблюдаю за движухой, с чисто энтомологическим интересом, тк я не понимаю ЗАЧЕМ.

                                      1. Дух соревнования: уделать соседа по количеству нащелканных попугаев.
                                      2. Желание доказать себе, что выжал из железа по максимуму («круто я свой райзен разогнал — вон сколько попугаев по сравнению с аналогичными конфигами!»)
                                      3. «Все равно зазря машинка работает, а так хоть какую-то пользу принесет» (о серверах и не выключаемых на ночь рабочих станциях)

                                      А вообще, мне кажется, это сродни стремлению разогнать железо: практическая польза сомнительна, но как-то душу греет. :)

                                      Про то что майнинг и прочий фолдинг просто убивают игровые видеокарты, а особенно ноутбуки, которые просто конструктивно не рассчитаны на 24\7 вообще промолчу…

                                      Ноутбуки да, а насчет видеокарт можно поспорить. Все-таки игровая видеокарта рассчитана не на пятиминутные сеансы игры, а на достаточно продолжительное время — пару часов хотя бы. Зависит от системы охлаждения, конечно: глупо было бы ждать низких температур и тишины от карты с одним вентилятором. В любом случае в приличных майнинговых программах должен быть мониторинг температур и управление нагрузкой (впрочем, тут я не уверен, майнингом не занимался).
                                        0
                                        1.2.3. — все то же самое можно сделать майнингом.

                                        Я вот сплю в той же комнате где комп стоит, и одно дело шелест на 500RPM с расстояния три метра, а совсем другое ВУУУ ВУУУУ ВУУУУУУУ

                                        пару часов хотя бы

                                        Угу, как раз пара часов и 24 на 7 это две больших разницы, как практикующий майнер сообщу следующее:
                                        1. СО, в ВК с полупассивным охлаждением (то есть кулера включаются только при нагрузке) сейчас ставят кулеры с настолько позорной наработкой на отказ… Через два года даже не 100% режима из строя выходит до половины.
                                        2. Термопрокладки, при превышении постоянном рабочей температуры они текут и высыхают, а за ними улетают мосфеты или чипы памяти, необходима замена, которая часто должна производится до окончания гарантийного срока, и чревата слетом с гарантии.
                                        3. В большинстве случаев при кажущихся комфортными 65гр на чипе, если радиатор питальника не сообщается с общим, то на оном может быть до 100+ гр. А никаких термодатчиков там нет. Лично я считаю что майнить на вк можно только с продольным обдувом оной серверными кулерами от 2000RPM. И разумеется происходить это должно только в открытом корпусе или корпусе типа аэродинамическая труба, а никак не внутри домашнего ПК, где майнящая Вк разогреет вообще всю комплектуху. Если она не турбина (бловер), а если турбина то надо готовить 2к на ее замену через пару лет.

                                        1 КВт/ч стоит 3,5 рубля. Если я начну делать мир лучше на 2080ti то это 0,2КВт*24*3,5*30=500Р в месяц, а не жирно ли будет миру? Даже без учета риска убить вк за килобакс+
                                          0
                                          Я вот сплю в той же комнате где комп стоит, и одно дело шелест на 500RPM с расстояния три метра, а совсем другое ВУУУ ВУУУУ ВУУУУУУУ

                                          А зачем гонять комп ночью? Он даже без вувуву неплохо так электричества нажрет за месяц.
                                          Для раздачи всяких торрентов можно завести отдельную маломощную шарабайку (да хоть ту же малину ака raspberry pi) — она на пассивном охлаждении вполне справится с такими задачами.
                                            0
                                            наверное это привычка, не выключать, очень много обычно всякого открыто, винда только совсем недавно научилась открывать обратно все после перезагрузки… ВМ обычно несколько запущено, они не совсем хорошо реагируют на переход хоста в S3

                                            с выключенными мониторами потребление системы ок 70вт, а в суспенде вообще практически отсутствует
                                      0
                                      Всем привет! Получила вот такую классную инструкцию по BOINC для начинающих от пользователя FullHD. Она должна развеять опасения и сомнения тех, кто пока не решил, стоит ли считать проекты на смартфонах.

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое