Есть ли библиотека Drmaa Java, которая работает с крутящим моментом / PBS?

StackOverflow https://stackoverflow.com/questions/2715243

Вопрос

Кто-нибудь знает Java-реализацию DRMAAA-API, который, как известно, работает с программным обеспечением Cluster PBS / крутящего момента?

Фон за этим: я хотел бы представить работу в недавно настроенную кластер Linux из Java, используя API DRMAA API. Кластер управляется PBS / крутящий момент. Отказ Крутящий момент включает в себя библиотеку PBS DRMAA 1.0 для крутящего момента / PBS, которая содержит привязку DRMA-C и обеспечивает биналью Pibdrmaa.so и. Я знаю, что Sun Grid Engine включает в себя Drmaa.jar, обеспечивающий API Java-Drmaa. На самом деле я решил использовать SGE, но было решено первым попробовать PBS.

Теория за этим решением была:
«DRMAA - это стандарт, и, следовательно, Java API нуждается в стандартах, соответствующих стандартам DRMAAA-C Binding. Тем не менее, я не мог найти такое «General Drmaa-C-Java API», и теперь предполагают, что это предположение не так, и что библиотеки Java являются личными.

Редактировать: я просто экспериментировал с Drmaa.jar от пакета двигателя Sun Grid и попытался перекрестить его с PBS libdrmaa.so. Неудивительно, что не удалось (ошибка не неудовлетворенная ссылками).

Заключение: это не работает так! После некоторых поисков я вижу только эти несколько вариантов:

  1. Установите Glidway Ontop Toolkit Globus. Установлен Ontop PBS, Gridway утверждает, что предоставляет Drmaa в Java. Выглядит слишком сложным для моей обстановки.
  2. SCRAP DRMAA, отправьте в PBS, вызывая System Command QSUB, QStat и т. Д. Из Java. Просто, но не так приятно.
  3. Внедрить дормаа, привязав себе. Слишком сложный путь ...

  4. Переключиться на двигатель сетки. GE На мой взгляд превосходит PBS в отношении языковых привязки.

Я склонен предпочесть вариант 2. Или 4. Любые рекомендации?

Это было полезно?

Решение

После некоторых поисков похоже, что я должен написать что-то сам. Там, кажется, не является оптимальным ответом, но он может служить предупреждением для тех, кто пытается одинаково.

Лучшее место, чтобы задать эти вопросы, возможно, это список рассылки крутящего момента: www.clusterresources.com/resources/mailing-lists.php

Прежде всего, причина, по которой вы не можете просто использовать любую библиотеку DRMAA-Java и использовать ее с любым реализацией DRMAA-C: DRMAA описывает интерфейс контроля ресурсов, а не то, как он реализован. Поставщик может использовать реализацию DRMAA-C и использовать только эти функции, но они не должны. Это может использовать все, что в двигателе. Таким образом, одно важное сообщение: если вам нужны определенные языковые привязки, убедитесь, что они там для всех необходимых языков.

Что касается упомянутых вариантов:

  1. Использование Tradway / Globus Toolkit: http://www.gridway.org/doku.php?id=start.Преимущество: Gridway - это мета-планировщик, который поддерживает множество систем управления ресурсами (SGE, PBS, ...). Возможно, единственный способ получить интерфейс DRMAA для работы с PBS в данный момент. Недостаток: похоже на инфляцию слоев и сложности. Не иметь опыта с этим.

  2. Использование системных команд, QSUB, QSTAT, QDEL. Преимущество: Быстрый взлом Недостатки: грязный хак, надо реализовывать парсеров для вывода, может не заметить, если что-то пойдет не так, проезжайте вокруг сообщений из stdin / stdout / STDERR, не портативный

  3. Использование JNI должно быть возможно создать привязку для каждой C-функции в Drmaa.c преимущество: предоставит бы полную реализацию DRMAA (надеюсь) dramesteges: включает в себя скомпилированный код, много ручной упаковки C-функций (может быть, это может быть автоматизировано Несомненно

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

  5. Изменение существующей библиотеки DRMAA от другого поставщика. Не имею представления, если это осуществимо ... мы тоже рассмотрим это.

Другие советы

У меня тоже была эта проблема. Это проект для создания ориентированного объекта C ++ и Java Drmaa привязки для PBS / крутящего момента.

Недостатком является то, что вы должны быть в состоянии загрузить библиотеку, созданную из кода C ++, поэтому это не является реализацией «Pure Java», которая может быть распространена только как файл .jar, ожидая, что конечный пользователь предоставляет "libdrmaa.so " самих себя.

Для чего это стоит, вот это:https://github.com/bryan-lunt/pbsjavadrmaa/

Вы когда-нибудь решали, что делать с этим? Вам удалось получить привязки Java Drmaa работать с крутящим моментом / PBS? Я хочу, чтобы получить код Java DRMAA, работающий на системе крутящего момента / PBS, и если вы уже сделали тяжелую работу, я бы хотел украсть ее.

Однако, если у вас нет, не должно быть слишком плохо, чтобы сделать некоторые привязки Java, и я сделаю это, если никто не делает. Несколько лет назад я успешно модифицировал привязки DrMAA Java для SGE для работы с новой реализацией DRMAA для XGRID (теперь stale, но, возможно, скоро будет возрожден).

Я даже написал короткий список в блоге на моем опыте (включает ссылку на общие инструкции):

http://edbaskerville.com/2006/07/11/java-bindings-working/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top