LPBS

Software screenshot:
LPBS
Software informatie:
Versie: 0.9.0
Upload datum: 15 Apr 15
Ontwikkelaar: Michael Goerz
Licentie: Gratis
Populariteit: 24

Rating: nan/5 (Total Votes: 0)

LPBS (Local Portable Batch System) is een hulpmiddel om PBS emuleren op een lokaal werkstation.
PBS / KOPPEL is een job scheduling systeem dat wordt gebruikt op vele high performance computing clusters. De LPBS pakket biedt tools waarmee PBS baan scripts uit te voeren op een lokaal werkstation. Concreet LPBS biedt de lqsub commando dat dezelfde opties als de PBS qMin commando neemt en loopt een baan script lokaal, in een omgeving die vrijwel identiek is aan een PBS / KOPPEL zou bieden. Het werk wordt uitgevoerd in de achtergrond en een baan ID worden toegewezen. In tegenstelling tot de PBS-systeem, zal LPBS geen plannen uit te voeren, maar zal gewoon op de gestelde taak uit te voeren. LPBS biedt verder tools waarmee lopende opdrachten te beheren.
installatie
LPBS kan installeren vanaf PyPi, met behulp
pip LPBS installeren
Als alternatief kan het pakket worden geïnstalleerd vanaf de bron met
python setup.py installeren
Configuratie
LPBS slaat al zijn configuratie en runtime gegevens in de map die in de omgevingsvariabele $ LPBS_HOME. Deze omgevingsvariabele moet worden gedefinieerd. De configuratie is in het dossier lpbs.cfg binnenkant $ LPBS_HOME. Als dit bestand niet bestaat wanneer een van de LPBS scripts worden uitgevoerd, zal een configuratiebestand met de volgende standaardwaarden worden gemaakt:
[Server]
# Volledige hostnaam van indiening server (hostname.domain). Zal beschikbaar worden gesteld
# Aan het runnen van baan door de omgevingsvariabele PBS_SERVER. Taakidentificaties zal eindigen
# In de server hostname
hostname: localhost
domain: lokale
[Knooppunt]
# Volledige hostnaam van de uitvoering knooppunt (hostname.domain). Zal beschikbaar worden gesteld
# Aan het runnen van baan door de omgevingsvariabele PBS_O_HOST. Sinds LPBS is
# Ontworpen om banen lokaal de instellingen hier uit te voeren, moeten in de regel
# Identiek aan die in de sectie [Server]
hostname: localhost
domain: lokale
[LPBS]
# Instelling voor uitvoeren van taken.
# Als 'username_in_jobid' is ingeschakeld, zal de taakidentificaties de vorm hebben
# 'Seqnr.user.hostname.domain' waar 'gebruiker' is de gebruikersnaam van de gebruiker
# Het indienen van de baan.
# Het bestand gegeven in 'sequence_file' wordt gebruikt voor het bijhouden van de 'seqnr'
# Te zien zijn in de job ID.
# Het bestand gegeven in 'logfile' wordt gebruikt voor het loggen van alle LPBS evenementen. Beide
# 'Sequence_file' en 'logfile' zijn ten opzichte van $ LPBS_HOME.
username_in_jobid: 0
sequence_file: sequentie
logfile: lpbs.log
[Scratch]
# Instellingen voor de scratch ruimte om banen. 'Scratch_root "definieert een
# Locatie waar banen tijdelijke gegevens moet schrijven. Indien gegeven als een relatief pad,
# Deze is gebaseerd $ LPBS_HOME. Omgevingsvariabelen zal worden uitgebreid naar de
# Tijd van de baan indienen.
# Als de waarde van # 'create_jobid_folder' is ingesteld op 1, een map met de naam van
# Het volledige baan ID is aangemaakt binnen scratch_root. Deze map wordt automatisch
# Verwijderd wanneer de baan eindigt, tenzij 'keep_scratch' is ingesteld op 1. Als de taak
# Mislukt, de kras worden niet verwijderd, tenzij 'delete_failed_scratch' is ingesteld
# 1.
scratch_root: $ SCRATCH_ROOT
create_jobid_folder: 0
keep_scratch: 0
delete_failed_scratch: 0
[Melding]
# Instellingen op hoe de gebruiker moet worden ingelicht worden over gebeurtenissen, zoals de start
# En het einde van een baan. Als sent_mail is ingesteld op 1, zal e-mails voor worden verzonden
# Meldingen afhankelijk van de waarde van de '-m' optie lqsub. Indien
# 'Send_growl' is ingesteld op 1, Growl (http://growl.info) wordt gebruikt voor notificatie
# Op MacOS X. Notificaties via Growl niet de '-m' opties rekening houden
# Tijdens sollicitatie indienen.
send_mail: 0
send_growl: 0
[E-mail]
# SMTP-instellingen voor e-mail notificaties. Notificatie e-mails worden verzonden uit
# Het adres dat de 'uit' optie. De SMTP-server gegeven in 'smtp' is
# Gebruikt voor het versturen van de e-mails, als "bekrachtigen" is ingesteld op 1, authenticatie is
# Gedaan met de gegeven 'gebruikersnaam' en 'wachtwoord'. Als 'tls' is 1, TLS-encryptie
# Worden gebruikt.
uit: nobody@example.org
smtp: smtp.example.com:587
gebruikersnaam: user
wachtwoord: geheim
authenticeren: 0
tls: 1
[Growl]
# Instellingen voor Growl meldingen. Meldingen worden verstuurd naar een van beide
# Localhost of een remote host via de GNTP protocol. De instelling 'hostname'
# Geeft het adres en de poort van de Growl-server, het gegeven 'wachtwoord' is
# Gebruikt voor authenticatie (mee dat als verzenden naar localhost, geen
# Authenticatie nodig is, en het wachtwoord moet leeg zijn). Indien
# 'Sticky' is ingesteld op 1, zal de Growl notificaties plakkerig zijn. Het is
# Mogelijk om meldingen te verzenden naar meer dan een gastheer. In dit geval zijn beide
# 'Hostname' en 'password' moeten een door komma's gescheiden lijst van waarden, met
# Elk item dat overeenkomt met een host. Bijv.
# Hostname: localhost, remotehost
# Wachtwoord:, geheim
hostname: localhost: 23053
wachtwoord:
sticky: 0
[Inloggen]
# "Logfile" geeft de naam van het centrale logbestand opzichte $ LPBS_HOME.
logfile: lpbs.log
Merk op dat als de standaard configuratie bestand wordt gebruikt, moet de omgevingsvariabele $ SCRATCH_ROOT worden gedefinieerd en de directory het wijst op zou moeten bestaan ​​en beschrijfbaar met alle gebruikers die taken zou kunnen dienen.
Voor een systeem-brede installatie, / var / lpbs is een geschikte locatie voor $ LPBS_HOME. De omgevingsvariabele kan worden ingesteld in /etc/bash.bashrc voor alle gebruikers. Voor een installatie in user space, wordt virtualenv aanbevolen.
Na de belangrijkste configuratiebestand, wordt het bestand $ HOME / .lpbs.cfg ook gelezen worden. Een gebruiker kan dit gebruiken om instellingen overschrijven in de systeemconfiguratie. Ten slotte is de qMin commando heeft ook een --config optie die het mogelijk maakt nog om aan te geven een extra config file te lezen.
Gebruik
LPBS bevat de scripts lqsub, lqstat en lqdel, die emuleren de PBS / koppel commando's, respectievelijk qMin, qstat en lqdel. De lqsub commando wordt gebruikt om banen, lqstat wordt gebruikt om informatie over het uitvoeren van opdrachten laten leggen, en lqdel wordt gebruikt om de lopende opdrachten af ​​te breken. Bijvoorbeeld:
Goerz @ localhost: ~> lqsub job.pbs
3.localhost.local
Goerz @ localhost: ~> lqstat
Job id Naam Gebruikers 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
De qMin commando is ontworpen om alle command line opties van de qMin commando begrijpen KOPPEL versie 2.18, behalve dat alle opties met betrekking tot het plannen van stilte worden genegeerd. Daarom moeten alle PBS baan script submittable zonder verandering. Voor meer informatie, lopen lqsub, lqstat, en lqdel met de optie --help, en / of kijk op het koppel handleiding.
Een Voorbeeld Job Script
Het volgende is een voorbeeld van een eenvoudige PBS baan script dat de volledige omgeving zal uitprinten die het werk ziet. U kunt aan deze taak wilt indienen, zowel met LPBS en PBS / KOPPEL om te verifiëren dat met de juiste instellingen in lpbs.cfg, LPBS biedt een identieke omgeving als 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 "Gebruiker: $ PBS_O_LOGNAME"
echo "Batch baan begon op $ PBS_O_HOST"
echo "PBS job id: $ PBS_JOBID"
echo "PBS naam beroep: $ PBS_JOBNAME"
echo "PBS working directory: $ PBS_O_WORKDIR"
echo "Job begon op" `hostname`` date`
echo "Huidige directory:" `pwd`
echo "PBS milieu: $ PBS_ENVIRONMENT"
echo "################################################ #### "
echo "################################################ #### "
echo "Full Milieu:"
printenv
echo "################################################ #### "
echo "De opdracht wordt uitgevoerd op de volgende knooppunt:"
cat $ {PBS_NODEFILE}
echo "################################################ ########## "
echo "Job Finished:" `date`
exit 0

Eisen

  • Python

Vergelijkbare software

MPICH
MPICH

11 May 15

ThinLinc
ThinLinc

20 Feb 15

clusterui
clusterui

14 Apr 15

JGroups
JGroups

26 Apr 16

Reacties op LPBS

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!