Установка и настройка SoftEnv на примере tb06.ngrid.ru и ПО abinit

Инсталляция

Процесс инсталляции требует подключенного RPM репозитория ГридННС (http://koji.ngrid.ru/ngrid.repo).

Установить на грид-шлюз пакеты whatami и softenv.

yum install whatami softenv

Настройка

Настройка ведётся из под root. Возьмите пример конфигурации в /usr/share/doc/softenv-1.6.2/samples и адаптируя его под свои нужды скопируете его в /etc/softenv/softenv.db. Например для tb06.ngrid.ru был взят /usr/share/doc/softenv-1.6.2/samples/softenv.db.example выкинуты куски про teragrid и добавлено:

(+abinit-6.0.3-gfortran44-nompi) {
    {desc: Abinit software compiled without MPI support"}
    {flags: power}
    [] {
        PATH        /grid/software/abinit-6.0.3-gfortran44-nompi/bin
       }
}

Поскольку мы не хотим устанавливать ничего на узлы кластера, необходимо отключить использование whatami в конфигурации softenv. В принципе whatami нужен только если у вас гетерогенный кластер. Например на одних узлах стоит CentOS, а на других Solaris, а вы хотите использовать один и тот же SoftEnv тег для подключения в разных системах, разных сборок пакета. В принципе вместо /usr/bin/whatami можно использовать любую утилиту идентификации системы. Мы для простоты сделаем так:

  • в /etc/softenv/softenv.db заменить /usr/bin/whatami на идентификатор архитектуры(linux-centos5-is32).
  • в /etc/softenv/softenv.config.pl заменить "/usr/bin/whatami" на идентификатор архитектуры с echo ("echo linux-centos5-is32").

Выполнить soft-msd для компиляции файла конфигурации.

Настройка GRAM

Поскольку стандартные стыки ищут утилиту soft-msc и файл конфигурации softenv-load.sh в несовсем стандартных для FHS местах (а я перед этим замучался пакетировать softenv, чтобы он встал в стандартные места :( ), нужно поправить значения переменных $soft_msc и $softenv_load в соответствующем perl модуле.

Кроме того нужно поправить следующий файл конфигурации GRAM. Возможны два варианта использования SoftEnv: по умолчанию и прямым указанием в задании какие SoftEnv расширения использовать. В случае если нужна поддержка SoftEnv по умолчанию, необходимо в файле $GLOBUS_LOCATION/etc/gram-service-Cleo/jndi-config.xml установить значение enableDefaultSoftwareEnvironment в true. Кроме того для каждой локальной учётной записи необходимо создать файл .soft и вписать туда SoftEnv теги используемые по умолчанию. Например:

@default
+abinit-6.0.3-gfortran44-nompi

Следует отметить, что при указании SoftEnv в тексте задания файл .soft игнорируется.

Проверка

Имеем следующее задание для Pilot(адаптировано из руководства к abinit):

{"version": 2,
  "description": "тестовое задание abinit",
  "tasks": [ { "id": "a",
               "description": "задача #1",
               "definition": { "version": 2,
               "executable": "abinit",
               "extensions" : { "softenv": "+abinit-6.0.3-gfortran44-nompi" }
               "input_files": {
                 "t11.in": "t11.in",
                 "t1x.files": "t1x.files",
                 "01h.pspgth": "01h.pspgth"
               },
               "stdin": "t1x.files",
               "output_files": {
                 "t11.out": "t11.out",
                 "t11o_DDB": "t11o_DDB",
                 "t11o_DEN": "t11o_DEN",
                 "t11o_EIG": "t11o_EIG",
                 "t11.outA": "t11.outA",
                 "t11.outB": "t11.outB",
                 "t11o_WFK": "t11o_WFK"
                 "t11.log": "t11.log"
               },
               "stdout": "t11.log"
             }
           } ],
  "requirements": {
    "hostname": ["tb06.ngrid.ru"],
    "lrms": "Cleo",
    "queue": "main"
  }
}

После запуска на выходе имеем набор файлов с результатами. Для проверки работоспособности SoftEnv, можно убедится, что при отсутствии в описании задания секции

"extensions" : { "softenv": "+abinit-6.0.3-gfortran44-nompi" }

в tb11.log попадет что то виде

bash: abinit: command not found

вместо полезной информации о том как прошёл расчет

Attachments