Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
outlinetrue

Uvod

Za raspoređivanje i upravljanje poslovima na računalnom klasteru Isabella koristi se SGE (engl. Sun Grid Engine), klasterski sustav za upravljanje poslovima (engl. job management system, JMS). U ovom dokumentu opisano je korištenje SGE verzije 8.

Izvođenje poslova

Korisničke aplikacije (u nastavku poslovi) koji se pokreću pomoću sustava SGE moraju biti opisani startnom shell skriptom (npr. sh, bash). Unutar startne skripte, pored normalnih naredbi navode se SGE parametri. Iste parametre moguće je navesti i izvan startne skripte, prilikom podnošenja posla.

Pokretanje poslova se ostvaruje naredbom qsub:

Code Block
languagebash
qsub <SGE_parametri> <ime_startne_skripte>


Info

SGE također sadrži grafičko sučelje (engl. graphical user interface, GUI) za pristup svim funkcionalnostima sustava. GUI se pokreće naredbom qmon. Korištenje GUI-ja neće biti opisivano jer unutar njega postoje upute za uporabu (tipke Help).

Opisivanje poslova

Za opisivanje poslova koristi se jezik sustava SGE, a datoteka za opis posla (startna skripta) je standardna shell skripta. U zaglavlju svake skripte navode se SGE parametri kojima se detaljno opisuje posao nakon kojih slijede normalne naredbe za izvršavanje korisničke aplikacije.

Struktura startne skripte:

Code Block
languagebash
titlemoj_posao.sge
#!/bin/bash

#$ -<parametar1> <vrijednost1>
#$ -<parametar2> <vrijednost2>

<naredba1>
<naredba2>

Posao opisan ovakvom startnom skriptom podnosi se naredbom:

Code Block
qsub moj_posao.sge

Naredba qsub vraća ID posla koji se koristi za kasnije nadziranje stanja posla:

Code Block
Your job <JobID> ("moj_posao") has been submitted

Osnovni SGE parametri

Code Block
-N <ime_posla> : ime posla koje će se prikazivati pri dohvatu informacija o poslovima 
-P <ime_projekta> : ime projekta kojemu posao pripada 
-cwd : definira da je direktorij u kojemu se nalazi startna skripta radni direktorij posla 

  • Info

    Podrazumijevani radni direktorij posla je $HOME.


Code Block
-o <ime_dat> : ime datoteke u koju se sprema standardni izlaz 
-e <ime_dat> : ime datoteke u koju se sprema standardna greška 
-j y|n : omogućuje spajanje standardnog izlaza i standardne greške u istu datoteku (podrazumijevana vrijednost je n)

  • Info

    Ako se standardni izlaz i greška eksplicitno ne navedu, biti će spremljeni u datoteke:

    1. Ukoliko nije definirano ime posla:
      <radni_direktorij>/<ime_skripte>.o<id_posla>
      <radni_direktorij>/<ime_skripte>.e<id_posla>
    2. inače:
      <radni_direktorij>/<ime_posla>.o<id_posla>
      <radni_direktorij>/<ime_posla>.e<id_posla>

    Parametri -o i -e mogu pokazivati na direktorij:

    #$ -o outputDir/
    #$ -e outputDir/

    U ovom slučaju, SGE će u direktoriju outputDir kreirati datoteke sa standardnim izlazom i standardnom greškom, naziva <ime_posla>.o<JobID> i <ime_posla>.e<JobID>

    Bitno: outputDir je potrebno ručno kreirati prije podnošenja posla.



Code Block
languagetext
-M <emailAddress>[,<emailAddress>]…	: lista mail adresa na koju se šalju obavijesti o poslu
-m [a][b][e][n]	: definira u kojem se slučaju šalju mail obavijesti: 
					b - početak izvođenja posla, 
					a - greška u izvođenju, 
					e - završetak izvođenja posla, 
					n - ne šalji obavijesti (podrazumijevana opcija)

-now y|n : vrijednost y definira da se posao mora izvesti odmah. Kod interaktivnih poslova ovo je podrazumijevana vrijednost.
			Ukoliko SGE ne može pronaći slobodne resurse, posao se ne sprema u red nego odmah završava. 
