Центр колективного користування
«Ресурсний центр для грід- та хмарних технологій»
Інституту теоретичної фізики ім.М.М.Боголюбова НАН України
Обчислювальний грід-кластер

QCG-icon - інструкція користувача

Оглавление

1. Предварительные требования

2. Преобразование сертификата в формат p12

3. Установка QCG-icon

4. Структура меню QCG-icon и основные приказы

     4.1 Configuration - Регистрация в  QCG-icon

     4.2 Configuration - Выбор домена

     4.3 Submit task... Запуск задания на выполнение

5. Информационный сервис задания

     5.1 Просмотр выделенных ресурсов задания и прогноз времени старта

     5.2 Структура меню информационного сервиса

       5.2.1 Copy task ID

       5.2.2 Check task state

       5.2.3 Browse directory with results

       5.2.4 Output

       5.2.5 Copy remote working dir path

       5.2.6 Resubmit from checkpoint

       5.2.7 Refetch results

       5.2.8 Resubmit

       5.2.9 Resubmit...

       5.2.10 Remove from list

       5.2.11 Cancel task

6. Заключение

 

QCG-icon — представляет собой небольшое java-приложение для Windows, Mac OSX и Linux платформ для доступа к грид-ресурсам EGI по технологии QCG-Computing, разработанной в проекте польского грид (PL-Grid) http://www.qoscosgrid.org/trac/qcg-computing/ .

Ниже приводится краткая инструкция для работы c утилитой QCG-icon в среде Linux, включая ее установку. Инструкция не претендует на полноту, но тем не менее ее достаточно, чтобы пользователь смог работать с последней версией пакета Gaussian-09 польского грида PL-Grid. С полной инструкцией для версии Windows (на польском языке) можно ознакомиться по ссылке 

http://www.qoscosgrid.org/trac/qcg-icon/wiki/UserManualPL .

 

1. Предварительные требования

  • Пользователь должен иметь персональный аккоунт на Linux машине подключенной к Интернет. В примерах инструкции это будет хост clusterui.bitp.kiev.ua.
  • На этой машине должна быть доступна среда java.
  • Пользователь должен иметь грид-сертификат и быть зарегистрированным в виртуальной организации Gaussian.

 

2. Преобразование сертификата в формат p12

QCG-icon для авторизации пользователя использует сертификат в формате pkcs12  (сокращенно p12), который широко используется при импорте сертификата в броузер при работе c WWW по защищенному протоколу https.

Предполагаем, что пара ключей сертификата расположена по умолчанию    в стандартном месте, директории .globus:

[belous@clusterui ~]$ ls -l .globus

 -rw-rw-r--. 1 belous belous 5146 Mar  5  2014 usercert.pem

-r--------.    1 belous belous 1751 Mar  5  2014 userkey.pem

Процедура преобразования пары ключей в один файл формата p12 проста, и выполняется нижеследующей командой openssl, где на первый запрос требуется ввести пароль приватного ключа пользователя, а потом нужно придумать для создаваемого ключа (назовем его cert.p12) пароль, и ввести этот придуманный пароль  дважды:

[belous@clusterui .globus]$ openssl pkcs12 -export -in usercert.pem -inkey userkey.pem

-certfile usercert.pem -name "description" -out cert.p12

Enter pass phrase for userkey.pem:

Enter Export Password:

Verifying - Enter Export Password:

[belous@clusterui .globus]$

В результате, сконвертированный ключ появится в директории ~/.globus/cert.p12

 

3. Установка QCG-icon

  • Входим под своим аккоунтом (в инструкции в качестве примера belous). Входить можно с удаленного хоста приказом  ssh -X clusterui.bitp.kiev.ua

belous@dyn08:[~]: ssh -X clusterui.bitp.kiev.ua

                belous@clusterui.bitp.kiev.ua's password:

                Last login: Fri Nov  7 17:10:54 2014 from dyn08.ilt.kharkov.ua

                *******************************************************

                Welcome to BITP cluster frontend.

                *******************************************************

                …...........

