Слайд 4JDL: Job Description Language
JDL определяет характеристики задания, которые будут использоваться для выбора
![JDL: Job Description Language JDL определяет характеристики задания, которые будут использоваться для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-3.jpg)
оптимального ресурса для его запуска.
Характеристики самого задания
Требования к компьютерным ресурсам (и к software)
Требования к входным и выходным данным
JDL состоит из предложений типа: Attribute = value;
где value может быть Boolean, Integer, String.
Слайд 5Job Description Language
JobType
Normal, Interactive, MPICH, Checkpointable
Executable (mandatory)
Имя выполняемой программы
Arguments (optional)
Параметры
![Job Description Language JobType Normal, Interactive, MPICH, Checkpointable Executable (mandatory) Имя выполняемой](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-4.jpg)
программы
StdOutput, StdError (optional)
Стандартный input/output/error
InputSandbox (optional)
Список файлов на UI, которые необходимы для выполнения задания.
Эти файлы будут переданы на удаленный кластер.
OutputSandbox (optional)
Список файлов, сгенерированных заданием, которые должны быть затребованы на UI
Слайд 6Job Description Language
JobType = "Normal";
Executable = "/bin/bash";
StdOutput = “stdout";
StdError = “stderr";
InputSandbox={“yourscript.sh“,”inpfile.txt”};
OutputSandbox={“stderr",“stdout“,”outf.txt”};
Arguments =
![Job Description Language JobType = "Normal"; Executable = "/bin/bash"; StdOutput = “stdout";](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-5.jpg)
"yourscript.sh";
Слайд 8Job Description Language
Rank
Как ранжировать ресурсы, которые удовлетворяют специфицированным требованиям
Выбирается CE с наивысшим
![Job Description Language Rank Как ранжировать ресурсы, которые удовлетворяют специфицированным требованиям Выбирается](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-7.jpg)
рангом, например:
Rank= - other.GlueCEStateEstimatedResponseTime (наименьшее время доступа)
Rank= other.GlueCEStateFreeCPUs (наибольшее количество CPUs)
Rank= (other.GlueCEStateWaitingJobs == 0 ? other.GlueCEStateFreeCPUs : -other.GlueCEStateWaitingJobs)
Слайд 9Пример задания 1
Есть программа на PERL tstp.pl, которая использует входной файл c
![Пример задания 1 Есть программа на PERL tstp.pl, которая использует входной файл](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-8.jpg)
колонкой чисел. Каждое число возводится в квадрат и записывается в выходной файл.
Имя входного файла передается как параметр программы. Имя выходного файла то же как и входного, но с расширением ‘out’.
Слайд 10Пример задания 1
JDL файл:
VirtualOrganisation = "nw_ru";
Executable = "pinp.pl";
Arguments = "pinp.inp";
StdOutput = "std.out";
StdError
![Пример задания 1 JDL файл: VirtualOrganisation = "nw_ru"; Executable = "pinp.pl"; Arguments](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-9.jpg)
= "std.err";
InputSandbox={"pinp.pl","pinp.inp"};
OutputSandbox = {"std.out", "std.err","pinp.out"};
RetryCount = 3;
Слайд 11Пример задания 2
Есть файл с исходным текстом программы на языке С ctst.c,
![Пример задания 2 Есть файл с исходным текстом программы на языке С](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-10.jpg)
которая выводит строку “Hello world” на стандартный вывод.
Есть Makefile для сборки этой программы.
Необходимо обеспечит сборку и запуск программы на удаленном ресурсе.
Слайд 12Пример задания 2
JDL файл:
JobType="Normal";
VirtualOrganisation = "nw_ru";
Executable = "startC.sh";
StdOutput = "ctst.out";
StdError = "ctst.err";
OutputSandbox
![Пример задания 2 JDL файл: JobType="Normal"; VirtualOrganisation = "nw_ru"; Executable = "startC.sh";](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-11.jpg)
= {"ctst.out","ctst.err"};
InputSandbox = {"startC.sh","ctst.c","Makefile"};
RetryCount=3;
Слайд 13Пример задания 2
Cтартовый скрипт startC.sh:
#!/bin/bash
make //сборка программы
chmod +x ctst //разрешаем запускать ее
./ctst
![Пример задания 2 Cтартовый скрипт startC.sh: #!/bin/bash make //сборка программы chmod +x](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-12.jpg)
//запускаем
exit 0
Слайд 14Запуск задания
edg-job-submit ctst.jdl
Selected Virtual Organisation name (from JDL): nw_ru
Connecting to host cluster.pnpi.nw.ru,
![Запуск задания edg-job-submit ctst.jdl Selected Virtual Organisation name (from JDL): nw_ru Connecting](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-13.jpg)
port 7772
Logging to host cluster.pnpi.nw.ru, port 9002
*********************************************************************************************
JOB SUBMIT OUTCOME
The job has been successfully submitted to the Network Server.
Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is:
- https://cluster.pnpi.nw.ru:9000/KIl7Xj39Mfan3xXRgvYegA
Слайд 15Запрос состояния
edg-job-status https://cluster.pnpi.nw.ru:9000/I5jbSjf1QpHGPSak1VXM9w
*************************************************************
BOOKKEEPING INFORMATION:
Status info for the Job : https://cluster.pnpi.nw.ru:9000/I5jbSjf1QpHGPSak1VXM9w
Current Status: Running
Status
![Запрос состояния edg-job-status https://cluster.pnpi.nw.ru:9000/I5jbSjf1QpHGPSak1VXM9w ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-14.jpg)
Reason: Job successfully submitted to Globus
Destination: cluster.pnpi.nw.ru:2119/jobmanager-pbs-nw_ru
reached on: Fri Jun 2 14:22:13 2006
*************************************************************
Слайд 16Получение выходных файлов
edg-job-get-output --dir . https://cluster.pnpi.nw.ru:9000/KIl7Xj39Mfan3xXRgvYegA
Retrieving files from host: cluster.pnpi.nw.ru ( for
![Получение выходных файлов edg-job-get-output --dir . https://cluster.pnpi.nw.ru:9000/KIl7Xj39Mfan3xXRgvYegA Retrieving files from host: cluster.pnpi.nw.ru](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/468293/slide-15.jpg)
https://cluster.pnpi.nw.ru:9000/KIl7Xj39Mfan3xXRgvYegA )
*********************************************************************************
JOB GET OUTPUT OUTCOME
Output sandbox files for the job:
- https://cluster.pnpi.nw.ru:9000/KIl7Xj39Mfan3xXRgvYegA
have been successfully retrieved and stored in the directory:
/home/knv/tut/knv_KIl7Xj39Mfan3xXRgvYegA