Jak použít PBS (Portable Batch System) na výpočetních serverech

Řešení

V několika následujících řádcích je příklad jednoduchého scriptu, sloužícího ke spuštění úlohy, kterou zavedeme příkazem qsub.

#!/bin/bash
#PBS -S /bin/bash
#PBS -N myjob.pbs
#PBS -j oe
#PBS -M pepa.novak@cvut.cz
#PBS -m bae
#PBS -l walltime=01:00:00
#PBS -l select=1:ncpus=18:host=flex
####PBS -l place=pack:shared  - pokud ncpus neni nasobkem 18, napr.
########           pri zadani vice uloh s ncpus=1 je to nutne!!
echo "Starting run at: `date`"
/home/pepa/muj_program
echo "Job finished at: `date`"

 

Lze uvést více údajů oddělených mezerou na jeden řádek, který začíná #PBS .
Např.: #PBS -S /bin/csh -N pokus -m a

Hlavní příkazy pro práci s PBS pak jsou

Existují ještě další příkazy, které umožňují měnit status úlohy.
Podrobnější informace o jednotlivých příkazech systému PBS může uživatel získat pomocí příkazu man (např.: man qdel).

Informace o frontách

Interaktivní spouštění úloh

Pro ladění úloh je výhodné si nechat vypisovat výsledky na obrazovku a tak opticky kontrolovat výpis programu nebo hodnoty některých proměnných, o kterých máme představu, jakých hodnot mají nabývat. Pro takové spouštění použijeme funkci qsub  s parametrem -I. Úlohu tedy spustíme následovně: qsub -I pbs_skript. Tím jsme přesměrováni na shell, ve kterém ale musíme ručně zadat veškeré uživatelské příkazy uvedené ve skriptu. Výsledky si můžeme nechat vypisovat na obrazovku a program můžeme ukončit standardně pomocí CTRL-C a PBS shell ukončíme příkazem exit (CTRL-D). Interaktivní úloha nám poběží samozřejmě i mimo PBS, ale může dojít ke kolizi s úlohami spouštěných pomocí PBS a k problémům s během počítače kvůli špatně využitým zdrojům. Naše úloha se objeví i ve výpisu fronty úloh pomocí qstat, nebo podrobněji qstat -f číslo_úlohy.

Pokud bychom potřebovali ladit v grafickém režimu nějaké aplikace, použijeme taktéž qsub. Máme například ladit na 36 jádrech po dobu 30 min na počítači flex, zadáme:

qsub -I -l select=1:ncpus=36:host=flex -l walltime=00:30:00 -v DISPLAY

Kontrolu funkčnosti grafického výstupu si provedeme např. spuštěním xtermxclock  nebo xeyes  a CTRL-C. Pak si nastavíme prostředí exportem potřebných proměnných a spustíme si aplikaci.

FAQ#478   Výpočetní servery   21.3.2024 (09:03)  Jiří Šolc  
FAHE v2.1 (master/883e3d93/2022-05-23/12:17) © 2015,2016 by JŠ