[belous@clusterui ~]$      

  • Скачиваем (порядка 8 Mbt) последюю установочную версию утилиты QCG-icon для Linux с сайта разработчика http://www.qoscosgrid.org/trac/qcg-icon/downloads/, выбирая в меню имя (меняющееся со временем) QCG-Icon-1.5.3-LinuxInstaller.sh. Утилита свободно доступна по открытой лицензии.

[belous@clusterui ~]$ wget http://www.qoscosgrid.org/trac/qcg-icon/downloads/96

                --2014-11-07 19:39:05--  http://www.qoscosgrid.org/trac/qcg-icon/downloads/96

                Resolving www.qoscosgrid.org... 150.254.161.75

                Connecting to www.qoscosgrid.org|150.254.161.75|:80... connected.

                HTTP request sent, awaiting response... 200 Ok

                Length: 7649187 (7.3M) [application/x-sh]

                Saving to: “96”

                100%     [===============================================>]

               7,649,187   5.71M/s   in 1.3s   

                2014-11-07 19:39:06 (5.71 MB/s) - “96” saved [7649187/7649187]

[belous@clusterui ~]$

  • Устанавливаем QCG-icon, выполнив скачанный файл являющийся установочным скриптом, отвечая согласием на умалчиваемое имя директории (qcg-icon), в которую будет установлена QCG-icon, и согласием на запуск сразу после завершения  установки.

[belous@clusterui ~]$ sh QCG-Icon-1.5.3-LinuxInstaller.sh

Welcome to QCG-Icon 'installer'

please specify target dir (or press return for default [qcg-icon]):

Installing QCG-Icon into qcg-icon

Installation finished.

 Run qcg-icon? [Y/n]:

[belous@clusterui ~]$

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

По умолчанию скрипт вызова записывается  в ~/qcg-icon/qcg-icon, и для удобства дальнейшего вызова утилиты приказом qcg рекомендуется добавить в профиль .bashrc строчку alias qcg='~/qcg-icon/qcg-icon'. Результатом согласия на запуск сразу после установки является выполнение этого скрипта вызова. В результате появляется основное меню QCG-icon.

 

4. Структура меню QCG-icon

Довольно длинная (по умолчанию) вторая строка является заголовком таблицы будущих задач. Какие именно поля желательны (и их количество), можно задать пользуясь пунктом View, оставив птички напротив нужных полей. Границы полей можно двигать мышью, а выбор того или иного поля приводит к сортировке содержимого таблицы по этому полю. На практике достаточно следующих основных полей:

         Name — имя задания,

         Application — имя прикладного пакета,

         Status — состояние обрабатываемого задания,

         Submission time — время постановки задания в очередь,

         Start time — время старта задания,

         End time — время завершения задания,

         ID — идентификатор задания  (присваивается автоматически).

Тогда меню примет такой вид.

Пункт Help  дает краткую стартовую инструкцию на английском языке о QCG-icon (подпункт Handbook) и  информацию о версии утилиты (подпункт About).

Пункт File несет основную смысловую нагрузку и имеет следующие подпункты:

Submit task...

Regenerate proxy

Destroy proxy

Refresh available applications

Task status polling

Check all tasks state

Export tasks list

Import tasks list

Configuration

Exit

Наиболее употребительны только три следующих пункта меню, и их вполне достаточно для  первоначального освоения QCG-icon.

Submit task... - постановка задания в очередь,

Configuration — начальное конфигурирование,

Exit — завершение работы графического интерфейса.

Рассмотрим сначала пункт Configuration.

 

4.1 Configuration - Регистрация в системе QCG-icon

Вначале нужно пройти процедуру регистрации сертификата,  выбрав пункты меню  «File →  Configuration». В результате появляется меню конфигурации:

  Выбираем пункт Load new certificate. В появившемся запросе на ввод пароля

воспользуемся пунктом Browse для указания места расположения  сертификата в формате P12. Как указывалось вначале, в разделе «Преобразование сертификата в формат p12», это место есть ~.globus/cert.p12.

После ввода пароля   (см. там же замечание относительно пароля) должно появится сообщение об успешности авторизации.

 

