Эффективный способ ожидания завершения работы: python и drmaa

Я хотел спросить о функции ожидания в API drmaa, который я использую через Python. Делает ли он постоянные qstat (если мы запускаем его на SGE), чтобы проверить, закончилась ли программа.

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

В общем, wat будет эффективным способом проверки статуса работы через DRMAA без перегрузки планировщика.

Спасибо! -Abhi

1 ответ

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

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

  • Исправьте реализацию DRMAA, которую вы используете, чтобы положиться на прямую связь с планировщиком. Одним из источников информации для проводного протокола может быть проект Open Grid Scheduler.
  • Подождите, пока Univa (или другие) не предоставит реализацию DRMAAv2 для своего продукта Grid Engine. Эта версия API поддерживает обратные вызовы библиотеки при изменении статуса задания (http://ogf.org/documents/GFD.198.pdf), что, по-видимому, именно то, что вам нужно.
Другие вопросы по тегам