BOINC + кластеры

advertisement
CluBORun: средство использования
свободных ресурсов вычислительных
кластеров для BOINC-расчетов
Манзюк М.О., Заикин О.С.
ИДСТУ СО РАН, Иркутск
BOINC + кластеры
BOINC – платформа для организации грид-вычислений
и добровольных вычислений.
BOINC на кластерах – 2 подхода.
1. С использованием платформы BOINC создается
гетерогенный грид, в него добавляются кластеры.
Пример – грид*, созданный в ИПМИ КарНЦ РАН. В
состав этого грида входят серверы, ПК сотрудников, а
также вычислительный кластер ЦКП КарНЦ РАН.
* Ивашко Е.Е., Никитина Н.Н. Использование BOINC-грид в
вычислительноемких научных исследованиях // Вестник НГУ.
Серия: Информационные технологии. 2013. Т. 11, Вып. 1. С. 53–57.
2
BOINC + кластеры
2. Узлы кластера напрямую подключаются к проекту
добровольных вычислений на основе BOINC. При
этом каждый узел кластера будет рассматриваться
как отдельный компьютер (хост) в проекте.
В проекте Einstein@home впервые кластер был
подключен в 2007 году. Благодаря этому
производительность проекта выросла с 64 до 89
TFLOPs. С тех пор в проекте Einstein@home постоянно
используются кластеры.
В 2011-2012 гг. к проекту SAT@home был подключен
кластер ИМЭИ ИГУ, на котором не проводились другие
расчеты.
3
BOINC + кластеры
Для реализации обоих подходов необходимы права
администратора на использование кластера.
На узлах кластера запускается BOINC-клиент в обход
очереди заданий.
Если на узле запускаются процессы пользователей
кластера (через очередь заданий), то BOINC-клиент
ставит свои вычисления на паузу (как на обычном
ПК).
+ простой и надежный способ
– неприменим без прав администратора
4
Кластеры в BOINC-проектах : актуальность
• Прирост производительности от кластеров может быть
весьма значительным.
• Вычислительные мощности кластеров могут простаивать,
а запуск BOINC-расчетов решит эту проблему.
• Кластер – надежное устройство. Результаты расчетов на
кластере можно принять как эталонные при проверке
результатов копий заданий.
• Важно для репутации проекта – если не задействуются
имеющиеся у научного сообщества вычислительные
мощности, то почему они запрашиваются у мирового
сообщества?
• Одна единица задействованных мощностей может
привлечь еще несколько единиц благодаря конкуренции
среди команд за лидирующие позиции в рейтингах
статистики.
5
Предлагаемый подход
Требования:
• Использовать только права обычного пользователя
кластера.
• Использовать только свободные ресурсы кластера.
Решение:
• Периодически анализировать очередь заданий
кластера.
• Если есть свободные ресурсы, запускать на них
MPI-задачи, которые в качестве промежуточного ПО
используют BOINC.
• Если в очереди появляются задачи других
пользователей, прерывать MPI-задачи с BOINC.
6
Реализация
Cluster for BOINC Run (CluBORun) – средство для
запуска BOINC-расчетов на кластерах.
Аналог BOINC-менеджера, который управляет
процессом вычислений на ПК добровольцев – только
вместо свободных ресурсов ПК предлагается
использовать свободные ресурсы кластера.
Использован awk - интерпретируемый скриптовый Cподобный язык, работает в bash (sh) скриптах.
7
Реализация. Компоненты
• Каталоги с экземплярами BOINC-клиента – для каждого
узла свой каталог.
• Файлы-флаги, соответствующие экземплярам BOINCклиентов. При запуске BOINC-клиента создается startфлаг, в случае необходимости его остановки – stop-флаг.
• Скрипт start_boinc.sh, который запускает BOINC-клиент
на выделенном ему узле кластера
• Скрипт catch_node.sh, предназначенный для анализа
загрузки кластера, запуска скриптов start_boinc.sh и для
остановки BOINC-клиентов.
8
Реализация. Скрипт catch_node.sh
• Каждые 5 минут (через crontab) выполняется скрипт
анализа очереди catch_node.sh
• catch_node.sh запрашивает список задач,
запущенных на кластере и стоящих в очереди.
• параметр clusterNodes определяет максимальное
допустимое количество узлов кластера, на которых
может быть запущен BOINC.
• при обнаружении свободных узлов запускаются
BOINC-задачи, используя скрипт запуска
start_boinc.sh.
• если в очереди появились задания других
пользователей, которые могли бы начать
выполняться на высвобождаемых узлах, то BOINCзадачи останавливаются.
9
Реализация. Скрипт start_boinc.sh
• скрипт start_boinc.h на выделенном ему узле
запускает BOINC-клиент с использованием MPI
через очередь заданий.
• MPI используется как оболочка – управление
передается BOINC-клиенту который использует
узел кластера как обычный ПК.
• главный MPI-процесс отсчитывает время работы и
выполняет своевременную остановку BOINCклиента при достижении лимита на время работы.
• параметр timelimit определяет на какое время
запускается BOINC-задача. Рекомендуемое
минимальное значение для SAT@home – 1 час.
10
Общая схема вычислений
11
Связь с интернетом
На кластере может быть открыт доступ в интернет:
• только с управляющего узла
• со всех узлов
На кластере blackford ИДСТУ СО РАН доступ был
открыт со всех узлов.
CluBORun запускает на каждом узле BOINC-клиент,
который связывается с сервером проекта.
TODO
Настроить прокси, чтобы связь была только через
управляющий узел. Для этого тоже не нужны
права администратора.
12
Проект добровольных вычислений
SAT@home
Совместный проект ИДСТУ СО РАН и ИППИ РАН.
Предназначен для решения вычислительно сложных задач,
эффективно сводимых к SAT-задачам.
29.09.2011 – запуск проекта.
Успешно решены задачи логического криптоанализа генератора
A5/1, а также задачи поиска систем ортогональных латинских
квадратов.
С помощью CluBORun ресурсы кластера Blackford ИДСТУ СО РАН
были использованы в SAT@home
13
2013.04.12 13:40
2013.04.13 07:40
2013.04.14 18:40
2013.04.15 12:40
2013.04.16 06:40
2013.04.17 00:40
2013.04.17 18:45
2013.04.18 12:45
2013.04.19 06:45
2013.04.20 00:45
2013.04.20 18:45
2013.04.21 12:45
2013.04.22 06:45
2013.04.23 06:20
2013.04.24 00:20
2013.04.24 18:20
2013.04.25 12:20
2013.04.26 06:20
2013.04.27 00:20
2013.04.27 18:20
2013.04.28 12:20
2013.04.29 06:20
2013.04.30 00:20
2013.04.30 18:20
2013.05.01 12:20
2013.05.02 06:20
2013.05.03 00:20
2013.05.03 18:20
2013.05.04 12:20
2013.05.05 06:20
2013.05.06 00:20
2013.05.06 18:20
2013.05.07 12:20
2013.05.08 06:20
2013.05.09 00:20
2013.05.09 18:20
2013.05.10 12:20
2013.05.11 06:20
2013.05.12 00:20
2013.05.12 18:20
2013.05.13 12:20
Число ядер
Загрузка кластера Blackford с 12.04 по 13.05
Заблокиров ано
Приложения
BOINC
Время
Св ободно
Очередь
224
208
192
176
160
144
128
112
96
80
64
48
32
16
0
14
Варианты использования
• Использовать все свободные ресурсы кластера
• Использовать не более определенного числа
ресурсов
15
Перспективы
• Связь с сервером проекта с только с главного узла
через прокси.
• Поддержка различных систем очередей.
• Выделение в SAT@home доверенных хостов,
подключенных через CluBORun.
• Попасть в список дополнений BOINC, чтобы
разработанным средством пользовались в других
проектах.
http://boinc.berkeley.edu/addons.php
16
Перспективы
17
Спасибо за внимание!
18
Download