Российская программа заставит кластеры работать на 100%

Сегодня завершился Национальный суперкомпьютерный форум. Он проводился в третий раз по инициативе Института программных систем РАН.

На форуме обсуждали различные технологии параллельных и распределенных вычислений, применяемых для реализации наукоёмких проектов и прикладных задач. Среди представленных решений выделяется подход к использованию вычислительных ресурсов, предложенный сотрудниками Института динамики систем и теории управления (ИДСТУ СО РАН, Иркутск) и Института проблем передачи информации (ИППИ РАН, Москва).

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

Одной из главных причин, сдерживающих развитие общества, остаётся нерациональное использование доступных ресурсов. Пустуют земли, лес переводится на рекламные листовки, а львиная доля электроэнергии уходит в виде потерь.

Внимательный читатель легко расширит список своими примерами, поскольку видит их каждый день. Однако есть и скрытая от многих часть проблемы, касающаяся ИТ-отрасли.

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

Российская программа заставит кластеры работать на 100%НСКФ стал новым местом встречи представителей науки, образования и бизнеса.

Сейчас в России уже девять суперкомпьютеров, входящих в свежий список TOP500, и ещё множество кластеров с более скромной, но всё-таки серьёзной производительностью. Значительная часть этих ресурсов остаётся невостребованной.

Это связано с тем, что у их владельцев пока нет подходящих масштабных задач или специалистов по параллельным вычислениям. Иногда малые ВУЗы даже отключают часть вычислительных узлов своих кластеров, поскольку загрузить их нечем, а счета за электроэнергию приходят регулярно.

Сложившуюся ситуацию очень точно описывает крылатая фраза Грейс Хоппер – автора первого компилятора, также вошедшей в историю как контр-адмирал флота: «Кораблю безопаснее всего в порту, но он не для того строился».

Суперкомпьютер “Ломоносов” (фото: russiancouncil.ru).

С годами многоядерные системы превращаются в груду дорогого железа. Иногда это происходит прежде, чем они оправдают своё создание. Решить эту проблему помогает отечественная разработка CluBORun, загружающая кластеры решением актуальных научных задач.

Подробности о работе программы и первом опыте её применения редакции «Компьютерры» рассказали её соавторы – научный сотрудник ИДСТУ СО РАН Олег Заикин и представитель портала boinc.ru Максим Манзюк.

Соавторы CluBORun Максим Манзюк (слева) и Олег Заикин.

– Олег, расскажите о предпосылках создания CluBORun.

– Все началось с того, что нам понадобился большой объём вычислительных ресурсов, а доступа к мощным кластерам на тот момент не было. Наша лаборатория дискретного анализа и прикладной логики специализируется на решении практических задач путём их сведения к проблеме булевой выполнимости (SAT).

Для решения очередной задачи мы решили разбить её на отдельные задания и выполнить их на компьютерах добровольцев. С помощью коллег из центра распределенных вычислений ИППИ РАН для этого создали проект распределенных вычислений SAT@home на платформе BOINC.

Он работает уже больше трёх лет. В его рамках мы провели анализ криптостойкости двух шифров и нашли новые комбинаторные объекты.

Однако пока мы загружаем персональные компьютеры добровольцев, где-то простаивают специально созданные для научных расчётов кластеры.

– Насколько часто кластеры работают «вхолостую»?

– Опыт показал, что даже на хорошо загруженных задачами кластерах большие объемы вычислительных ресурсов остаются незадействованными. Это связано с «сезонностью» проведения расчётов.

Перед отчётами нагрузка на кластер высокая, а летом она сильно снижается.

– Вам захотелось занять их полезной работой?

– Да, поначалу возникла идея усилить проект SAT@homе с помощью свободных ресурсов. Затем мы стали мыслить более масштабно и захотели создать универсальный инструмент, который делал бы тоже самое для других научных проектов.

Требовалось написать аналог BOINC-менеджера для кластера. При этом я ориентировался на успешно работающий инструмент BNB-Grid, разработанный в.н.с. центра распределенных вычислений ИППИ РАН Михаилом Посыпкиным.

В дальнейшем он помог нам с развитием и запуском CluBORun, то есть стал одним из соавторов этого инструмента. Основной разработчик – Максим Манзюк, энтузиаст портала boinc.ru.

– Максим, сейчас CluBORun используется в каких-то других проектах?

– Сейчас этот инструмент используется в двух российских проектах: в упомянутом выше SAT@home и в проекте Optima@home, созданном в центре распределенных вычислений ИППИ РАН. Решаются задачи из области комбинаторики, криптографии, теории алгоритмов, кристаллографии.

Надеюсь, что скоро и другие основанные на BOINC проекты начнут пользоваться этим инструментом. Есть все предпосылки для этого.

Российские научные проекты, использующие распределённые вычисления на платформе BOINC.

– Олег, что представляет собой CluBORun?

– По своей сути CluBORun – это набор скриптов, динамически регулирующих нагрузку таким образом, что пользователи кластера не ощущают его использования в проектах добровольных распределённых вычислений. Они просто не сталкиваются с заметными задержками при выполнении своих задач.

При этом запуск BOINC-расчётов осуществляется с помощью MPI-приложений, то есть – стандартным для кластеров способом. CluBORun автоматически задействует простаивающие вычислительные ресурсы и возвращает их по первому требованию.

– Максим, каковы ключевые особенности программы?

– Для запуска CluBORun не требуются права администратора, а загрузка кластера оптимизируется. Меняется соотношение долей разных заданий, причём по умолчанию все не-BOINC вычисления имеют более высокий приоритет.

Задачи через CluBORun запускаются либо в промежутках между другими, либо в том случае, когда какое-то число ядер просто высвобождается и “претендентов” на них нет.

– Ваша программа – открытая?

– Да. Недавно мы выложили исходники в открытый доступ.

Теперь надо выйти на форум разработчиков BOINC-проектов с пояснениями. После соответствующей экспертизы CluBORun включили в список официальных дополнений платформы BOINC на сайте Калифорнийского университета в Беркли.

– Олег, почему CluBORun запускает проекты именно на платформе BOINC?

– Ориентация на готовую, хорошо сделанную платформу распределённых вычислений BOINC – это очень важный фактор. Она эффективно используется во всём мире уже двенадцать лет, при этом постоянно развиваясь.

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

– На этапе первичного внедрения CluBORun были какие-то проблемы?

– Трудности были. Полностью загруженный кластер потребляет больше электроэнергии, чем простаивающий.

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

Правила игры остаются прежними: мы не просим для себя никаких преференций на кластере, это ключевой момент всего подхода. Когда мы всё это объясняем администраторам кластеров, как правило, проблем не возникает.

– Олег, а есть ли похожие разработки?

– Есть несколько инструментов, но все они отличаются от CluBORun важными деталями. Упомянутый выше BNB-Grid, а также GridWay (разработка испанской группы) тоже позволяют запускать расчёты на кластерах с правами обычных пользователей.

Однако они не освобождают ресурсы для других задач (как это сделано в CluBORun) и не учитывают специфику BOINC-расчётов на кластере. Другой инструмент – HTCondor, широко используется для создания распределенных систем (в том числе на основе кластеров).

В нём есть возможность запуска BOINC-расчетов на любом узле кластера, но при этом нужны права администратора. Разработка венгерской команды – 3G-Bridge, позволяет обмениваться заданиями между BOINC-проектом и сервисным гридом на основе кластеров, но для этого также нужны права администратора.

– Максим, а есть ли возможность использовать CluBORun для решения бизнес-задач?

– По отдельной лицензии BOINC можно использовать и в коммерческих целях. Соответственно, CluBORun вполне может найти применение вне академической среды.

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

А вот если хочется сэкономить, либо если вычисления нужно проводить не на постоянной основе, то можно сделать грид на базе имеющихся ресурсов предприятия (серверов, ПК, ноутбуков и даже смартфонов). Вот в этом CluBOrun может помочь.

Анализ рынка с применением кластеров


Читать также…

Читайте также: