PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 17 ноя 18 20:48

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 17 мар 09 12:18 
Не в сети

Зарегистрирован: 17 мар 09 11:32
Сообщения: 3
Откуда: СГУ, Саратов
Добрый день
Я настраиваю кластер для проведения высокопроизводительных вычислений. На нем предполагается решать как последовательные, так и параллельные задачи. ОС - Fedora 10. Для параллельных задач установил MPICH, настроил беспарольный доступ по ssh, NFS+NIS.

Теперь встал вопрос о выборе какой-либо batch системы + GUI. Хотелось бы услышать ваше профессиональное мнение по данному вопросу. Требования, какие я вижу на данный момент, к системе:
1. Эффективное распределение задач по узлам, равномерная нагрузка.
2. Удобный графический интерфейc. Возможность отправки заданий на выполнение, просмотр статуса выполнения, потребляемые ресурсы. Задания могут быть как в виде последовательных программ, так и с использованием MPICH.
3. Потребляемые ресурсы (CPU, Disk I/O, network) как в целом, так и по отдельной пользовательской задаче представлять в виде графиков. В целом (статистику потребления ресурсов не разделяя пользователей) я предполагаю мониторить с помощью Ganglia, а как насчет дифференцирования по пользователям?
4. Гибкое управление политиками запуска заданий. Возможность установки времени выполнения задачи для пользователя, с последующей приостановкой задачи, если она не завершилась сама. Установка количества процессоров, которые будут доступны пользователю. Приоритет.
5. Уведомление пользователя о завершении задачи (напр e-mail)
6. Исключение доступа пользователя к кластеру по ssh. Насколько это возможно? Возможно ли через GUI отправлять исходники на кластер, которые будут затем скомпилированы на нем и запущены? Если так нельзя, то придется дать пользователю возможность заходить по ssh и компилировать исходники там. ((
7. Возможно ли использовать несколько реализаций MPI на кластере, и выбирать нужную при запуске задачи? Не возникнет ли при этом дополнительных проблем?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 мар 09 15:31 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Mikhail CVR писал(а):
1. Эффективное распределение задач по узлам, равномерная нагрузка.

В каких смыслах эффективное?

Цитата:
2. Удобный графический интерфейc. Возможность отправки заданий на выполнение, просмотр статуса выполнения, потребляемые ресурсы. Задания могут быть как в виде последовательных программ, так и с использованием MPICH.

Отправлять задачу на счёт из GUI не получится. А если получится, то будет неудобно - проверено. Просмотр статуса - это можно.

Цитата:
3. Потребляемые ресурсы (CPU, Disk I/O, network) как в целом, так и по отдельной пользовательской задаче представлять в виде графиков. В целом (статистику потребления ресурсов не разделяя пользователей) я предполагаю мониторить с помощью Ganglia, а как насчет дифференцирования по пользователям?

Никак. Ganglia это не умеет. А всё остальное, что есть - не умеет остального :) Я сам занимаюсь такой задачей,если интересно - посмотрите пакет antmon (https://sourceforge.net/projects/antmon). Эта версия довольно сырая, но работоспособная. Для неё есть интеграция с системой очередей Cleo и можно по любой задаче посмотреть всё, что происходило на узлах. Плюс есть возможность оповещения о проблемах - Ganglia этого тоже не умеет.

Цитата:
4. Гибкое управление политиками запуска заданий. Возможность установки времени выполнения задачи для пользователя, с последующей приостановкой задачи, если она не завершилась сама. Установка количества процессоров, которые будут доступны пользователю. Приоритет.

Такие вещи умеют далеко не все (принудительно завершение, в честности). В проекте Cleo сделан упор на решение таких проблем плюс гибкость политик управления.

Цитата:
5. Уведомление пользователя о завершении задачи (напр e-mail)

В cleo это есть, для других - надо вписывать действие в скрипт.

Цитата:
6. Исключение доступа пользователя к кластеру по ssh. Насколько это возможно? Возможно ли через GUI отправлять исходники на кластер, которые будут затем скомпилированы на нем и запущены? Если так нельзя, то придется дать пользователю возможность заходить по ssh и компилировать исходники там. ((

Приемлем ТОЛЬКО второй вариант. Иначе вас убьют :) Запретить входить на узлы можно модулем pam_listfile...

Цитата:
7. Возможно ли использовать несколько реализаций MPI на кластере, и выбирать нужную при запуске задачи? Не возникнет ли при этом дополнительных проблем?

Поставьте mpi-selector


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 мар 09 16:56 
Не в сети

Зарегистрирован: 28 май 05 21:12
Сообщения: 217
Откуда: Москва
Mikhail CVR писал(а):
...

Вставлю свои 5 коп. В основном относительно pbs.

1. Постановка задачи в виде "Эффективное распределение задач" очень общая и много копий сломано как в теоретических трудах, так и при реализации. Нужно больше конкретики. Ну и попутный вопрос - сколько узлов в кластере, что могут потребоватся какие то специфические планировщики?
2. В OpenPBS была GUI утилита, но как справедливо заметили это крайне неудобно.
4. В PBS есть такой функционал.
5. В PBS пользователь должен прописывать в скрипте почтовый адрес, а сама возможность присутствует без дополнительных телодвижений.
6. Запрещение доступа - абсурд. Вас "убьют" (с) :)
7. Возможно. Более того, возможно ставить несколько реализаций mpi отдельно в домашний каталог конкретного пользователя и использовать именно ее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 мар 09 13:26 
Не в сети

Зарегистрирован: 17 мар 09 11:32
Сообщения: 3
Откуда: СГУ, Саратов
Большое спасибо за столь оперативные и содержательные ответы.
1. Эффективное распределение задач по узлам, равномерная нагрузка.
Не конкретизировал, потому что вопрос требует детальной проработки. Как я понял, в Cleo можно написать свой модуль по управлению загрузкой, если не устраивают готовые схемы. Для Torque можно использовать внешний планировщик MAUI. Т.е. проблем возникнуть не должно.
3. Что используется для мониторинга в Torque, SGE? Имеется в виду мониторинг как отдельной пользовательской задачи, так и в целом. Если там нет мониторинговых систем "в комплекте", что рекомендуется, кто что использует? Возможна ли интеграция Ant с Torque, SGE?
4. Как решается вопрос с принудительным завершением? kill -9 или можно приостановить выполнение задачи с возможностью последующего возобновления?
5. Как-нибудь отслеживаются всякие "умные" действия пользователей, например запуск якобы одной задачи:
#!/bin/bash
./prog1 &
./prog2 &
./prog3 &


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 мар 09 14:13 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Mikhail CVR писал(а):
3. Что используется для мониторинга в Torque, SGE?

Ничего. Есть свои агенты, но объективной информации они дать не могут.

Цитата:
Возможна ли интеграция Ant с Torque, SGE?

Думаю, да.

Цитата:
4. Как решается вопрос с принудительным завершением? kill -9 или можно приостановить выполнение задачи с возможностью последующего возобновления?

В torque рекомендуется запускать всё под mpiexec (отдельный продукт). Но он не совместим с некоторыми вариантами MPI и с последовательными задачами. Можно только чистить "ручками", например в скрипте-эпилоге. Но тут тоже есть проблемные места...

Цитата:
5. Как-нибудь отслеживаются всякие "умные" действия пользователей, например запуск якобы одной задачи:
#!/bin/bash
./prog1 &
./prog2 &
./prog3 &

Никак. Кстати, корректного способа отследить такие вещи просто нет, так что советую не заморачиваться...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 мар 09 18:54 
Не в сети

Зарегистрирован: 17 мар 09 11:32
Сообщения: 3
Откуда: СГУ, Саратов
Можно ли как-нибудь в Cleo формулировать требования к вычислительному узлу(-ам) при запуске задания например по доступной оперативной памяти, swap.. Особенно в случае гетерогенного кластера? В SGE и Torque как я понял можно указывать требования в командной строке запуска:
Torque:http://www.clusterresources.com/torquedocs21/2.1jobsubmission.shtml, SGE:http://wikis.sun.com/display/gridengine62u2/Defining+Resource+Requirements

Как-нибудь обеспечивается честное распределение ресурсов (во избежании постоянного захвата ресурсов одним пользователем) в Cleo?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 мар 09 20:51 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
Mikhail CVR писал(а):
Можно ли как-нибудь в Cleo формулировать требования к вычислительному узлу(-ам) при запуске задания например по доступной оперативной памяти, swap.. Особенно в случае гетерогенного кластера?

Можно, но штатный планировщик их не учитывает. Гетерогенность обычно учитывается за счёт создания подразделов. Если нужно использовать узлы одного типа - ставите задачу в нужную очередь. Если тип узла не важен - в очередь верхнего уровня.
А динамические параметры типа "доступная оперативная память" - это иллюзия. Если на узле пускается более одной задачи, то они не имеют смысла.

Цитата:
Как-нибудь обеспечивается честное распределение ресурсов (во избежании постоянного захвата ресурсов одним пользователем) в Cleo?

Есть несколько штатных вариантов, можно добавлять свои в планировщик. Штатные - максимальное число одновременно занятых ядер, максимум задач на счёте, максимум задач в очереди, лимит времени, суммарный лимит процессоро-часов для запущенных задач.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB