LPBS (Τοπική Φορητό σύστημα παρτίδας) είναι ένα εργαλείο για να μιμηθούν PBS σε τοπικό σταθμό εργασίας.
PBS / ροπή είναι ένα σύστημα προγραμματισμού εργασίας που χρησιμοποιείται σε πολλές υψηλές επιδόσεις συμπλέγματα υπολογιστών. Το πακέτο LPBS παρέχει εργαλεία για την εκτέλεση PBS σενάρια εργασίας σε τοπικό σταθμό εργασίας. Συγκεκριμένα, LPBS παρέχει την εντολή lqsub που παίρνει τις ίδιες επιλογές με την εντολή του PBS qsub και τρέχει ένα σενάριο εργασίας σε τοπικό επίπεδο, σε ένα περιβάλλον σχεδόν πανομοιότυπο με αυτό που PBS / ΡΟΠΗΣ θα παρέχουν. Η εργασία θα εκτελείται στο παρασκήνιο και να εκχωρηθεί ένα αναγνωριστικό εργασίας. Σε αντίθεση με το σύστημα PBS, LPBS δεν θα πραγματοποιήσει καμία προγραμματισμό, αλλά θα τρέξει απλά την δουλειά που του υποβλήθηκαν. LPBS παρέχει επιπλέον εργαλεία για τη διαχείριση τρέχει θέσεις εργασίας.
installation
LPBS μπορεί να εγκαταστήσει από PyPi, χρησιμοποιώντας
Pip εγκαταστήσετε LPBS
Εναλλακτικά, το πακέτο μπορεί να εγκατασταθεί από την πηγή με
python setup.py εγκαταστήσετε
Διαμόρφωση
LPBS αποθηκεύει όλα τα δεδομένα διαμόρφωσης και εκτέλεσης του στο φάκελο δόθηκε στη μεταβλητή περιβάλλοντος $ LPBS_HOME. Αυτή η μεταβλητή περιβάλλοντος πρέπει να καθοριστούν. Η διαμόρφωση είναι στην lpbs.cfg αρχείο μέσα στο $ LPBS_HOME. Αν αυτό το αρχείο δεν υπάρχει, όταν κανένα από τα σενάρια LPBS τρέχουν, ένα αρχείο ρυθμίσεων με τις ακόλουθες προεπιλεγμένες τιμές θα δημιουργηθεί:
[Διακομιστή]
# Πλήρες όνομα του εξυπηρετητή υποβολής (hostname.domain). Θα διατεθούν
# Να τρέχει εργασίας μέσω της μεταβλητής περιβάλλοντος PBS_SERVER. Αναγνωριστικά εργασίας θα τελειώσει
# Στο όνομα του διακομιστή
όνομα: localhost
Τομέας: τοπικές
[Κόμβος]
# Πλήρες όνομα του κόμβου εκτέλεσης (hostname.domain). Θα διατεθούν
# Να τρέχει εργασίας μέσω της μεταβλητής περιβάλλοντος PBS_O_HOST. Από LPBS είναι
# Σχεδιαστεί για να εκτελέσει εργασίες σε τοπικό επίπεδο, τις ρυθμίσεις εδώ θα πρέπει σε γενικές γραμμές να είναι
# Ταυτόσημα με εκείνα στο τμήμα [διακομιστή]
όνομα: localhost
Τομέας: τοπικές
[LPBS]
# Ρύθμιση για την εκτέλεση της εργασίας.
# Αν «username_in_jobid» είναι ενεργοποιημένη, τα αναγνωριστικά δουλειά θα έχει τη μορφή
# «Seqnr.user.hostname.domain» όπου «χρήστης» είναι το όνομα του χρήστη
# Υποβολή της εργασίας.
# Το αρχείο δίνεται σε «sequence_file» χρησιμοποιείται για την παρακολούθηση της «seqnr»
# Εμφανίζεται το αναγνωριστικό εργασίας.
# Το αρχείο δίνεται στο «αρχείο καταγραφής» χρησιμοποιείται για την καταγραφή όλων των συμβάντων LPBS. Και οι δύο
# «Sequence_file» και «αρχείο καταγραφής» είναι σε σχέση με $ LPBS_HOME.
username_in_jobid: 0
sequence_file: ακολουθία
αρχείο καταγραφής: lpbs.log
[Ξυστό]
# Ρυθμίσεις για την άδειος χώρος που προβλέπεται για τις θέσεις εργασίας. «Scratch_root» ορίζει ένα
# Τοποθεσία όπου οι θέσεις εργασίας θα πρέπει να γράψει προσωρινά δεδομένα. Εάν δίδεται ως σχετική διαδρομή,
# Είναι σε σχέση με $ LPBS_HOME. Οι μεταβλητές περιβάλλοντος θα επεκταθεί κατά τη
# Στιγμή της υποβολής της εργασίας.
# Αν η αξία του # «create_jobid_folder» έχει οριστεί σε 1, ένα φάκελο με το όνομα του
# Η πλήρης ταυτότητα εργασίας δημιουργείται μέσα scratch_root. Αυτός ο φάκελος είναι αυτόματα
# Διαγράφονται όταν ολοκληρωθεί η εργασία, εκτός αν «keep_scratch» έχει οριστεί σε 1. Εάν η εργασία
# Απέτυχε, το μηδέν δεν θα διαγραφούν, εκτός αν έχει οριστεί «delete_failed_scratch»
# 1 σε.
scratch_root: $ SCRATCH_ROOT
create_jobid_folder: 0
keep_scratch: 0
delete_failed_scratch: 0
[Κοινοποίηση]
# Ρυθμίσεις σχετικά με το πώς ο χρήστης θα πρέπει να κοινοποιούνται σχετικά με τα γεγονότα, όπως η έναρξη
# Και το τέλος της εργασίας. Αν sent_mail έχει οριστεί σε 1, τα μηνύματα ηλεκτρονικού ταχυδρομείου θα αποσταλεί για
# Ειδοποιήσεις ανάλογα με την αξία της «-Μ 'επιλογή να lqsub. Αν
# «Send_growl» έχει οριστεί σε 1, γκρινιάζω (http://growl.info) χρησιμοποιείται για την κοινοποίηση
# Στο MacOS X. Ειδοποιήσεις μέσω γκρινιάζω δεν λαμβάνουν υπόψη τις «-μ 'επιλογές
# Κατά την υποβολή εργασίας.
send_mail: 0
send_growl: 0
[Mail]
# Τις ρυθμίσεις SMTP για ειδοποιήσεις μέσω ηλεκτρονικού ταχυδρομείου. Ειδοποίηση e-mail θα σταλεί από
# Η διεύθυνση δίνεται από το "από" επιλογή. Ο διακομιστής SMTP δίνονται σε «SMTP» είναι
# Χρησιμοποιείται για την αποστολή των e-mail, αν «πιστοποιούν» που έχει οριστεί σε 1, ο έλεγχος ταυτότητας είναι
# Γίνει με το δεδομένο «όνομα χρήστη» και «κωδικό πρόσβασης». Αν «TLS» είναι 1, κρυπτογράφηση TLS
# Θα χρησιμοποιηθει.
από: nobody@example.org
SMTP: smtp.example.com:587
όνομα χρήστη: χρήστης
Κωδικός: μυστικό
ταυτότητας: 0
TLS: 1
[Γκρινιάζω]
# Ρυθμίσεις για τις κοινοποιήσεις γκρινιάζω. Οι κοινοποιήσεις που έστειλαν είτε
# Localhost ή ένα απομακρυσμένο υπολογιστή μέσω του πρωτοκόλλου GNTP. Η ρύθμιση «όνομα»
# Δίνει τη διεύθυνση και τη θύρα του διακομιστή γκρινιάζω, το δεδομένο «κωδικό πρόσβασης» είναι
# Χρησιμοποιείται για τον έλεγχο ταυτότητας (σημειώστε ότι εάν στέλνετε σε localhost, δεν
# Ταυτότητας είναι απαραίτητη, καθώς και ο κωδικός πρόσβασης πρέπει να είναι άδειο). Αν
# «Κολλώδες» έχει οριστεί σε 1, οι κοινοποιήσεις γκρινιάζω θα είναι κολλώδης. Αυτό είναι
# Δυνατό για την αποστολή ειδοποιήσεων σε περισσότερους από έναν ξενιστή. Σε αυτή την περίπτωση, και οι δύο
# «Όνομα» και «κωδικό πρόσβασης» θα πρέπει να είναι μια λίστα διαχωρισμένη με κόμμα των αξιών, με
# Κάθε στοιχείο αντιστοιχεί σε ένα ξενιστή. Π.χ.
# Όνομα: localhost, remotehost
# Κωδικός:, μυστικό
όνομα: localhost: 23053
Κωδικός:
Υπόμνημα: 0
[Σύνδεση]
# «Αρχείο καταγραφής» δίνει το όνομα του κεντρικού αρχείου καταγραφής, σε σχέση με $ LPBS_HOME.
αρχείο καταγραφής: lpbs.log
Σημειώστε ότι εάν χρησιμοποιείται η προεπιλεγμένη αρχείο ρυθμίσεων, η μεταβλητή περιβάλλοντος $ SCRATCH_ROOT πρέπει να οριστεί και ο κατάλογος που δείχνει να υπάρχει και να είναι διαθέσιμος για όλους τους χρήστες οι οποίοι θα μπορούσαν να υποβάλουν τις θέσεις εργασίας.
Για εγκατάσταση σε όλο το σύστημα, / var / lpbs είναι μια κατάλληλη θέση για $ LPBS_HOME. Η μεταβλητή περιβάλλοντος μπορεί να ρυθμιστεί σε /etc/bash.bashrc για όλους τους χρήστες. Για μια εγκατάσταση στον χώρο του χρήστη, virtualenv συνιστάται.
Μετά το κύριο αρχείο ρυθμίσεων, το αρχείο $ HOME / .lpbs.cfg θα πρέπει επίσης να διαβάσετε. Ένας χρήστης μπορεί να χρησιμοποιήσει αυτό για να παρακάμψετε τις ρυθμίσεις στην διαμόρφωση του συστήματος. Τέλος, η εντολή qsub διαθέτει επίσης ένα --config επιλογή που σας επιτρέπει να ορίσετε ακόμη ένα πρόσθετο αρχείο config για να διαβάσετε.
Χρήση
LPBS περιέχει τα σενάρια lqsub, lqstat, και lqdel, που εξομοιώνουν το PBS / ΡΟΠΗΣ εντολές qsub, qstat, και lqdel, αντίστοιχα. Η εντολή lqsub χρησιμοποιείται για να υποβάλουν τις θέσεις εργασίας, lqstat χρησιμοποιείται για να δείξει πληροφορίες σχετικά με την εκτέλεση της απασχόλησης, και lqdel χρησιμοποιείται για να εγκαταλείψετε τη λειτουργία θέσεων εργασίας. Για παράδειγμα:
GOERZ @ localhost: ~> lqsub job.pbs
3.localhost.local
GOERZ @ localhost: ~> lqstat
Id Εργασίας Όνομα χρήστη Walltime
-------------------- --------------- --------------- ---------------
3.localhost.local pbstest GOERZ 0:00:22
GOERZ @ localhost: ~> lqstat -f 3.localhost.local
Id εργασίας: 3.localhost.local
& Nbsp? Job_Name = pbstest
& Nbsp? Job_Owner = GOERZ
& Nbsp? Εξυπηρετητή = 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 = 0:00:43
GOERZ @ localhost: ~> lqdel 3.localhost.local
Η εντολή qsub έχει σχεδιαστεί για να κατανοήσουν όλες τις επιλογές της γραμμής εντολών της εντολής qsub στη ροπή έκδοση 2.18, εκτός από το ότι όλες οι επιλογές που σχετίζονται με τον προγραμματισμό σιωπηλά αγνοούνται. Ως εκ τούτου, όλα τα PBS σενάριο εργασίας πρέπει να είναι submittable χωρίς αλλαγή. Για λεπτομέρειες, τρέχει lqsub, lqstat, και lqdel με την επιλογή --help, ή / και να κοιτάξουμε το εγχειρίδιο ροπής.
Ένα παράδειγμα εργασιακή Script
Το ακόλουθο είναι ένα παράδειγμα μιας απλής PBS σενάριο εργασίας που θα εκτυπώσει το πλήρες γραφικό περιβάλλον ότι η δουλειά βλέπει. Μπορεί να θέλετε να υποβάλουν αυτή τη δουλειά τόσο με LPBS και PBS / ροπή για να βεβαιωθείτε ότι με τις κατάλληλες ρυθμίσεις στο lpbs.cfg, LPBS παρέχει το ίδιο περιβάλλον ως LPBS.
#! / Bin / bash
#PBS -Ν Pbstest
#PBS -j Oe
#PBS -l Κόμβους = 1: ppn = 1
#PBS -l Walltime = 00: 00: 10
#PBS -l Mem = 10MB
#PBS -o Pbstest.out
echo "################################################ #### "
echo "Χρήστης: $ PBS_O_LOGNAME"
echo "μαζική εργασία ξεκίνησε στις $ PBS_O_HOST"
echo "PBS id εργασίας: $ PBS_JOBID"
echo "PBS όνομα εργασίας: $ PBS_JOBNAME"
echo "κατάλογο PBS εργασίας: $ PBS_O_WORKDIR"
echo "ξεκινήσει την εργασία με θέμα" `` πρόσφατη ημερομηνία hostname`
echo "Current directory:" `pwd`
echo "PBS περιβάλλον: $ PBS_ENVIRONMENT"
echo "################################################ #### "
echo "################################################ #### "
echo "Πλήρης Περιβάλλον:"
printenv
echo "################################################ #### "
echo "Η δουλειά είναι να εκτελεστεί την επόμενη κόμβο:"
γάτα $ {PBS_NODEFILE}
echo "################################################ ########## "
"τελειώσουν την εργασία:« ηχώ `πρόσφατη ημερομηνία
exit 0
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε