You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

QCG Simple jest zbiorem prostych narzędzi wzorowanych na poleceniach systemów kolejkowych umożliwiających zlecanie i kontrolowanie zadań w infrastrukturze PL Grid.

Opis zadania

Każde z zadań opisywane jest przy pomocy wykonywalnego pliku tekstowego zawierającego dyrektywy QCG.

Dyrektywy QCG mają charakter informacyjny dla systemu i dostarczają informacji jak przygotować środowisko wykonania dla danego zadania (pliki wejściowe/wyjściowe) oraz jakie są prefrencje/wymagania zasobowe.

 

Najprostszym plikiem zadania jest plik zawierający tylko informacje jak uruchomić daną aplikację:

#!/bin/bash

date

W większości przypadków zadanie wymaga przekazanie do systemu dodatkowych informacji dotyczących konfiguracji środowiska wykonawczego bądź wymagań zasobowych.

Przekazanie tych informacji polega na umieszczeniu w pliku odpowiednich dyrektyw. Dyrektywy zaczynają się od sekwencji "#QCG", po ktorej następuje nazwa dyrektywy i opcjonalne parametry.

Najczęsciej wykorzystywane dyrektywy

Format opisu zadań wraz z pełna listą dyrektyw QCG

Przykład opisu zadnia

#!/bin/bash 

#QCG host=zeus
#QCG queue=plgrid
#QCG walltime=PT5M

#QCG output=${JOB_ID}.output
#QCG error=${JOB_ID}.error

#QCG stage-in-file=input.txt -> lower.txt

cat lower.txt | tr "[:lower:]" "[:upper:]" > upper.txt
echo "Liczba znakow: " `wc -m upper.txt`
sleep 120
echo "Koniec: " `date`

#QCG stage-out-file=upper.txt -> ${JOB_ID}.upper
  • Zadanie zostanie wykonane na klastrze zeus (#QCG host)
  • Zlecone zostanie do kolejki "plgrid" (#QCG queue)
  • Deklarowany czas działanie zadania to 5 minut (#QCG walltime)
  • Standardowe wyjście (stdout) przegrane zostanie do katalogu, z którego zlecone zostało zadnie do pliku o nazwie będącej identyfikatorem zadania z rozszerzeniem "output".
  • Standardowe wyjście błędów (stderr) przegrane zostanie do katalogu, z którego zlecone zostało zadnie do pliku o nazwie będącej identyfikatorem zadania z rozszerzeniem "error".
  • Plik "input.txt", z katalogu, z którego zlecono zadanie przekopiowany zostanie do katalogu roboczego zadania pod nazwę "lower.txt".
  • Zawartość pliku "lower.txt" poddana zostanie konwersji "do dużych liter". Wynik zapisany zostanie w pliku "upper.txt".
  • Na standardowe wyjście zapisana zostanie informacja o liczbie znaków w pliku "upper.txt"
  • Wykonanie programu wstrzymane zostanie na 120 sekund. (Potrzebne aby dać czas na wyświetlenie zadania i anulowanie go).
  • Plik "upper.txt" przegrany zostanie do katalogu, z którego zlecone zostało zadanie pod nazwę identyfikator_zadania.upper.

 

Zlecenie zadania

Do zlecenia zadania do wykonania w infrastrukturze PL-Grid służy polecenie qcg-sub.

Poniższy przykład demonstruje zlecenie przykładowego opisu zadania przedstawionego powyżej.

Zadanie to zakłada istnienie w katalogu, z którego jest zlecane pliku tekstowego "input.txt".

echo "QosCosGrid - PLGrid" > input.txt
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-sub ./task.qcg 
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 51 Minutes 42 Seconds

jobId = J1364242615483__2780

W przypadku poprawnego zlecenia zadania polecenie qcg-sub wyświetla unikalny identyfikator zadania.

Informacja o zadaniach

Klient QCG umożliwia wyświetlenie zbiorczej informacji o zadaniach w systemie (polecenie qcg-list), lub szczegółowej informacji o poszczególnych zadaniach (polecenie qcg-info)

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-list
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 50 Minutes 37 Seconds

JOB IDENTIFIER                  TASK      NOTE                  SUBMISSION TIME  START TIME       FINISH TIME      STATUS            HOSTNAME  

J1364226630231__6828            task                            25.03.13 16:50                                     PENDING           zeus      
J1364242615483__2780            task                            25.03.13 21:16   25.03.13 21:17                    RUNNING           zeus      

Number of tasks:
PENDING : 1
RUNNING : 1
TOTAL: 2

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-info J1364242615483__2780
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 49 Minutes 23 Seconds

Note: 
UserDN: /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
TaskType: SINGLE
SubmissionTime: Mon Mar 25 21:16:55 CET 2013
FinishTime: 
ProxyLifetime: P20DT23H49M34S
Status: RUNNING
StatusDesc: 
StartTime: Mon Mar 25 21:16:56 CET 2013

Allocation: 
HostName: zeus.cyfronet.pl
ProcessesCount: 1
ProcessesGroupId: 
Status: RUNNING
StatusDescription: 
SubmissionTime: Mon Mar 25 21:16:55 CET 2013
FinishTime: 
LocalSubmissionTime: Mon Mar 25 21:16:59 CET 2013
LocalStartTime: Mon Mar 25 21:17:25 CET 2013
LocalFinishTime: 

Po zakończeniu zadania (stan FINISHED) w katalogu, z którego zlecano zadanie dostępne będą pliki: J1364242615483__2780.output  J1364242615483__2780.upper

 

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > cat J1364242615483__2780.output
Liczba znakow:  23 upper.txt
Koniec:  Mon Mar 25 21:19:32 CET 2013
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > cat J1364242615483__2780.upper
QOSCOSGRID - PLGRID

 

Anulowanie zadania

Do anulowania wykonywania zadania służy polecenie qcg-cancel.

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-sub task.qcg 
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 3 Minutes 15 Seconds

jobId = J1364245522691__0345

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-list
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 1 Minutes 27 Seconds

JOB IDENTIFIER                  TASK      NOTE                  SUBMISSION TIME  START TIME       FINISH TIME      STATUS            HOSTNAME  

J1364226630231__6828            task                            25.03.13 16:50                                     PENDING           zeus      
J1364245522691__0345            task                            25.03.13 22:05   25.03.13 22:06                    RUNNING           zeus      

Number of tasks:
PENDING : 1
RUNNING : 1
TOTAL: 2

[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-cancel J1364245522691__0345
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 23 Hours 0 Minutes 13 Seconds

Job is being canceled
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-list -S 1h -s canceled
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 20 Days 22 Hours 57 Minutes 24 Seconds

JOB IDENTIFIER                  TASK      NOTE                  SUBMISSION TIME  START TIME       FINISH TIME      STATUS            HOSTNAME  
    
J1364245522691__0345            task                            25.03.13 22:05   25.03.13 22:06   25.03.13 22:08   CANCELED          zeus  

 

Zlecenie zadnia interaktywnego

 

  • No labels