4.2 Configuration - Выбор домена

После успешной регистрации требуется выбрать так называемый домен, в котором предполагается работать.  В  меню конфигурации выбираем  Change domen, и из появляющегося списка доменов:

PLGrid

Metalurgia

UVT

AirPROM

Testing

Gaussian

VT-gpgpu

Energetika

Vizualiacja

выбираем Gaussian.

Список доменов будет пополнен доменом украинского сегмента грид  (после завершения отладки сервиса QCG-Computing в украинском сегменте грид  и перевода его в статус production)  под именем UAGrid. Для работы в этом домене потребуется регистрация в виртуальной организации BITP Института теоретической физики им. Боголюбова НАН Украины.

Собственно говоря, домен определяет доступные ресурсы и их принадлежность, специфику предметной области и соответственно состав прикладного математического обеспечения. Название домена не обязательно соответствует одному прикладному пакету. Так, например, в состав выбранного нами домена Gaussian входят следующие компоненты:

CRISTAL09,

NAMD,

BASH,

LAMMPS,

Dalton,

TURBOMOLE,

NWChem,

Gaussian-09,

Molpro,

GAMESS

При этом под Gaussian-09 выступает последняя версия одноименного коммерческого (весьма не дешевого) пакета http://www.gaussian.com/.

Описанные выше процедуры загрузки сертификата и выбора домена обычно делаются только один раз.

В дальнейшем, при каждом очередном сеансе связи с утилитой, вызываемой приказом qcg, после появления основного меню с некоторым асинхронным запаздыванием запрашивается пароль.

После ввода пароля открывается актуальный список ваших задач и их состояние. Вначале этот список (как мы уже видели), пустой.

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

 

4.3 Submit task - Запуск задания на выполнение

Рассмотрим тестовый пример (традиционный для пакета gaussian тест woda) c заданием размещеным в файле ~/examples/woda.com:

%chk=water.chk

# b3lyp/cc-pVDZ opt(tight) scf(tight) freq(HPModes,NoRaman)

water

0,1

O 0. 0. 0.

H 0. 1. 1.

H 0. -1. 1.

 

--link1--

%chk=water.chk

# b3lyp/cc-pVDZ scf(tight) gues=read geom=check TD(Nstates=10)

water TDDFT

0,1

 

Через основное меню выбираем File → Submit task...

В появившемся меню навигации выбираем наш файл woda.com

и отвечаем Otworz ( Open по польски :-)  небольшая недоработка разработчиков по локализации).  В появившемся меню 

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

«Application = Gaussian09»,

«Wall time — 5 min»,

«Application type = Parallel»,

«Nodes = 1»,

«Cores per node = 8»

Остальные параметры берутся по умолчанию, но  их тоже можно тоже изменить в случае необходимости.

По Submit  задание ставится в очередь, и в таблице основного  меню появляется строка с информацией о поставленном на обработку задании с указанием времени постановки в очередь «Submission  time».

Задания, запрашивающие меньшие ресурсы, стартуют быстрее, и время старта появляется в колонке «Start time». Например, ориентировочное время старта для короткой задачи 10 мин и одного ядра, составляет порядка 3 мин.

 

5.Информационный сервис задания

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

 

5.1 Просмотр выделенных ресурсов задания и прогноз времени старта

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

Если задача еще не стартовала, то в самом низу этой информации красным цветом высвечивается прогнозируемое время старта. Однако эта информация появляется не сразу, а минут через 5 после постановки задачи в очередь.

 

5.2 Структура меню информационного сервиса

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

Copy task ID

Check task state

Browse directory with results

Output

Copy remote working dir path

Resubmit from checkpoint

Refetch results

Resubmit

Resubmit...

Remove from list

Cancel task

Среди этих пунктов пожалуй наиболее используемым является Output для просмотра выходного файла. Можно сказать, что все эти пункты меню предназначены для удобства выполнения следующих приказов при работе в режиме  диалога.

 

5.2.1Copy task ID

