LPBS (Local Portable Batch System) je nástroj pro emulaci PBS na místní pracovní stanici.
PBS / točivý moment je plánovací systém práce, která se používá v mnoha vysoce výkonných výpočetních clusterů. Balíček LPBS poskytuje nástroje pro spouštění PBS jobu, skripty na místní pracovní stanici. Konkrétně LPBS poskytuje příkaz lqsub, která bere stejné možnosti jako v PBS qsub velení a spustí skript pracovní lokálně, v prostředí, prakticky totožná s jedním, že PBS / MOMENT by poskytovala. Práce bude probíhat na pozadí a musí být přiřazeno ID úlohy. Na rozdíl od systému PBS, se LPBS neprovádí žádné plánování, ale jednoduše spustit úlohu které jí byly předloženy. LPBS poskytuje další nástroje pro správu běžících úloh.
Instalace
LPBS lze nainstalovat z PyPi, s použitím
Pip nainstalovat LPBS
Alternativně, balíček lze nainstalovat ze zdroje s
python setup.py nainstalovat
Configuration
LPBS ukládá všechny jeho konfigurace a runtime údajů ve složce uvedené v proměnné prostředí $ LPBS_HOME. Tato proměnná prostředí musí být definovány. Konfigurace je v souboru lpbs.cfg uvnitř $ LPBS_HOME. Pokud tento soubor neexistuje, pokud některý ze skriptů LPBS provozují, bude konfigurační soubor s následující výchozí hodnoty se vytvoří:
[Server]
# Kompletní hostname na podání serveru (hostname.domain). Bude k dispozici
# Spuštěním úlohy pomocí proměnné prostředí PBS_SERVER. ID práce skončí
# Název hostitele serveru
hostname: localhost
doména: místní
[Uzel]
# Kompletní hostname uzlu provádění (hostname.domain). Bude k dispozici
# Spuštěním úlohy pomocí proměnné prostředí PBS_O_HOST. Vzhledem k tomu, LPBS je
# Navržen tak, aby zde vykonat práci na místní úrovni, nastavení by měla být obecně
# Totožné s těmi v [Server] části
hostname: localhost
doména: místní
[LPBS]
# Nastavení pro spuštění úlohy.
# Pokud je povoleno "username_in_jobid", úloha ID bude mít podobu
# 'seqnr.user.hostname.domain ", kde" uživatel "je uživatelské jméno uživatele
# Podání práci.
# Soubor uveden v "sequence_file" se používá pro sledování ze "seqnr"
# Objevuje v ID zaměstnání.
# Soubor uveden v "logu", se používá k přihlášení všech událostí LPBS. Oba
# 'sequence_file "a" logsoubor "jsou relativní vzhledem k $ LPBS_HOME.
username_in_jobid: 0
sequence_file: sekvence
logfile: lpbs.log
[Scratch]
# Nastavení pro scratch prostorem, aby se vytváření pracovních míst. "Scratch_root" definuje
# Místo, kde by se pracovní místa zapsat dočasných dat. V případě, stejně jako relativní cestu,
# Je vzhledem k $ LPBS_HOME. Proměnné prostředí bude rozšířena na
# Čas podání práce.
# Je-li hodnota # "create_jobid_folder" je nastavena na hodnotu 1, složku s názvem
# Plný ID úlohy se vytvoří uvnitř scratch_root. Tato složka je automaticky
# Odstraněny při zaměstnání skončí, není-li "keep_scratch" je nastavena na 1. Pokud úloha
# Selhal, scratch nebudou odstraněny, pokud není nastavena "delete_failed_scratch"
# 1.
scratch_root: $ SCRATCH_ROOT
create_jobid_folder: 0
keep_scratch: 0
delete_failed_scratch: 0
[Oznámení]
# Nastavení o tom, jak uživatel by měl být upozornění na události, jako je start
# A konec práce. Pokud je sent_mail nastavena na 1, e-maily budou zaslány k
# oznámení v závislosti na hodnotě "-m" možnost lqsub. Pokud
# 'send_growl "je nastavena na hodnotu 1, Growl (http://growl.info) se používá pro oznámení
# Na MacOS X. Upozornění přes Growl neberou v úvahu "-m" Možnosti
# Při zadávání úlohy.
send_mail: 0
send_growl: 0
[Mail]
# nastavení SMTP pro upozornění e-mailem. Oznámení e-maily budou zaslány z
# Adresu dáno "od" možnost. SMTP server uveden v "SMTP" je
# Používá pro posílání e-mailů, pokud "prověřit" je nastavena na hodnotu 1, je ověřování
# Udělat s daným "uživatelské jméno" a "heslo". Je-li "TLS" je 1, TLS šifrování
# Budou použity.
od: nobody@example.org
smtp: smtp.example.com:587
uživatelské jméno: user
Heslo: tajemství
ověřit: 0
TLS: 1
[Growl]
# Nastavení pro oznámení Growl. Oznámení jsou zasílány buď
# Localhost nebo vzdáleného hostitele pomocí protokolu GNTP. Nastavení "hostname"
# Dává adresu a port serveru Growl, vzhledem k "heslo" je
# Použít pro autentizaci (všimněte si, že v případě zaslání na localhost, no
# Ověření je nutná, a heslo by mělo být prázdný). Pokud
# "Lepit" je nastavena na hodnotu 1, bude oznámení Growl být lepkavý. To je
# Možné zaslat oznámení do více než jednoho hostitele. V tomto případě, a to jak
# "Hostname" a "heslo" by měl být čárkami oddělený seznam hodnot, s
# Každá položka odpovídající jednomu hostiteli. Např.
# Hostname: localhost, remotehost
# Heslo:, tajemství
hostname: localhost: 23053
heslo:
sticky: 0
[Log]
# 'logfile "je uveden název souboru centrálního protokolu, vzhledem k $ LPBS_HOME.
logfile: lpbs.log
Všimněte si, že pokud se použije konfigurační soubor default, proměnné prostředí $ SCRATCH_ROOT musí být definována a adresář odkazuje na měla existovat a být zapisovatelný pro všechny uživatele, kteří by mohli posílat úlohy.
Při instalaci celého systému, / var / lpbs je vhodným místem pro $ LPBS_HOME. Proměnná prostředí může být nastavena v /etc/bash.bashrc pro všechny uživatele. Pro instalaci v uživatelském prostoru, je doporučeno VIRTUALENV.
Po hlavním konfiguračním souboru, soubor $ HOME / .lpbs.cfg bude také číst. Uživatel může použít k přepsání nastavení v konfiguraci systému. Konečně, příkaz qsub má také --config možnost, která umožňuje určit ještě další konfigurační soubor, který chcete číst.
Použít
LPBS obsahuje skripty lqsub, lqstat a lqdel, který emulovat PBS / moment příkazy qsub, qstat a lqdel, resp. Příkaz lqsub se používá pro odesílání úloh, lqstat slouží k zobrazení informací o spuštěných úloh, a lqdel slouží k přerušení běžící úlohy. Například:
Goerz @ localhost: ~> lqsub job.pbs
3.localhost.local
Goerz @ localhost: ~> lqstat
Job id Jméno uživatele walltime
-------------------- --------------- --------------- ---------------
3.localhost.local pbstest Goerz 00:00:22
Goerz @ localhost: ~> lqstat -f 3.localhost.local
Job Id: 3.localhost.local
& Nbsp; job_name = pbstest
& Nbsp; Job_Owner = Goerz
& Nbsp; server = localhost.local
& Nbsp; exec_host = localhost.local
& Nbsp; PID = 14649
& Nbsp; Error_Path = STDERR
& Nbsp; Join_Path = True
& Nbsp; Mail_Points = n
& Nbsp; Output_Path = pbstest.out
& Nbsp; resources_used.walltime = 00:00:43
Goerz @ localhost: ~> lqdel 3.localhost.local
Příkaz qsub je navržen tak, aby pochopili všechny možnosti příkazového řádku z příkazu qsub v MOMENT verzi 2.18, kromě toho, že všechny volby týkající se plánování jsou ignorovány. Proto by měly být všechny práce script PBS být submittable beze změny. Podrobnosti spusťte lqsub, lqstat a lqdel s možností --help, a / nebo se podívejte na točivý moment manuálu.
Příklad Script práce
Následuje příklad jednoduchého PBS práce skriptu, který bude vytisknout plnou prostředí, které práce vidí. Možná budete chtít, aby předložila tuto práci jak s LPBS a PBS / moment k ověření, že se příslušná nastavení lpbs.cfg, LPBS poskytuje identické prostředí jako LPBS.
#! / Bin / bash
#PBS N pbstest
#PBS -j Oe
#PBS -l Nodes = 1: PPN = 1
#PBS -l Walltime = 00: 00: 10
#PBS -l Mem = 10mb
#PBS -o Pbstest.out
echo "################################################ #### "
echo "Uživatel: $ PBS_O_LOGNAME"
echo "Batch práce začaly na $ PBS_O_HOST"
echo "PBS práce id: $ PBS_JOBID"
echo "PBS název práce: $ PBS_JOBNAME"
echo "PBS pracovní adresář: $ PBS_O_WORKDIR"
echo "Job začal na" `` hostname` date`
echo "aktuálním adresáři:" `pwd`
echo "PBS prostředí: $ PBS_ENVIRONMENT"
echo "################################################ #### "
echo "################################################ #### "
echo "Full Životní prostředí:"
printenv
echo "################################################ #### "
echo "Job je provedeno na následující uzel:"
cat $ {} PBS_NODEFILE
echo "################################################ ########## "
echo "Job Dokončeno:" `date`
exit 0
Požadavky na :
- Python
Komentáře nebyl nalezen