LPBS (Plaaslike Portable Batch System) is 'n instrument PBS na te boots op 'n plaaslike werkstasie.
PBS / wringkrag is 'n werk skedulering stelsel wat gebruik word op baie High Performance Computing clusters. Die LPBS pakket bied gereedskap PBS werk skrifte op 'n plaaslike werkstasie te hardloop. Spesifiek, LPBS bied die lqsub opdrag wat neem dieselfde opsies as die PBS qsub bevel en loop 'n werk script plaaslik, in 'n omgewing feitlik identies aan die een wat PBS / WRINGKRAG sou voorsien. Die werk sal loop in die agtergrond en word opgedra om 'n werk ID. In teenstelling met die PBS stelsel, sal LPBS geen skedulering voer, maar sal net hardloop die werk aan hom voorgelê. LPBS bied verdere gereedskap loop werk te bestuur.
Installasie
LPBS kan installeer word van PyPi, met behulp van
PIP installeer LPBS
Alternatiewelik kan die pakket geïnstalleer word van die bron met
python setup.py installeer
Konfigurasie
LPBS winkels al sy opset en runtime data in die gids gegee in die omgewing veranderlike $ LPBS_HOME. Hierdie omgewing veranderlike moet gedefinieer word. Die opset is in die lêer lpbs.cfg binnekant $ LPBS_HOME. As hierdie lêer bestaan nie, wanneer enige van die LPBS skripte word, sal 'n konfigurasielêer met die volgende verstek waardes geskep word:
[Server]
# Full masjien naam van voorlegging bediener (hostname.domain). Beskikbaar gestel sal word
# Te loop werk deur die omgewing veranderlike PBS_SERVER. Job ID's sal eindig
# In die bediener masjien naam
gasheernaam: localhost
domein: plaaslike
[Node]
# Full masjien naam van die uitvoering node (hostname.domain). Beskikbaar gestel sal word
# Te loop werk deur die omgewing veranderlike PBS_O_HOST. Sedert LPBS is
# Ontwerp om werk te lokaal uit te voer, die instellings hier moet in die algemeen
# Identies aan dié in die [Server] artikel
gasheernaam: localhost
domein: plaaslike
[LPBS]
# Omgewing vir werk uitvoering.
# As 'username_in_jobid' geaktiveer is, sal die werk ID's die vorm het
# 'Seqnr.user.hostname.domain' waar 'n gebruiker 'is die rekening van die gebruiker
# Die indiening van die werk.
# Die lêer wat in 'sequence_file' word gebruik vir die dop van die 'seqnr'
# Verskyn in die werk ID.
# Die lêer wat in 'n loglêer 'gebruik vir die aanteken al LPBS gebeure. Beide
# 'Sequence_file' en 'n loglêer 'is relatief tot $ LPBS_HOME.
username_in_jobid: 0
sequence_file: volgorde
intekenlêer: lpbs.log
[Scratch]
# Instellings vir die vrye ruimte aan werksgeleenthede. 'Scratch_root' definieer 'n
# Plek waar werk tydelike data moet skryf. As gegee as 'n relatiewe pad,
# Dit is relatief tot $ LPBS_HOME. Omgewing veranderlikes sal uitgebrei word op die
# Tyd van die werk indien.
# As die waarde van # 'create_jobid_folder' is ingestel op 1, 'n gids met die naam van
# Die volle werk ID is geskep binne scratch_root. Hierdie gids is outomaties
# Verwyder wanneer die werk eindig nie, tensy 'keep_scratch' is ingestel op 1. Indien die werk
# Misluk, die kras sal nie geskrap word nie, tensy 'delete_failed_scratch' gestel
# 1.
scratch_root: $ SCRATCH_ROOT
create_jobid_folder: 0
keep_scratch: 0
delete_failed_scratch: 0
[Kennisgewing]
# Instellings oor hoe om die gebruiker moet word oor die gebeure in kennis gestel soos die begin
# En einde van 'n werk. As sent_mail is ingestel op 1, sal die e-pos gestuur word vir
# Kennisgewings afhangende van die waarde van die '-M' opsie te lqsub. As
# 'Send_growl' is ingestel op 1, is Growl (http://growl.info) gebruik vir die aanmelding
# Op MacOS X. Kennisgewings via Growl nie die '-M' opsies in ag neem
# Tydens werk voorlegging.
send_mail: 0
send_growl: 0
[E-pos]
# SMTP instellings vir e-pos kennisgewings. Kennisgewing e-pos word gestuur word
# Die adres gegee deur die 'van 'n opsie nie. Die SMTP bediener gegee in 'smtp' is
# Gebruik vir die stuur van die e-pos, as 'Verifieer' is ingestel op 1, verifikasie is
# Gedoen met die gegewe 'gebruikernaam' en 'n wagwoord. As 'TLS' is 1, TLS-kodering
# Sal gebruik word.
vanaf: nobody@example.org
smtp: smtp.example.com:587
Gebruikersnaam: gebruiker
wagwoord: geheim
authentic: 0
TLS: 1
[Growl]
# Instellings vir Growl kennisgewings. Kennisgewings gestuur óf
# Localhost of 'n afgeleë gasheer via die GNTP protokol. Die 'host naam' setting
# Gee die adres en poort van die Growl bediener, die gegewe 'wagwoord' is
# Gebruik vir verifikasie (daarop dat indien die stuur te localhost, geen
# Verifikasie is nodig, en die wagwoord moet leeg wees). As
# 'N taai' is ingestel op 1, sal die Growl notifikasies taai wees. Dit is
# Moontlik kennisgewings te stuur na meer as een gasheer. In hierdie geval, beide
# 'Hostname "en" wagwoord "moet 'n komma-geskeide lys van waardes, met
# Elke item wat ooreenstem met een gasheer. Bv
# Gasheernaam: localhost, remotehost
# Wagwoord:, geheime
gasheernaam: localhost: 23053
wagwoord:
Sticky: 0
[Meld]
# 'N loglêer' gee die naam van die sentrale log lêer, relatief tot $ LPBS_HOME.
intekenlêer: lpbs.log
Let daarop dat indien die verstek opstelling lêer gebruik word, moet die omgewing veranderlike $ SCRATCH_ROOT gedefinieer word en die gids dit wys na moet bestaan en moet skryfbaar aan alle gebruikers wat werk kan voorlê.
Vir 'n hele stelsel installasie, / var / lpbs is 'n geskikte plek vir $ LPBS_HOME. Die omgewing veranderlike kan ingestel word in /etc/bash.bashrc vir alle gebruikers. Vir 'n installasie in die gebruiker ruimte, is virtualenv aanbeveel.
Na afloop van die belangrikste opstelling lêer, sal die lêer $ HOME / .lpbs.cfg ook gelees word. 'N gebruiker kan gebruik om hierdie instellings oorskryf in die opset van die stelsel. Laastens, die qsub opdrag het ook 'n config opsie wat jou toelaat om nog spesifiseer 'n bykomende config lêer gelees word.
Gebruik
LPBS bevat die skrifte lqsub, lqstat en lqdel, wat navolg die PBS / WRINGKRAG beveel qsub, qstat en lqdel, onderskeidelik. Die lqsub bevel word gebruik werk, lqstat word gebruik om inligting oor die uitvoer van werk te wys in te dien, en lqdel gebruik hardloop om werk te staak. Byvoorbeeld:
goerz @ localhost: ~> lqsub job.pbs
3.localhost.local
goerz @ localhost: ~> lqstat
Job id Naam User 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; bediener = localhost.local
& Nbsp; exec_host = localhost.local
& Nbsp; PID = 14.649
& 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
Die qsub opdrag is ontwerp om al command line opsies van die qsub opdrag om te verstaan in WRINGKRAG weergawe 2.18, behalwe dat alle opsies wat verband hou met die skedulering is stilweg geïgnoreer. Dus, moet al PBS werk script submittable sonder verandering. Vir meer inligting, hardloop lqsub, lqstat en lqdel met die help uit te voer opsie, en / of kyk na die wringkrag handleiding.
'n voorbeeld Job Script
Die volgende is 'n voorbeeld van 'n eenvoudige PBS werk script wat die druk van die volle omgewing wat die werk sien. Jy wil dalk hierdie werk in te dien met beide LPBS en PBS / draaimomente wat met toepaslike instellings in lpbs.cfg, LPBS bied 'n identiese omgewing as LPBS.
#! / Bin / bash
#PBS -N Pbstest
#PBS -J Oe
#PBS L nodes = 1: PPN = 1
#PBS L walltime = 00: 00: 10
#PBS L mem = 10 MB
#PBS -o Pbstest.out
eggo "################################################ #### "
eggo "Gebruiker: $ PBS_O_LOGNAME"
eggo "Batch werk begin op $ PBS_O_HOST"
eggo "PBS werk id: $ PBS_JOBID"
eggo "PBS werk naam: $ PBS_JOBNAME"
eggo "PBS werk gids: $ PBS_O_WORKDIR"
eggo "Job het begin op" `hostname`` date`
eggo "huidige gids:" `pwd`
eggo "PBS omgewing: $ PBS_ENVIRONMENT"
eggo "################################################ #### "
eggo "################################################ #### "
eggo "Full Omgewing:"
printenv
eggo "################################################ #### "
eggo "van die werk is uitgevoer word op die volgende node:"
kat $ {PBS_NODEFILE}
eggo "################################################ ########## "
eggo "Job Klaar:" `date`
uitgang 0
Vereistes :
- Python
Kommentaar nie gevind