-r y|n : treba li se posao u slučaju greške tokom izvođenja ponovno pokrenuti (podrazumijevana vrijednost je n)
-R y|n : vrijednost y definira da će SGE prilikom raspoređivanja rezervirati čvorove (bitno za višeprocesorske poslove)

-l <resurs>=<vrij>[,<resurs>=<vrij>...] : definira resurse koje posao zahtijeva. Za detalje vidi Resursi.

-pe <paralelna_okolina> <raspon> : parametar se koristi za paralelne poslove.
    Prvi parametar definira modul koji pokreće traženi oblik paralelnog posla. 
    Drugi parametar definira konkretan broj procesora ili raspon u obliku <N>,[<Ni>,...]<S>-<E>,[<Si>-<Ei>,] koji paralelni posao zahtijeva. 
    Za detalje vidi Paralelni poslovi.
-q <ime_reda>[,<ime_reda>...] : red poslova u koje se sprema posao. Ovu opciju je moguće koristiti i za zahtijevanje određenog čvora, na način da se zahtijeva 
   								lokalni red poslova (npr. a12.q@sl250s-gen8-08-01.isabella)
-t <početak>:<kraj>:<korak> : parametar definira da se radi o polju poslova. Za detalje vidi Polja poslova.

-v <var>[=<vrijednost>][,<var>[=<vrijednost>]...] : opcija defnira da SGE prilikom izvođenja posla postavi varijablu okoline. Ovaj parametar je koristan kada
													aplikacija koristi posebne varijable okoline, jer ih SGE podrazumijevano ne postavlja prilikom pokretanja posla.
-V : SGE poslu prenosi sve trenutne varijable okoline.

  • Info

    Napomena: prilikom nabrajanja vrijednosti parametara (npr. -l ili -q) nije dozvoljeno stavljati razmake.


Info

Detaljan popis i informacije o parametrima moguće je dobiti naredbom man qsub.

SGE varijable okoline

Unutar startne skripte moguće je koristiti SGE varijable. Neke od njih su:

Code Block
$TMPDIR : ime direktorija u koji se mogu spremati privremene datoteke (/scratch)
$JOB_ID : SGE identifikator posla
$SGE_TASK_ID : identifikator zadatka kod polja poslova
$SGE_O_HOST : adresa računala sa kojeg je pokrenut posao
$SGE_O_PATH : originalna vrijednost varijable okoline PATH prilikom pokretanja posla
$SGE_O_WORKDIR : direktorij iz kojeg je posao pokrenut
$SGE_STDOUT_PATH : datoteka u koju se sprema standardni izlaz
$SGE_STDERR_PATH : datoteka u koju se sprema standardna greška
$HOSTNAME : adresa računala na kojem se izvršava skripta
$JOB_NAME : ime posla
$PE_HOSTFILE : ime datoteke u kojoj su navedene adrese računala
$QUEUE : ime reda u kojem se posao izvršava

Vrste poslova

Serijski poslovi

Najjednostavniji oblik SGE poslova su serijski poslovi koji zahtijevaju samo jedan procesor za izvođenje. Za njih obično nije potrebno navoditi nikakve posebne parametre, nego se samo navodi ime programa.

Primjeri korištenja:

  1.  Primjer skripte bez dodatnih parametara

    Code Block
    languagebash
    #!/bin/bash 
    
    date


  2. Primjer jednostavne skripte s parametrima

    Code Block
    languagebash
    #!/bin/bash 
    
    #$ -N Date_SGE_script 
    #$ -o Date_SGE.out 
    #$ -e Date_SGE.err 
    
    date


  3. Primjer izvođenja programa iz trenutnog direktorija

    Code Block
    languagebash
    titlemoj_program.sge
    #!/bin/bash
    
    #$ -N mojprog
    #$ -P local
    #$ -o mojprog.out
    #$ -e mojprog.err
    #$ -cwd
    
    mojprog


Paralelni poslovi

Za pokretanje paralelnih poslova potrebno je specificirati željenu paralelnu okolinu te broj procesorskih jezgara koji je potreban za izvođenje posla. Sintaksa je:

Code Block
languagetext
#$ -pe <tip_paralelnog_posla> <N>,[<Ni>,...]<S>-<E>,[<Si>-<Ei>,]

