OpenPBS

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

< Podręcznik użytkownika KDM < System kolejkowy < PBS < OpenPBS

OpenPBS
Serwery
Tezro
Kontakt
kdm@wcss.pl

OpenPBS (Open Portable Batch System) jest darmowym systemem kolejkowania i dystrybucji obciążenia, zaprojektowanym dla NASA Ames Research Center. OpenPBS jest aplikacją sieciową i działa na wielu platformach unix'owych (włącznie z heterogenicznymi klastrami stacji roboczych), superkomputerach i systemach masywnie równoległych. OpenPBS jest darmową wersją systemu PBSPro.

OpenPBS działa na komputerze Tezro. Był także wykorzystywany na wycofanych z użytku klastrach Układ i Gromada (gdzie zastąpiony został aktualniejszą wersją Torque/PBS).

Opcje skryptów OpenPBS

Przedstawione poniżej opcje można podać w linii wywołania polecenia qsub lub wewnątrz skryptu uruchamiającego zadanie (patrz także Przykładowy skrypt OpenPBS).

Pełna lista opcji znajduje się w manualu systemowym polecenia qsub (man qsub).

  • -a date_time - określa datę i czas, po którym zadanie może zostać uruchomione. Parametr date_time musi mieć format: [[[[CC]YY]MM]DD]hhmm[.S].
  • -e path - docelowa ścieżka dla strumienia standardowego wyjścia błędów zadania. Parametr path musi mieć format: [hostname:]path_name.
  • -I określa zadanie jako interaktywne. Zadanie takie zostanie w typowy sposób wstawione do kolejki, ale po uruchomieniu strumienie standardowego wejścia i wyjścia zostaną podłączone do terminala z którego wydano polecenie kolejkowania.
  • -j join - łączy lub rozdziela strumienie standardowego wyjścia i standardowego wyjścia błędów w zależności od argumentu join:
    • oe - dołącza standardowe wyjście błędów do standardowego wyjścia
    • eo - dołącza standardowe wyjście do standardowego wyjścia błędów
    • n - rozłącza strumienie standardowego wyjścia od standardowego wyjścia błędów (domyślne)
  • -l resource_list - określa listę zasobów wymaganych przez zadanie i jednocześnie nakłada na zadanie takie limity.
  • -m mail_options - określa kiedy wysłać do użytkownika pocztę z informacją o zadaniu, gdzie opcje to: n - brak poczty; a - (domyślne) zadanie zostało "zabite"; b - zadanie zostało uruchomione; e - zadanie zakończyło się poprawnie.
  • -N name określa nazwę zadania (może mieć do 15 znaków i pierwszym znakiem musi być litera).
  • -o path określa ścieżkę dla strumienia standardowego wyjścia. Parametr path musi mieć format: [hostname:]path_name.
  • -q destination określa docelową kolejkę.
  • -S path_list określa interpreter, który ma przetworzyć skrypt uruchamiający zadanie. Jeśli interpreter nie zostanie podany, to użyty będzie shell startowy użytkownika.
  • -v variable_list określa listę zmiennych środowiskowych do przekazania zadaniu. Jest to lista elementów typu zmienna=wartość oddzielonych przecinkami.
  • -V eksportuje wszystkie bieżąco ustawione zmienne środowiskowe do zadania kolejkowanego poleceniem qsub.

Przykładowy skrypt OpenPBS

# Przykładowy skrypt OpenPBS. 
# interpreter skryptu: #PBS -S /bin/tcsh
# wyślij pocztę gdy zadanie uruchomi się, zakończy lub zostanie # przerwane #PBS -m abe
# ustaw limity: 1 CPU, 24 godziny czasu realnego, 2 godziny czasu CPU, # 100MB pamięci #PBS -l ncpus=1 #PBS -l walltime=24:00:00,cput=2:00:00 #PBS -l mem=100MB
# nazwa zadania: #PBS -N my_simple_job
rm my_simple_job.o* # skasuj poprzednio wygenerowane przez OpenPBS-a pliki rm my_simple_job.e* cd fortran # zmień katalog rm ./*.out # skasuj zbędne/przeszkadzające pliki
f77 simple.f # uruchom kompilację ./a.out >> simple.out # uruchom kompilat z przekierowaniem wyników


Przykłady wyników poleceń OpenPBS'a

wodor:~ $ qstat 
Job id Name User Time Use S Queue --------------- ----------- ------- -------- - ------ 1300.uklad.wcss startpp user1 875:14:0 R normal 1448.uklad.wcss g98_FlCS3b user2 540:07:0 R normal 1476.uklad.wcss g98_5r user3 239:07:3 R normal 1478.uklad.wcss g98_5t user4 198:56:4 R normal 1675.uklad.wcss g98_hfc.in user5 0 Q normal 1676.uklad.wcss g98_hfct.in user5 0 Q normal 1677.uklad.wcss STDIN user6 0 Q normal
wodor:~ $ qstat -Q 
Queue Max Tot Ena Str Que Run Hld Wat Trn Ext Type ---------------- --- --- --- --- --- --- --- --- --- --- --------- short 16 0 yes yes 0 0 0 0 0 0 Execution normal 16 19 yes yes 3 16 0 0 0 0 Execution
wodor:~ $ qstat -a 
wodor.uklad.wcss.wroc.pl: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time --------------- -------- -------- ---------- ------ --- --- ------ ----- - ----- 1300.uklad.wcss user1 normal startpp 30871 -- 1 -- 900:0 R 875:1 1448.uklad.wcss user2 normal g98_FlCS3b 1914 -- 1 -- 744:0 R 540:0 1476.uklad.wcss user3 normal g98_5r 10602 -- 1 -- 744:0 R 239:0 1478.uklad.wcss user4 normal g98_5t 16815 -- 1 -- 744:0 R 198:5 1675.uklad.wcss user5 normal g98_hfc.in -- -- 1 -- 744:0 Q -- 1676.uklad.wcss user5 normal g98_hfct.i -- -- 1 -- 744:0 Q -- 1677.uklad.wcss user6 normal STDIN -- -- 1 -- 744:0 Q --
wodor:~ $ qstat -f 1677 
Job Id: 1677.uklad.wcss.wroc.pl Job_Name = STDIN Job_Owner = user6@uklad.wcss.wroc.pl job_state = Q queue = normal server = uklad.wcss.wroc.pl Checkpoint = u ctime = Wed Jun 12 12:36:19 2002 Error_Path = uklad.wcss.wroc.pl:/home/user6/STDIN.e1677 Hold_Types = n Join_Path = n Keep_Files = n Mail_Points = a mtime = Wed Jun 12 12:36:19 2002 Output_Path = uklad.wcss.wroc.pl:/home/user6/STDIN.o1677 Priority = 0 qtime = Wed Jun 12 12:36:19 2002 Rerunable = True Resource_List.cput = 744:00:00 Resource_List.ncpus = 1 Resource_List.vmem = 800mb substate = 10 Variable_List = PBS_O_HOME=/home/user6,PBS_O_LANG=pl_PL, PBS_O_LOGNAME=user6, PBS_O_PATH=.:/home/user6/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/X11 R6/bin:/usr/local/ifc/compiler50/ia32/bin:/usr/local/pgi/linux86/bin:/u sr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games, PBS_O_MAIL=/var/mail/user6,PBS_O_SHELL=/bin/bash, PBS_O_HOST=uklad.wcss.wroc.pl,PBS_O_WORKDIR=/home/user6, PBS_O_QUEUE=normal euser = user6 egroup = user6 queue_rank = 684 queue_type = E etime = Wed Jun 12 12:36:19 2002
wodor:~ $ qstat -B 
Server Max Tot Que Run Hld Wat Trn Ext Status ---------------- --- --- --- --- --- --- --- --- ---------- uklad.wcss.wroc. 0 19 3 16 0 0 0 0 Active



Zobacz też: Konfiguracja kolejek PBS, system kolejkowy, układ, gromada, tezro.