Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Section
Column

Column

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


Rozdział ten przedstawia dwa typowe scenariusze użycia usług i narzędzi QCG: zlecanie zadań i rezerwowanie zasobów.

Pełna lista poleceń wraz z omówieniem znajduje się w osobnym rozdziale: "Polecenia qcg-*".

Table of Contents
maxLevel3
classmenu-right

...

  • 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.

...

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)

...

Note

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

 

Code Block
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > cat J1366118276402__1967.output 
Liczba znakow:  20 upper.txt
Koniec:  Tue Apr 16 15:20:05 CEST 2013
Code Block
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > cat J1366118276402__1967.upper 
QOSCOSGRID - PLGRID
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > 

 

Anulowanie zadania

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

...

Code Block
[qcg] /home/plgrid/plgpiontek/reef/SANDBOX/podrecznik > qcg-list -C 10m -s canceled -R
https://qcg-broker.man.poznan.pl:8443/qcg/services/
/C=PL/O=GRID/O=PSNC/CN=qcg-broker/qcg-broker.man.poznan.pl
/home/plgrid/plgpiontek/reef/.qcg
UserDN = /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
ProxyLifetime = 23 Days 21 Hours 13 Minutes 19 Seconds

JOB IDENTIFIER          NOTE                  SUBMISSION TIME  START TIME       FINISH TIME      STATUS            HOSTNAME  FLAGS  STATUS DESC

J1366118576954__0116                          16.04.13 15:22   16.04.13 15:23   16.04.13 15:23   CANCELED          reef      S P   

Number of tasks:
CANCELED : 1
TOTAL: 1

 

Zlecenie zadnia interaktywnego

W przypadku zadań wymagających interakcji z użytkownikiem, bądź na etapie kompilacji lub testowania kodu często przydatne lub wręcz konieczne jest uruchomienie zadnia interaktywnego.

...

Drugim sposobem wykorzystania rezerwacji jest zlecenie zadania z wykorzystaniem wcześniej zarezerwowanych zasobów. Możliwe jest zlecenie wielu zadań do tej samej rezerwacji. Anulowanie rezerwacji odbywa się poprzez wywołanie QCG pozwala zlecać zadania do lokalnych rezerwacji utworzonych bezpośrednio w systemie kolejkowym jak i rezerwacji utworzonych z wykorzystaniem polecenia qcg-rcancel. reserve.

W celu uruchomienia zadania w rezerwacji należy podać w opisie zadania dyrektywę reservation.

Code Block
#QCG host=inula
#QCG walltime=PT5M
#QCG procs=12
#QCG reservation=plgpiontek.0 local
...
Warning

W przypadku korzystania z rezerwacji lokalnych konieczne jest podanie słowa "local" po identyfikatorze rezerwacji.

Code Block
#QCG host=inula
#QCG walltime=PT5M
#QCG procs=12
#QCG reservation=R1366379186504__5256
Warning

W przypadku korzystania z wcześniej utworzonych rezerwacji konieczne jest dostosowanie rozmiaru zadania (ilości wymaganych slotów) i czasu zadania do parametrów rezerwacji.

Rezerwowanie zasobów obliczeniowych

Opis rezerwacji

Do opisu wymagań dotyczących zasobów do rezerwacji stosuje się ten sam format co do opisu zadań - QCG-Simple.

Dyrektywy wykorzystywane przy rezerwacji zasobów:

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

 

Przykładowy opis rezerwacji 10 slotów obliczeniowych na klastrze inula na czas 1 godziny.

Code Block
#QCG host=inula
#QCG walltime=PT1H
#QCG procs=10

 

Rezerwowanie zasobów

Do rezerwowania zasobów służy polecenie qcg-reserve.

Każda rezerwacja w systemie identyfikowana jest poprzez unikalny identyfikator zwracany przez polecenie qcg-reserve.

Code Block
[qcg] /home/plgrid/plgpiontek/reef/REZERWACJE > qcg-reserve reserve.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 = 24 Days 12 Hours 42 Minutes 13 Seconds

reserve.qcg : reservationId = R1366398248299__4039

 

Informacje o rezerwacjach

Informacje o rezerwacjach wyświetlają polecenia qcg-rlist i qcg-rinfo.

Code Block
[qcg] /home/plgrid/plgpiontek/reef/REZERWACJE > qcg-rlist 
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 = 24 Days 12 Hours 41 Minutes 53 Seconds

RESERVATION IDENTIFIER       SUBMISSION TIME  START TIME       FINISH TIME      SLOTS  HOSTNAME                        STATUS     

R1366398248299__4039         19.04.13 21:04   19.04.13 21:05   19.04.13 22:06   10     inula.man.poznan.pl:10          RESERVED  

Code Block
[qcg] /home/plgrid/plgpiontek/reef/REZERWACJE > qcg-rinfo R1366398248299__4039
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 = 24 Days 12 Hours 41 Minutes 33 Seconds

UserDN: /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek
SubmissionTime: Fri Apr 19 21:04:08 CEST 2013
DescriptionType: QCG_SIMPLE
StartTime: Fri Apr 19 21:05:00 CEST 2013
EndTime: Fri Apr 19 22:06:00 CEST 2013
Status: RESERVED
TotalSlotsCount: 10
InUse: false

HostName: inula.man.poznan.pl
ProcessesGroupId: qcg
SlotsCount: 10
LocalReservationId: plgpiontek.0
Node: c026 SlotsCount: 10

 

Anulowanie rezerwacji

Do anulowania rezerwacji służy polecenie qcg-rcancel.

Code Block
[qcg] /home/plgrid/plgpiontek/reef/REZERWACJE > qcg-rcancel R1366398248299__4039
https://elder13.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 = 24 Days 12 Hours 41 Minutes 10 Seconds

R1366398248299__4039 : Reservation is being canceled