Primjeri korištenja:

  1. Posao za izvođenje zahtijeva 14 procesorskih jezgara:

    Code Block
    #$ -pe *mpi 14


  2. Broj dodijeljenih procesorskih jezgara može biti između 2 i 4:

    Code Block
    #$ -pe *mpi 2-4


  3. Broj dodijeljenih procesorskih jezgara može biti 5 ili 10:

    Code Block
    #$ -pe *mpi 5,10


  4. Broj dodijeljenih procesorskih jezgara može biti 1 ili između 2 i 4:

    Code Block
    #$ -pe *mpi 1,2-4


Info

Više informacija o paralelnim okolinama dostupnim na Isabelli možete pronaći na stranici Redovi poslova i paralelne okoline.


Info

Obzirom da korisnik ne mora unaprijed znati koliko procesorskih jezgara će mu biti dodijeljeno, SGE postavlja vrijednost varijable $NSLOTS na broj dodijeljenih jezgara.

Samo pokretanje paralelnih poslova je specifično jer postoje alati za pokretanje podnaslova (npr. mpirun) koji sami obavljaju raspoređivanje podposlova po čvorovima. Kada SGE dodijeli čvorove paralelnom poslu, popis čvorova spremi u datoteku $TMPDIR/machines koja se unutar skripte za opis posla prenosi kao parametar paralelnim poslovima (npr. mpirun, mpiexec, pvm...).

Primjer startne skripte za pokretanje jedne vrste paralelnog posla:

Code Block
languagebash
#!/bin/bash

#$ -N paralelni-posao
#$ -cwd
#$ -pe *mpi 14

mpirun_rsh -np $NSLOTS -hostfile $TMPDIR/machines ...

Polja poslova

SGE omogućava višestruko pokretanje istog posla, tzv. polja poslova. Podposlovi unutar polja se nazivaju zadaci i svaki zadatak dobiva svoj identifikator.

Prilikom pokretanja poslova korisnik specificira raspon vrijednosti identifikatora zadataka koristeći parametar -t:

Code Block
#$ -t <pocetak>:<kraj>:<korak>

Vrijednost <početak> je identifikator prvog zadatka, <kraj> identifikator posljednjeg zadatka, a <korak> vrijednost za koju se uvećava svaki sljedeći identifikator između <početak> i <kraj>. SGE sprema identifikator svakog zadatka u varijablu $SGE_TASK_ID, pomoću koje korisnici mogu dodijeliti različite parametre pojedinom zadatku. Zadaci mogu biti serijski ili paralelni poslovi.

Primjeri korištenja

  1. Primjer skripte za pokretanje polja poslova od 10 serijskih poslova:

    Code Block
    languagebash
    #!/bin/bash
    
    #$ -N job_array_serial
    #$ -cwd
    #$ -o output/
    #$ -j y
    #$ -t 1-10
    
    ./starSeeker starCluster.$SGE_TASK_ID


  2. Primjer skripte za pokretanje polja poslova od 10 paralelnih poslova:

    Code Block
    languagebash
    #!/bin/bash
    
    #$ -N job_array_parallel
    #$ -cwd
    #$ -o output/
    #$ -j y
    #$ -t 1-10
    
    mpiexec -machinefile $TMPDIR/machines ./starseeker starCluster.$SGE_TASK_ID


Interaktivni poslovi

SGE omogućava pokretanje interaktivnih poslova. Za interaktivno izvođenje poslova koristi se naredba qrsh.

Preporuča se koristiti ovaj oblik poslova u slučaju kada je potrebno prevesti ili debuggirati aplikacije na čvorovima. Za razliku od korištenja ssh, na ovaj način se daje do znanja SGE-u da su čvorovi zauzeti i da ne pokreće druge poslove na njima. Prilikom interaktivnog izvođenja naredbe potrebno je navesti puni put do naredbe.

Ukoliko SGE trenutno nema slobodnih resursa i posao se želi ostaviti da čeka u redu, potrebno je navesti parametar "-now n". U suprotnom će SGE odmah završiti izvođenje posla s porukom:

Code Block
languagetext
Your "qrsh" request could not be scheduled, try again later.

Primjeri korištenja

  1. Izravan pristup do komandne linije testnog čvora:

    Code Block
    languagetext
    qrsh


  2. Interaktivno izvođenje naredbe

    Code Block
    languagetext
    qrsh /home/user/moja_skripta


  3. Interaktivno izvođenje aplikacije s grafičkim sučeljem

    Code Block
    languagetext
    qrsh -DISPLAY=10.1.1.1:0.0 <moja_skripta>