Копирование ID в буфер clipboard для последующей вставки в каие-либо  документы, например, при выяснении нештатных ситуаций с вашим заданием этот код однозначно его идентифицирует при общении с администрацией кластера. Этот код для рассматриваемого теста woda.com = f02a6a54-4f60-4033-62d4-22d53c7260d5 помещен в этот текст указанным сервисом, и очевидно, его неудобно было бы переписывать вручную.

 

5.2.2 Check task state

Проверка и обновление статуса задания (поле Status в информационной строке задания характеризует состояние его выполнение и может принимать типичные зачения Queued, Executed, Finished ).

 

5.2.3Browse directory with results

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

 

                         Директория woda_com_2014_11_17___19_05_52 создана по месту                                        расположения исходного файла ~/examples/woda.com.

 

 5.2.4 Output

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

~/examples/woda_com_2014_11_17___19_05_52/

копируются с кластера следующие файлы:

output.log, qcg.debug, water.chk, woda.com, woda.log (идентичен output.log).

Приводим фрагменты начального и конечного кадров просмотра output.log по завершении нашего тестового задания.

  В QCG-icon имеется интересная и полезная возможность выделять интересующие контексты при просмотре больших файлов (что типично, например, для системы Gaussian) с помощью фильтра в режиме on-line. Для этой цели достаточно в нижней части формы просмотра файла набрать в поле «Enter filter» интересующий образец, и тотчас же на месте просматриваемого файла появится сжатая информация, содержащая только строки с заданным образцом. В примере ниже (фрагмент реальной задачи) после набора в указанном поле образца «Leave Link» появляется следующее:

Для пользователя пакета Gaussian эта информация полезна именно компактным представлением, давая быстрый ответ на состояние счета (число основных шагов и время их выполнения). 

Или, скажем, подобным образом можно извлекать из огромного файла только изменения энергии при итерационном процессе. Для этого достаточно в поле «Enter filter» ввести соответствующее наименование энергии.

  

5.2.5 Copy remote working dir path

Подобно приказу Copy task ID, чисто вспомогательный - копирует служебную информацию - имя удаленной рабочей директории задания на кластере для возможных разбирательств ( в нашем примере это qcg-woda_com-1416243920496).

 

5.2.6 Resubmit from checkpoint

Приказ применяется для продолжения счета задач, не укладывающихся в отведенное время. Как известно, в пакете Gaussian это поддерживается на уровне языка с помощью сохранения результатов расчетов в файле контрольной точки (файл с расширением chk). Наш тестовый пример короткий, тем не менее имеет такой файл — water.chk.

 

5.2.7 Refetch results

Вызывает обновление рабочих файлов задания на вашей машине (репликацию) синхронно с состянием таковых на кластере.

 

5.2.8 Resubmit

Повторить расчет не меняя параметров задания.

 

5.2.9 Resubmit...

Повторить расчет с предварительным изменением каких-либо параметров предыдущего расчета. Чаще всего меняется Wall time при отладочном запуске задания, скажем с времени 1 мин, и после его снятия по времени (считается что все нормально), увеличивается время до нужного. Этот прием обеспечивает быстрый старт при отладке.

 

5.2.10 Remove from list

Удалить задание из списка (таблицы заданий). При этом будет запрошено подтверждение этого действия. Удалить выполняющееся задание нельзя (его нужно предварительно остановить приказом Cancel task). Это действие уничтожает рабочую директорию на кластере, но оставляет на вашей машине.

 

5.2.11 Cancel task

Прекратить выполнение задания. Задание перестает выполняться, но при этом сохраняется содержимое рабочих директорий на кластере и вашей машине.

 

6. Заключение

Каждый пользователь, конечно, должен быть профессионально подготовлен к работе в своей предметной области, и в совершенстве знать язык своего прикладного пакета. В данной инструкции речь шла о пакете Gaussian.  Роль QCG-icon в этом смысле вспомогательная, но исключительно важная с точки зрения обеспечения эффективного доступа к распределенным HPC ресурсам, и избавляющая пользователя от изучения несвойственных его предметной области технических деталей аппаратного и программного окружения.