Я пишу приложение, которое потенциально может быть запущено в любом планировщике ресурсов кластера (SGE, LSF или SLURM чтобы назвать некоторые из них), используя самые основные функции.
Мне интересно, существует ли уровень фреймворка / абстракции для взаимодействия с такими инструментами независимо от продукта?
В DRMAA API поддерживается всеми основными планировщиками ресурсов напрямую или через дополнительную библиотеку. API v1 поддерживается большинством продуктов, но его объем весьма ограничен, он в основном обрабатывает только отправку заданий и предоставляет только общий набор функций. API v2 предоставляет функции для контроля и мониторинга заданий, но, насколько мне известно, пока еще не получил широкого распространения.
Никакое программное обеспечение уровня абстракции не было принято в основной поток распределенных вычислений, в основном из-за того, что большинство кластеров не разделяют пользователей и ресурсы между собой. Есть некоторые исключения, например, некоторые университеты и академические учреждения используют Кондор чтобы воспользоваться преимуществами настольных компьютеров, разбросанных по университетскому городку, но это не особенно хорошо подходит для некоторых типов работ.
Углубляясь немного глубже, хотя планировщики иногда могут быть весьма вовлечены, если вы используете что-то другое, кроме варианта PBS, и даже между этими планировщиками есть некоторые странные несоответствия, которые могут возникнуть при попытке воспользоваться определенными функциями.