Napredno opisivanje poslova

Spremanje privremenih rezultata

Za spremanje privremenih rezultata koji se generiraju tijekom izvođenja posla ne preporuča se koristiti $HOME direktorij. Time se smanjuje učinkovitost aplikacije te opterećuju frontend i mreža klastera.

SGE za svaki pojedini posao kreira direktorij na disku na radnim čvorovima (/scratch), oblika /scratch/<jobID>.<taskID>.<queue>. Adresu ovog direktorija SGE sprema u varijablu $TMPDIR.

Info

Zbog veće brzine, korištenje privremenog direktorija na /scratch disku preporuča se i za poslove koji često zahtijevaju nasumičan pristup podacima na disku, kao što su TensorFlow i PyTorch poslovi.


Warning

Ukoliko postoje naznake da će kreirane privremene datoteke prijeći 500 GB, spremanje privremenih podataka treba se vršiti na disk /shared (opisano niže).


Warning

Privremeni direktorij na /scratch disku se briše automatski po završetku izvršavanja posla.

Primjeri korištenja:

  1. Primjer jednostavnog korištenja $TMPDIR varijable:

    Code Block
    languagebash
    #!/bin/bash 
    
    #$ -N scratch_1 
    #$ -cwd 
    #$ -o output/scratch.out 
    #$ -j y
    #$ -l scratch=50 
    
    cd $TMPDIR 
    pwd > test 
    cp test $SGE_O_WORKDIR


  2. Primjer kopiranja podataka na scratch disk:

    Code Block
    languagebash
    #!/bin/bash 
    
    #$ -N scratch_2 
    #$ -cwd 
    #$ -o output/scratch.out 
    #$ -j y
    #$ -l scratch=50 
    
    mkdir -p $TMPDIR/data 
    cp -r $HOME/data/* $TMPDIR/data 
    
    python3.5 main.py $TMPDIR/data


Ukoliko privremeni podaci premašuju 500 GB potrebno je koristiti /shared. Za razliku od scratch-a, direktorij na shared-u je potrebno ručno kreirati i nema automatskog uklanjanja direktorija.

Primjer korištenja:

Code Block
languagebash
#!/bin/bash 

#$ -N shared
#$ -cwd 
#$ -o output/shared.out 
#$ -j y 

mkdir -p /shared/$USER/$TMPDIR
cd /shared/$USER/$TMPDIR

pwd > test
cp test $SGE_O_WORKDIR

Resursi

Prilikom pokretanja poslova korisnik može detaljnije opisati koji uvjeti trebaju biti ispunjeni za posao. Primjerice, moguće je zahtijevati samo određenu arhitekturu radnog čvora, količinu memorije ili vrijeme izvršavanja. Navođenje potrebnih resursa omogućava bolje raspoređivanje poslova, a poslovima daje veći prioritet (vidi LINK).

Potrebni resursi se navode pomoću parametra -l:

Code Block
#$ -l <resurs>=<vrijednost>

Resursi koji definiraju potrebe posla:

Code Block
arch : arhitektura čvora (npr. lx26-x86, lx25-amd64)
hostname : adresa čvora (npr. c4140-01.isabella)

Resursi koji postavljaju stvarna ograničenja na poslove:

Code Block
vmem : količina virtualne memorije (format: <num>K|M|G)
rss : količina stvarne memorije
stack : veličina stoga
data : ukupna količina memorije (bez stoga)
fsize : ukupna veličina datoteka
cput : procesorsko vrijeme (format: [<hours>:<min>:]<sec>)
rt : stvarno vrijeme
scratch : prostor na scratch disku izrazen u GB


Note

Vrijednosti ovih resursa treba pažljivo definirati (npr. uzimati 50% veće vrijednosti od očekivanog). U slučaju prekoračenja posao će biti zaustavljen sa signalom "segmentation fault".


Note

Vrijednosti se ne mogu mijenjati za aktivne poslove.


Info

Vrijednosti resursa definirane u startnoj skripti posla postavljaju se po procesu. Na primjer, ukoliko korisnik na jednom čvoru zahtijeva 3 procesorske jezgre, vrijednosti svih zatraženih resursa biti će pomnožene s 3.

Primjeri korištenja:

  1. Primjer posla koji zahtijeva 20 CPU jezgara i 10 GB radne memorije po procesu (poslu će ukupno biti dodijeljeno 200 GB radne memorije):

    Code Block
    #$ -pe *mpi 20
    #$ -l memory=10


  2. Posao zahtijeva 100 GB prostora na scratchu:

    Code Block
    #$ -pe *mpisingle 4
    #$ -l scratch=25


Red poslova

SGE podržava više redova poslova, za različite vrste i maksimalna trajanja poslova, za različite vrste poslova (interaktivni, vSMP poslovi, ...) itd.

Željeni red poslova može se definirati parametrom -q:

Code Block
#$ -q <queueName>

Popis dostupnih redova poslova na Isabelli može se pronaći na ???Redovi poslova i paralelne okoline???.

Obavijesti o stanju posla

SGE podržava slanje e-mail obavijesti o promjeni stanja posla.

Parametar -M određuje na koju email adresu će stizati obavijesti o stanju poslova:

Code Block
#$ -M <email_adresa> 

Parametar -m određuje u kojim slučajevima će se slati obavijest:

Code Block
#$ -m [b][a][e][n]
  • b - početak izvođenja
  • a - greška u izvođenju
  • e - završetak izvođenja
  • n - ne slati obavijesti (pretpostavljena opcija)

Primjer korištenja:

Code Block
languagetext
#$ -m ae
#$ -M moj@mail.com

Obavijest će biti poslana na adresu moj@mail.com prilikom prekida ili završetka posla.

Praćenje i upravljanje izvođenjem poslova

Prikaz stanja poslova

Za prikaz stanja poslova koristi se SGE-ova naredba qstat. Sintaksa naredbe je:

Code Block
$ qstat <opcije>

Izvršavanjem naredbe qstat bez dodatnih opcija dobiva se ispis svih trenutnih korisnikovih poslova:

Code Block
languagetext
[tsmolcic@teran ~]$ qstat
job-ID  prior   name       user         state submit/start at     queue                          slots ja-task-ID
-----------------------------------------------------------------------------------------------------------------
 131982 0.00001 md5-10k.0  tsmolcic     r     05/28/2019 06:24:06 gpu.0.q@c4140-03.isabella          1
 131988 0.00001 md5-10k.2  tsmolcic     r     05/28/2019 09:29:26 gpu.2.q@c4140-01.isabella          1
 131990 0.00001 md1-5k.3   tsmolcic     r     05/28/2019 09:29:41 gpu.3.q@c4140-01.isabella          1
 131991 0.00001 md10-15.4  tsmolcic     r     05/28/2019 10:18:08 gpu.1.q@c4140-01.isabella          1
 131994 0.04119 md1kp.5    tsmolcic     qw    05/27/2019 13:14:14                                   20
 131996 0.00005 md1-5k.6   tsmolcic     qw    05/27/2019 13:16:30                                    1

Neke od važnijih opcija su:

Code Block
-s [r|p|s|h] : filtrira poslove prema stanju: r - aktivni, s - zaustavljeni, h - zaustavljeni u redu, p - u redu čekanja
-j [job_ID] : detaljan prikaz stanja posla (ukoliko se ne navede job_ID, prikazuju se podaci o svim aktivnim poslovima)
-f : prikazuju se detaljne informacije o opterećenosti čvorova i rasporedu poslova na čvorove
-F : detaljan prikaz podataka o čvorovima
-u <ime_korisnika> : prikazuju se samo poslovi od korisnika <ime_korisnik> (* - za sve korisnike)
-q [ime_reda] : naredba dohvaća isključivo informacije o redovima poslova
-g c : dohvat zbirnih informacija o redovima poslova: ukupno opterećenje reda, ukupan broj čvorova u redu, broj zauzetih
		i slobodnih čvorova te broj čvorova u posebnim stanjima
-g t : u prikazu poslova su označeni slave i master zadaci
-l <resurs>=<vrijednost> : filtriranje poslova prema resursima
-ext : dodatne informacije o poslovima
-pri : detaljni podaci o prioritetima poslova

Opcije naredbe qstat je moguće kombinirati što je naročito bitno kada je potrebno filtrirati kroz nekoliko stotina poslova.

Primjeri korištenja:

  1. Prikaz svih poslova u redu čekanja

    Code Block
    $ qstat -u "*" -s p


  2. Prikaz poslova svih korisnika koji se trenutno izvršavaju i zahtijevali su paralelnu okolinu a16-mpi

    Code Block
    $ qstat -u "*" -s r -pe a16-mpi


  3. Prikaz svih poslova i čvorova korisnika pero

    Code Block
    $ qstat –s r –f –u pero


  4. Prikaz svi poslova koji se trenutno izvršavaju na čvorovima s grafičkim procesorima:

    Code Block
    $ qstat –u "*" -q gpu.*.q


Prikaz radnih čvorova

Za ispis broja procesora, jezgri i količine radne memorije po čvoru koristi se naredba

Code Block
$ qhost

Naredom se mogu ispisati vrijednosti raspoloživih resursa po radnim čvorovima:

Code Block
$ qhost -F vendor,scratch,memory

Upravljanje poslovima

Poslom se može upravljati i nakon pokretanja.

Dok je posao u redu čekanja, moguće je privremeno zaustaviti njegovo izvršavanje naredbom

Code Block
$ qhold <ID_posla>

Tako zaustavljen posao može se vratiti u red čekanja naredbom

Code Block
$ qrls <ID_posla>

Veću kontrolu nad poslom omogućava naredba qmod. Naredba omogućava privremeno zaustavljanje aktivnih poslova i to na način da poslu pošalje signal SIGSTOP. Posao će preći u neaktivno stanje (T), ali neće osloboditi resurse (memoriju, opisnike datoteka). Naredba omogućava i spremanje stanja procesa na disk (checkpointing) za poslove koji imaju tu mogućnost. Nadalje pomoću qmod naredbe korisnik može zaustaviti aktivni proces i vratiti ga natrag u red poslova. Parametri naredbe su:

Code Block
-c : naredba izvodi spremanje stanja proces
-f : parametar definira da se naredba izvede bez obzira da li je to moguće ili ne 
	(korisno kod vraćanja u red poslova koji su označeni s parametrom -r n).
-r: naredba zaustavlja posao i vraća ga natrag u red.
-s : naredba zaustavlja izvođenje aktivnog procesa.
-us : naredba nastavlja izvođenje zaustavljenog aktivnog posla.

Posao se u potpunosti zaustavlja ili miče iz reda čekanja naredbom:

Code Block
$ qdel <ID_posla>

Moguće je zaustaviti sve poslove korisnika:

Code Block
$ qdel -u <ime_korisnika>

Za zaglavljene poslove treba koristiti prisilno zaustavljanje:

Code Block
$ qdel -f <ID_posla>

Dohvat informacija o završenim poslovima

Za dohvat informacija o završenim poslovima koristi se naredba qacct. Sintaksa je:

Code Block
$ qacct <opcije>

Najčešći primjer korištenja ove naredbe je

Code Block
$ qacct -j <ID_posla>

kojom se ispisuju svi podaci o završenom poslu.

Ostale korisne opcije naredbe qacct su:

Code Block
-j <ID_posla> : detaljan opis pojedinih poslova
-h <adresa_čvora> : statistike za pojedine čvorove
-q <ime_reda> : statistike za pojedine redove
-o <ime_korisnika> : statistike za pojedine korisnike
-pe <ime_paralelne_okoline> : statistike za pojedine paralelne okoline
-slots <broj_procesora> : statistike za poslove za određeni broj procesora
-P <projekt> : prikaz sažetka potrošnje definiranog projekta

Primjeri korištenja:

  1. Detaljne informacije o svim poslovima izvršenim na klasteru (oprez: velika količina podataka):

    Code Block
    $ qacct -j


  2. Prikaz informacija o svim poslovima definiranog korisnika:

    Code Block
    $ qacct -j -o <korisnik>

    Prikaz sažetka potrošnje računalnih resursa definiranog korisnika (ako se ne definira <korisnik>, prikazuju se podaci za sve korisnike):

    Code Block
    $ qacct -o <korisnik>


  3. Prikaz informacija o svim poslovima za definirani projekt:

    Code Block
    $ qacct -j -P <projekt>

    Prikaz sažetka potrošnje definiranog projekta (ako se ne definira <projekt>, prikazuju se podaci za sve projekte):

    Code Block
    $ qacct -P <projekt>