lsb.resources

Die Datei lsb.resources enthält Konfigurationsdaten für Ressourcenzuordnungslimits, Exporte, Ressourcennutzungslimits und Gewährleistungsrichtlinien. Diese Datei ist optional.

Die Datei lsb.resources wird im Verzeichnis LSB_CONFDIR/cluster_name/configdirgespeichert, wobei LSB_CONFDIR in der Datei lsf.conf definiert ist.

Konfiguration von lsb.resources ändern

Nachdem Sie die Datei lsb.resources geändert haben, führen Sie badmin reconfig aus, um mbatchdneu zu konfigurieren.

#include

Syntax

#INCLUDE "path-to-file"

Beschreibung

Fügt eine Konfigurationseinstellung aus einer anderen Datei an der aktuellen Position ein Mit dieser Anweisung können Sie die Steuerung eines Teils der Konfiguration anderen Benutzern oder Benutzergruppen zuweisen, indem Sie bestimmten Benutzern oder Benutzergruppen Schreibzugriff auf die eingeschlossene Datei erteilen und die Konsistenz der Konfigurationsdateieinstellungen in verschiedenen Clustern sicherstellen (wenn Sie die LSF-Mehrfachclusterfunktionverwenden).

Weitere Informationen finden Sie unter "Inhalt der gemeinsam genutzten Konfigurationsdatei ".

#INCLUDE kann überall in der lokalen Konfigurationsdatei eingefügt werden.

Standard

Nicht definiert.

Abschnitt 'Begrenzung'

Im Abschnitt Limit werden Grenzwerte für die maximale Menge der angegebenen Ressourcen festgelegt, die verfügbar sein müssen, damit verschiedene Klassen von Jobs gestartet werden können, und für welche Ressourcenkonsumenten die Grenzwerte gelten. Grenzwerte werden während der Jobressourcenzuordnung durchgesetzt.
Tipp:

Damit Grenzwerte erzwungen werden, müssen Jobs den Ressourcenbedarf rusage angeben (bsub -R oder RES_REQ in lsb.queues).

Der Befehl blimits zeigt die aktuelle Nutzung der Ressourcenzuordnungslimits an, die in den Abschnitten Limit in lsb.resourceskonfiguriert sind:

Abschnittsstruktur begrenzen

Jede Gruppe von Grenzwerten wird in einem Abschnitt Limit definiert, der von Begin Limit und End Limiteingeschlossen wird.

Ein Abschnitt Limit hat zwei Formate:
  • Vertikal tabellarisch
  • Waagerecht

Die Datei kann Abschnitte in beiden Formaten enthalten. In beiden Formaten müssen Sie einen Grenzwert für mindestens einen Konsumenten und eine Ressource konfigurieren. Der Abschnitt Limit darf nicht leer sein.

Vertikales Tabellenformat

Verwenden Sie das vertikale Format für einfache Konfigurationsbedingungen, an denen nur wenige Konsumenten und Ressourcengrenzwerte beteiligt sind.

Die erste Zeile besteht aus einem optionalen Namen und den folgenden Schlüsselwörtern für:
  • Ressourcentypen:
    • Jobslots (SLOTS) und Jobslots pro Prozessor (SLOTS_PER_PROCESSOR).
    • Speicher (MEM) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist
    • Auslagerungsspeicher (SWP) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist.
    • Temporärer Speicherbereich (TMP) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist.
    • Aktive und ausgesetzte Jobs (RUN, SSUSP, USUSP) (JOBS).
    • Andere gemeinsam genutzte Ressourcen (RESOURCE)
  • Konsumententypen
    • Anwendungen (APPS oder PER_APP).
    • Warteschlangen (QUEUES oder PER_QUEUE).
    • Hosts und Hostgruppen (HOSTS oder PER_HOST).
    • Benutzer und Benutzergruppen (USERS oder PER_USER).
    • Projekte (PROJECTS oder PER_PROJECT).
    • LSF License Scheduler -Projekte (LIC_PROJECTS oder PER_LIC_PROJECT).
Jede nachfolgende Zeile beschreibt die Konfigurationsinformationen für Ressourcenkonsumenten und die für sie geltenden Grenzwerte. Jede Zeile muss einen Eintrag für jedes Schlüsselwort enthalten. Verwenden Sie leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.
Tipp:

Mehrere Einträge müssen in runde Klammern eingeschlossen werden. Für RESOURCE-Grenzwerte müssen RESOURCE-Namen in runde Klammern eingeschlossen werden.

Horizontales Format

Verwenden Sie das horizontale Format, um einen Namen für Ihre Grenzwerte anzugeben und komplexere Kombinationen von Konsumenten und Ressourcengrenzwerten zu konfigurieren.

Die erste Zeile des Abschnitts Limit enthält den Namen der Grenzwertkonfiguration.

Jede nachfolgende Zeile im Abschnitt Limit besteht aus Schlüsselwörtern, die die Ressourcengrenzwerte angeben:
  • Jobslots (SLOTS) und Jobslots pro Prozessor (SLOTS_PER_PROCESSOR).
  • Speicher (MEM) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist
  • Auslagerungsspeicher (SWP) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist.
  • Temporärer Speicherbereich (TMP) in MB oder die Einheit, die im Parameter LSF_UNIT_FOR_LIMITS in der Datei lsf.conf festgelegt ist.
  • Aktive und ausgesetzte Jobs (RUN, SSUSP, USUSP) (JOBS).
  • Andere gemeinsam genutzte Ressourcen (RESOURCE)
und die Konsumenten der Ressource, für die die Grenzwerte gelten:
  • Anwendungen (APPS oder PER_APP).
  • Warteschlangen (QUEUES oder PER_QUEUE).
  • Hosts und Hostgruppen (HOSTS oder PER_HOST).
  • Benutzer und Benutzergruppen (USERS oder PER_USER).
  • Projekte (PROJECTS oder PER_PROJECT).
  • LSF License Scheduler -Projekte (LIC_PROJECTS oder PER_LIC_PROJECT).

Beispiel: Vertikales Tabellenformat

In der folgenden Grenzwertkonfiguration:
  • Jobs vonuser1unduser3sind auf 2 Jobzeitfenster aufhostA
  • Jobs vonuser2In der Warteschlangenormalsind auf 20 MB Speicher oder die in LSF_UNIT_FOR_LIMITS in lsf.conffestgelegte Einheit begrenzt.
  • Die kurze Warteschlange kann maximal 200 aktive und ausgesetzte Jobs enthalten.
Begin Limit
NAME    USERS           QUEUES   HOSTS     SLOTS  MEM   SWP  TMP  JOBS
limit1  (user1 user3)    -       hostA     2       -     -    -     -
 -       user2           normal       -     -      20     -    -     -
 -       -               short        -     -       -     -    -    200
End Limit

Jobs, die diesen Grenzwerten nicht entsprechen, d. h. alle Benutzer außeruser1unduser3Jobs ausführenhostAund alle Benutzer außeruser2Jobs an Warteschlange übergebennormalhaben keine Grenzen.

Beispiel: Horizontales Format

Alle Benutzer in Benutzergruppeugroup1mit Ausnahmeuser1verwendenqueue1undqueue2und Jobs auf Hosts in Hostgruppe ausführenhgroup1sind auf 2 Jobbereiche pro Prozessor auf jedem Host beschränkt:
Begin Limit 
# ugroup1 except user1 uses queue1 and queue2 with 2 job slots 
# on each host in hgroup1 
NAME          = limit1 
# Resources 
SLOTS_PER_PROCESSOR = 2 
#Consumers
QUEUES       = queue1 queue2 
USERS        = ugroup1 ~user1 
PER_HOST     = hgroup1 
End Limit

Kompatibilität mit lsb.queues, lsb.usersund lsb.hosts

Der Abschnitt Limit unterstützt die in lsb.users, lsb.hostsund lsb.queuesverwendeten Schlüsselwörter oder Formate nicht. Die vorhandene Konfiguration der Jobslotbegrenzung in diesen Dateien gilt jedoch weiterhin.

Jobslotbegrenzungen sind der einzige Typ von Begrenzung, den Sie in lsb.users, lsb.hostsund lsb.queueskonfigurieren können. Sie können keine Grenzwerte für Benutzergruppen, Hostgruppen und Projekte in lsb.users, lsb.hostsund lsb.queueskonfigurieren. Sie sollten keine neuen Ressourcenzuordnungsgrenzwerte in lsb.users, lsb.hostsund lsb.queueskonfigurieren. Verwenden Sie diesen Abschnitt, um alle neuen Ressourcenzuordnungslimits, einschließlich Jobslotlimits, zu konfigurieren. Grenzwerte für aktive und ausgesetzte Jobs können in diesem Abschnitt nur festgelegt werden.

Vorhandene Grenzwerte in lsb.users, lsb.hostsund lsb.queues mit demselben Geltungsbereich wie ein neuer Grenzwert in diesem Abschnitt, aber mit einem anderen Wert werden ignoriert. Der Wert des neuen Grenzwerts in diesem Abschnitt wird verwendet. Ähnliche Grenzwerte mit unterschiedlichem Geltungsbereich erzwingen den restriktivsten Grenzwert.

Parameter

  • APPS
  • ELIGIBLE_PEND_JOBS
  • HOSTS
  • INELIGIBLE
  • JOBS
  • JOBS_PER_SCHED_CYCLE
  • MEM
  • NAME
  • PER_APP
  • PER_HOST
  • PER_PROJECT
  • PER_QUEUE
  • PER_USER
  • PROJECTS
  • QUEUES
  • RESOURCE
  • SLOTS
  • SLOTS_PER_PROCESSOR
  • SWP
  • TMP
  • USERS

APPS

Der Parameter APPS begrenzt die Anwendungsprofile.

Syntax

APPS=all [~]Anwendungsprofilname

APPS

( [-] | all [~]Name_des_Anwendungsprofils ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste mit Anwendungsprofilnamen, für die Grenzwerte durchgesetzt werden. Die Grenzwerte werden für alle aufgelisteten Anwendungsprofile durchgesetzt.

Die Liste muss gültige Anwendungsprofilnamen enthalten, die in lsb.applicationsdefiniert sind.

Verwenden Sie das Schlüsselwort PER_APP , um einen Grenzwert pro Anwendung anzugeben. Konfigurieren Sie die Grenzwerte für APPS und PER_APP nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine APPS-Zeile pro Abschnitt Limit .

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für alle Anwendungen in einem Cluster gelten.

Verwenden Sie den Nicht-Operator (~), um Anwendungen aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Anwendungen haben, aber nur wenige Anwendungen aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Anwendungsprofilnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_APP oder APPSkein Grenzwert angegeben ist, wird für jedes Anwendungsprofil kein Grenzwert erzwungen.

Beispiel

APPS=appA appB

FÖRDERFÄHIGE_AUSGESETZTE_JOBS

Der Parameter ELIGIBLE_PEND_JOBS begrenzt die Anzahl der in Frage kommenden Aufträge, die für den Versand berücksichtigt werden.

Syntax

ELIGIBLE_PEND_JOBS=Ganzzahl

Beschreibung

Die maximale Anzahl auswählbarer Jobs, die für die Zuteilung in einem einzelnen Planungszyklus berücksichtigt werden. Geben Sie eine positive ganze Zahl oder 0 an. Dieser Parameter kann nur mit den folgenden Konsumententypen verwendet werden:

  • USERS oder PER_USER
  • QUEUES oder PER_QUEUE

Die Gruppe all oder eine Gruppe, die allenthält, wird nicht unterstützt.

Der Grenzwert wird für alle anderen definierten Konsumententypen ignoriert.

Gültige Werte

Eine beliebige positive ganze Zahl oder 0

Standard

Keine Begrenzung

Beispiel

ELIGIBLE_PEND_JOBS=10

HOSTS

Syntax

HOSTS=all [~]Hostname ... | all [~]Hostgruppe ...

HOSTS

( [-] | all [~]hostname ... | all [~]hostgruppe ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von Hosts und Hostgruppen, die in lsb.hosts definiert sind und für die Grenzwerte erzwungen werden. Die Grenzwerte werden für alle aufgelisteten Hosts oder Hostgruppen durchgesetzt.

Wenn eine Gruppe eine Untergruppe enthält, gilt der Grenzwert auch für jedes Member in der Untergruppe rekursiv.

Verwenden Sie das Schlüsselwort PER_HOST , um einen Grenzwert pro Host anzugeben. Konfigurieren Sie die Grenzwerte für HOSTS und PER_HOST nicht im selben Abschnitt Limit .

Wenn Sie MEM, TMPoder SWP als Prozentsatz angeben, müssen Sie PER_HOST angeben und die Hosts auflisten, auf denen der Grenzwert durchgesetzt werden soll. Sie können HOSTSnicht angeben.

Verwenden Sie im horizontalen Format nur eine HOSTS Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für alle Hosts in einem Cluster gelten.

Verwenden Sie den Operator 'not' (~), um Hosts aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie einen großen Cluster haben, aber nur wenige Hosts aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Hostnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

all (Grenzwerte werden auf allen Hosts im Cluster durchgesetzt).

Beispiel 1

HOSTS=Group1 ~hostA hostB hostC

Erzwingt Begrenzungen fürhostB,hostCund alle Hosts inGroup1mit Ausnahme vonhostA.

Beispiel 2

HOSTS=all ~group2 ~hostA

Erzwingt Grenzwerte für alle Hosts im Cluster mit Ausnahme vonhostAund die Hosts ingroup2.

Beispiel 3

HOSTS         SWP (all ~hostK ~hostM)           10

Erzwingt einen Auslagerungsgrenzwert von 10 MB (oder die in LSF_UNIT_FOR_LIMITS in lsf.conffestgelegte Einheit) auf allen Hosts im Cluster, mit Ausnahme vonhostKundhostM

NICHT auswählbar

Der Parameter INELIGIBLE verwaltet nicht förderfähige Aufträge.

Syntax

INELIGIBLE=Y|y|N|n

Beschreibung

Wenn im Abschnitt Limit der Wert 'y' oder 'Y' angegeben ist und der Job aufgrund dieses Grenzwerts nicht terminiert werden kann, versetzt der LSF-Scheduler den Job in den Status 'Nicht auswählbar anstehend'. LSF berechnet die nicht auswählbare Wartezeit für diesen Job und die Priorität des Jobs wird nicht erhöht.
Hinweis Die folgenden Begrenzungstypen sind mit dem Parameter INELIGIBLE kompatibel: JOBS, USERS, PER_USER, QUEUES, PER_QUEUE, PROJECTS, PER_PROJECT, LIC_PROJECTSund PER_LIC_PROJECT.

Standard

INELIGIBLE=N

Beispiel

INELIGIBLE=Y

JOBS

Der Parameter JOBS begrenzt die Anzahl der Aufträge, die den Ressourcenverbrauchern zur Verfügung stehen.

Syntax

JOBS=Ganzzahl

JOBS

- | Ganzzahl

Beschreibung

Maximale Anzahl Jobs, die für Ressourcenkonsumenten verfügbar sind, einschließlich aktiver oder ausgesetzter Jobs (RUN, SSUSP, USUSP) sowie Jobs, die Slots reserviert haben, aber noch anstehen. Geben Sie eine positive ganze Zahl größer-gleich 0 an. Jobbegrenzungen können sowohl im vertikalen als auch im horizontalen Begrenzungsformat definiert werden.

Wenn die Vorableerung aktiviert ist, blockiert der Grenzwert JOBS die Vorableerung nicht auf der Basis von Slots.

Bei Modellen mit Mehrfachclusterressourcen gilt dieser Grenzwert nur für lokale Hosts, die vom lokalen Cluster verwendet werden. Die Jobbegrenzung für Hosts, die in einen fernen Cluster exportiert wurden, wird durch die Hostexportrichtlinie und nicht durch diesen Parameter bestimmt. Die Jobbegrenzung für ausgeliehene Hosts wird durch die Hostexportrichtlinie des fernen Clusters bestimmt.

Wenn SLOTS im Abschnitt Limit konfiguriert sind, wird der restriktivste Grenzwert angewendet.

Wenn HOSTS im Abschnitt Limit konfiguriert sind, ist JOBS die Anzahl der aktiven und ausgesetzten Jobs auf dem Host. Wenn die präventive Terminierung verwendet wird, werden die ausgesetzten Jobs nicht für die Jobbegrenzung gezählt.

Mit diesem Parameter können Sie verhindern, dass ein Host durch zu viele Jobs überlastet wird, und den Durchsatz einer Maschine maximieren.

Wenn nur QUEUES im Abschnitt Limit konfiguriert sind, ist JOBS die maximale Anzahl Jobs, die in den aufgelisteten Warteschlangen ausgeführt werden können.

Wenn nur USERS im Abschnitt Limit konfiguriert sind, ist JOBS die maximale Anzahl der Jobs, die die Benutzer oder Benutzergruppen ausführen dürfen.

Wenn nur HOSTS im Abschnitt Limit konfiguriert sind, ist JOBS die maximale Anzahl Jobs, die auf den aufgelisteten Hosts ausgeführt werden können.

Wenn nur PROJECTS im Abschnitt Limit konfiguriert sind, ist JOBS die maximale Anzahl Jobs, die unter den aufgelisteten Projekten ausgeführt werden können.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE, USERS oder PER_USER, HOSTS oder PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um die für Ressourcenkonsumenten verfügbaren Jobs weiter zu begrenzen.

Verwenden Sie im horizontalen Format nur eine JOBS Zeile pro Limit Abschnitt.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Standard

Keine Begrenzung

Beispiel

JOBS=20

JOBS_PRO_SCHED_CYCLE

Der Parameter JOBS_PER_SCHED_CYCLE wird nur aus Gründen der Abwärtskompatibilität unterstützt. Verwenden Sie stattdessen ELIGIBLE_PEND_JOBS .

Syntax

JOBS_PER_SCHED_CYCLE=Ganzzahl

Beschreibung

Verwenden Sie stattdessen ELIGIBLE_PEND_JOBS. Dieser Parameter wird nur aus Gründen der Abwärtskompatibilität beibehalten.

Maximale Anzahl von Jobs, die für die Zuteilung in einem einzigen Planungszyklus berücksichtigt werden. Geben Sie eine positive ganze Zahl oder 0 an. Dieser Parameter kann nur mit den folgenden Konsumententypen verwendet werden:

  • USERS oder PER_USER
  • QUEUES oder PER_QUEUE

Die Gruppe all oder eine Gruppe, die allenthält, wird nicht unterstützt.

Der Grenzwert wird für alle anderen definierten Konsumententypen ignoriert.

Gültige Werte

Eine beliebige positive ganze Zahl oder 0

Standard

Keine Begrenzung

Beispiel

JOBS_PER_SCHED_CYCLE=10

LIZENZPROJEKTE

Der Parameter LIC_PROJECTS begrenzt Projekte.

Syntax

LIC_PROJECTS=all [~]Lizenzprojektname ...

LIC_PROJECTS

( [-] | all [~]Lizenzprojektname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von LSF License Scheduler -Projektnamen, für die Grenzwerte durchgesetzt werden. Für alle aufgelisteten Projekte werden Grenzwerte durchgesetzt. Jeder Projektname kann bis zu 511 Zeichen lang sein.

Verwenden Sie das Schlüsselwort PER_LIC_PROJECT , um einen Grenzwert pro Projekt anzugeben. Konfigurieren Sie die Grenzwerte für LIC_PROJECTS und PER_PROJECT nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine LIC_PROJECTS Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für alle Projekte in einem Cluster gelten.

Verwenden Sie den Nicht-Operator (~), um Projekte aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Projekten haben, aber nur wenige Projekte aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Projektnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

all (Grenzwerte werden für alle Projekte im Cluster durchgesetzt)

Beispiel

LIC_PROJECTS=licprojA licprojB

MEM

Der Parameter MEM begrenzt die Menge des verfügbaren Speichers.

Syntax

MEM=Ganzzahl[%]

MEM

- | Ganzzahl[%]

Beschreibung

Maximale Speicherkapazität, die Ressourcenkonsumenten zur Verfügung steht. Geben Sie einen Wert in MB oder die in LSF_UNIT_FOR_LIMITS in lsf.conf festgelegte Einheit als positive ganze Zahl größer-gleich 0 an.

Der Abschnitt Limit wird ignoriert, wenn MEM als Prozentsatz ohne PER_HOSToder mit HOSTSangegeben wird.

Verwenden Sie im horizontalen Format nur eine MEM Zeile pro Limit Abschnitt.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Wenn nur QUEUES im Abschnitt Limit konfiguriert sind, muss MEM ein ganzzahliger Wert sein. MEM ist die maximale Speicherkapazität, die für die aufgelisteten Warteschlangen verfügbar ist.

Wenn nur USERS im Abschnitt Limit konfiguriert sind, muss MEM ein ganzzahliger Wert sein. MEM ist die maximale Speicherkapazität, die die Benutzer oder Benutzergruppen verwenden können.

Wenn nur HOSTS im Abschnitt Limit konfiguriert sind, muss MEM ein ganzzahliger Wert sein. Es darf kein Prozentsatz sein. MEM ist die maximale Speicherkapazität, die den aufgelisteten Hosts zur Verfügung steht.

Wenn nur PROJECTS im Abschnitt Limit konfiguriert sind, muss MEM ein ganzzahliger Wert sein. MEM ist die maximale Speicherkapazität, die für die aufgelisteten Projekte verfügbar ist.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE, USERS oder PER_USER, HOSTS oder PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um den verfügbaren Speicher für Ressourcenkonsumenten weiter zu begrenzen.

Standard

Keine Begrenzung

Beispiel

MEM=20

Name

Der Parameter MEM legt die Regeln für den Namen des Abschnitts Limit fest.

Syntax

NAME=Grenzwertname

NAME

- | Grenzwertname

Beschreibung

Name des Bereichs Limit .

Geben Sie eine beliebige ASCII-Zeichenfolge mit maximal 40 Zeichen an. Sie können Buchstaben, Ziffern, Unterstreichungszeichen (_) oder Gedankenstriche (-) verwenden. Sie können keine Leerzeichen verwenden.

Wenn doppelte Grenzwertnamen definiert sind, wird der Abschnitt Limit ignoriert. Wenn der Wert von NAME nicht im vertikalen Format oder als (-) definiert ist, wird blimtis angezeigt.NONAMEnnn.

Standard

Keine. Im horizontalen Format müssen Sie einen Namen für den Abschnitt Limit angeben. NAME ist im vertikalen Format optional.

Beispiel

NAME=short_limits

PER_APP

Syntax

PER_APP=all [~]Name_des_Anwendungsprofils ..

PER_APP

( [-] | all [~]Name_des_Anwendungsprofils ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste mit Anwendungsprofilnamen, für die Grenzwerte durchgesetzt werden. Grenzwerte werden für Jobs erzwungen, die an jedes aufgelistete Anwendungsprofil übergeben werden.

Konfigurieren Sie die Grenzwerte für PER_APP und APPS nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_APP Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für jede Anwendung in einem Cluster gelten.

Verwenden Sie den Nicht-Operator (~), um Anwendungen aus der Spezifikation all im Grenzwert auszuschließen.

Im vertikalen Tabellenformat müssen mehrere Anwendungsprofilnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_APP oder APPSkein Grenzwert angegeben ist, wird für jedes Anwendungsprofil kein Grenzwert erzwungen.

Beispiel

PER_APP=app1 app2

PER_HOST

Syntax

PER_HOST=all [~]Hostname ... | all [~]Hostgruppe ...

PER_HOST

( [-] | all [~]hostname ... | all [~]hostgruppe ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste mit Hosts oder Hostgruppen, die in lsb.hosts definiert sind und für die Grenzwerte durchgesetzt werden. Grenzwerte werden auf jedem Host oder einzeln für jeden Host der aufgelisteten Hostgruppe durchgesetzt. Wenn eine Gruppe eine Untergruppe enthält, gilt der Grenzwert auch für jedes Member in der Untergruppe rekursiv.

Konfigurieren Sie die Grenzwerte für PER_HOST und HOSTS nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_HOST Zeile pro Limit Abschnitt.

Wenn Sie MEM, TMPoder SWP als Prozentsatz angeben, müssen Sie PER_HOST angeben und die Hosts auflisten, auf denen der Grenzwert durchgesetzt werden soll. Sie können HOSTSnicht angeben.

Verwenden Sie das Schlüsselwort all , um Grenzwerte zu konfigurieren, die für jeden Host in einem Cluster gelten. Wenn Hostgruppen konfiguriert sind, gilt der Grenzwert für jedes Mitglied der Hostgruppe, nicht für die Gruppe als Ganzes.

Mit dem Operator 'not' (~) können Sie Hosts oder Hostgruppen aus der Spezifikation all im Grenzwert ausschließen. Dies ist nützlich, wenn Sie einen großen Cluster haben, aber nur wenige Hosts aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Hostnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_HOST oder HOSTkein Grenzwert angegeben ist, wird kein Grenzwert für einen Host oder eine Hostgruppe erzwungen.

Beispiel

PER_HOST=hostA hgroup1 ~hostC

PER_LIC_PROJEKT

Syntax

PER_LIC_PROJECT=all [~]Lizenzprojektname ...

PER_LIC_PROJECT

( [-] | all [~]Lizenzprojektname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von LSF License Scheduler -Projektnamen, für die Grenzwerte durchgesetzt werden. Für jedes aufgelistete Projekt werden Grenzwerte durchgesetzt. Jeder Projektname kann bis zu 511 Zeichen lang sein.

Konfigurieren Sie die Grenzwerte für PER_LIC_PROJECT und LIC_PROJECTS nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_LIC_PROJECT -Zeile pro Abschnitt "Limit".

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für jedes LSF License Scheduler -Projekt in einem Cluster gelten.

Verwenden Sie den Operator 'not' (~), um LSF License Scheduler -Projekte aus der Spezifikation all im Grenzwert auszuschließen.

Im vertikalen Tabellenformat müssen mehrere Projektnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_LIC_PROJECT oder LIC_PROJECTSkein Grenzwert angegeben ist, wird für jedes LSF License Scheduler -Projekt kein Grenzwert erzwungen.

Beispiel

PER_PROJECT=licproj1 licproj2

PRO PROJEKT

Syntax

PER_PROJECT=all [~]Projektname

PER_PROJECT

( [-] | all [~]Projektname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von Projektnamen, für die Grenzwerte erzwungen werden. Für jedes aufgelistete Projekt werden Grenzwerte durchgesetzt. Jeder Projektname kann bis zu 511 Zeichen lang sein.

Konfigurieren Sie die Grenzwerte für PER_PROJECT und PROJECTS nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_PROJECT Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für jedes Projekt in einem Cluster gelten sollen.

Verwenden Sie den Nicht-Operator (~), um Projekte aus der Spezifikation all im Grenzwert auszuschließen.

Im vertikalen Tabellenformat müssen mehrere Projektnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_PROJECT oder PROJECTSkein Grenzwert angegeben ist, wird für jedes Projekt kein Grenzwert erzwungen.

Beispiel

PER_PROJECT=proj1 proj2

PER_QUEUE

Syntax

PER_QUEUE=all [~]Warteschlangenname ..

PER_QUEUE

( [-] | all [~]Warteschlangenname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von Warteschlangennamen, für die Grenzwerte durchgesetzt werden. Es werden Grenzwerte für Jobs erzwungen, die an jede aufgelistete Warteschlange übergeben werden.

Konfigurieren Sie die Grenzwerte für PER_QUEUE und QUEUES nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_QUEUE Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für jede Warteschlange in einem Cluster gelten.

Verwenden Sie den Operator 'not' (~), um Warteschlangen aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Warteschlangen haben, aber nur wenige Warteschlangen aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Warteschlangennamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_QUEUE oder QUEUESkein Grenzwert angegeben ist, wird für keine Warteschlange ein Grenzwert erzwungen.

Beispiel

PER_QUEUE=priority night

PER_Benutzer

Syntax

PER_USER=all [~]Benutzername ... | all [~]Benutzergruppe ...

PER_USER

( [-] | all [~]Benutzername ... | all [~]Benutzergruppe ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste mit Benutzernamen oder Benutzergruppen, für die Grenzwerte durchgesetzt werden. Die Grenzwerte werden für jeden Benutzer oder einzeln für jeden Benutzer in der aufgelisteten Benutzergruppe durchgesetzt. Wenn eine Benutzergruppe eine Untergruppe enthält, gilt der Grenzwert auch für jedes Mitglied in der Untergruppe rekursiv.

Benutzernamen müssen gültige Anmeldenamen sein. Benutzergruppennamen können LSF -Benutzergruppen oder UNIX-und Windows-Benutzergruppen sein. Beachten Sie, dass die Gruppen für LSF -und UNIX-Benutzergruppen zuerst in einem Abschnitt UserGroup in lsb.users angegeben werden müssen.

Konfigurieren Sie die Grenzwerte für PER_USER und USERS nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PER_USER Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für jeden Benutzer in einem Cluster gelten. Wenn Benutzergruppen konfiguriert sind, gilt der Grenzwert für jedes Mitglied der Benutzergruppe, nicht für die gesamte Gruppe.

Verwenden Sie den Nicht-Operator (~), um Benutzer oder Benutzergruppen aus der Spezifikation all in der Begrenzung auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Benutzern haben, aber nur wenige Benutzer aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Benutzernamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

Keine. Wenn für PER_USER oder USERSkein Grenzwert festgelegt ist, wird für alle Benutzer oder Benutzergruppen kein Grenzwert erzwungen.

Beispiel

PER_USER=user1 user2 ugroup1 ~user3

PROJEKTE

Der Parameter PROJECTS definiert Grenzen für Projekte.

Syntax

PROJECTS=all [~]Projektname

PROJECTS

( [-] | all [~]Projektname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von Projektnamen, für die Grenzwerte erzwungen werden. Für alle aufgelisteten Projekte werden Grenzwerte durchgesetzt. Jeder Projektname kann bis zu 511 Zeichen lang sein.

Verwenden Sie das Schlüsselwort PER_PROJECT , um einen Grenzwert pro Projekt anzugeben. Konfigurieren Sie die Grenzwerte für PROJECTS und PER_PROJECT nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine PROJECTS Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für alle Projekte in einem Cluster gelten.

Verwenden Sie den Nicht-Operator (~), um Projekte aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Projekten haben, aber nur wenige Projekte aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Projektnamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

all (Grenzwerte werden für alle Projekte im Cluster durchgesetzt)

Beispiel

PROJECTS=projA projB

Warteschlangen

Der Parameter QUEUES definiert Grenzen für Warteschlangen.

Syntax

QUEUES=all [~]Warteschlangenname ...

QUEUES

( [-] | all [~]Warteschlangenname ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste von Warteschlangennamen, für die Grenzwerte durchgesetzt werden. Die Grenzwerte werden für alle aufgelisteten Warteschlangen durchgesetzt.

Die Liste muss gültige Warteschlangennamen enthalten, die in lsb.queuesdefiniert sind.

Verwenden Sie das Schlüsselwort PER_QUEUE , um einen Warteschlangengrenzwert anzugeben. Konfigurieren Sie die Grenzwerte für QUEUES und PER_QUEUE nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine QUEUES Zeile pro Limit Abschnitt.

Verwenden Sie das Schlüsselwort all , um Grenzwerte zu konfigurieren, die für alle Warteschlangen in einem Cluster gelten.

Verwenden Sie den Operator 'not' (~), um Warteschlangen aus der Spezifikation all im Grenzwert auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Warteschlangen haben, aber nur wenige Warteschlangen aus der Grenzwertdefinition ausschließen möchten.

Im vertikalen Tabellenformat müssen mehrere Warteschlangennamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

all (Grenzwerte werden für alle Warteschlangen im Cluster erzwungen)

Beispiel

QUEUES=normal night

RESSOURCE

Der Parameter RESOURCE begrenzt die Menge der benutzerdefinierten gemeinsamen Ressourcen.

Syntax

RESOURCE=[gemeinsam_genutzte_Ressource,ganzzahl] [ [gemeinsam_genutzte_Ressource,ganzzahl] ...]

RESOURCE

( [ [gemeinsam_genutzte_Ressource,Ganzzahl] [ [gemeinsam_genutzte_Ressource,Ganzzahl] ...] )

Beschreibung

Maximale Anzahl benutzerdefinierter gemeinsam genutzter Ressourcen, die Konsumenten zur Verfügung stehen.

Verwenden Sie im horizontalen Format nur eine RESOURCE Zeile pro Limit Abschnitt.

Im vertikalen Tabellenformat müssen Ressourcennamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Tabellenformat leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Ein Ressourcenname darf keines der folgenden Zeichen enthalten:
:  .  (  )  [  +  - *  /  !  &  | <  >  @  =
Tipp: Ab Fix Pack 16 können Sie Namen angeben, die einen Bindestrich (-) enthalten.

Standard

Keine

Beispiele

RESOURCE=[stat_shared,4]
Begin Limit
RESOURCE                       PER_HOST
([stat_shared,4])              (all ~hostA)
([dyn_rsrc,1] [stat_rsrc,2])  (hostA)
End Limit

Ablagefach

Der Parameter SLOTS begrenzt die Anzahl der verfügbaren Job-Slots.

Syntax

SLOTS=Ganzzahl

SLOTS

- | Ganzzahl

Beschreibung

Maximale Anzahl an Job-Slots, die für Ressourcenkonsumenten verfügbar sind Geben Sie eine positive ganze Zahl größer-gleich 0 an.

Bei Modellen mit Mehrfachclusterressourcen gilt dieser Grenzwert nur für lokale Hosts, die vom lokalen Cluster verwendet werden. Die Jobslotbegrenzung für Hosts, die in einen fernen Cluster exportiert wurden, wird durch die Hostexportrichtlinie und nicht durch diesen Parameter bestimmt. Die Jobslotbegrenzung für ausgeliehene Hosts wird durch die Host-Exportrichtlinie des fernen Clusters bestimmt.

Wenn JOBS im Abschnitt Limit konfiguriert sind, wird der restriktivste Grenzwert angewendet.

Wenn HOSTS im Abschnitt Limit konfiguriert sind, ist SLOTS die Anzahl der aktiven und ausgesetzten Jobs auf dem Host. Der Grenzwert SLOTS verhindert, dass eine Zurückstellung auftritt.

Um die CPU-Ressource auf Multiprozessorhosts vollständig zu nutzen, müssen Sie die Anzahl der Jobsteckplätze größer-gleich der Anzahl der Prozessoren machen.

Mit diesem Parameter können Sie verhindern, dass ein Host durch zu viele Jobs überlastet wird, und den Durchsatz einer Maschine maximieren.

Verwenden Sie ein Ausrufezeichen (!), um die Anzahl der Jobsegmente gleich der Anzahl der CPUs auf einem Host zu machen.

Wenn sich die Anzahl der CPUs in einem Host dynamisch ändert, passt mbatchd die maximale Anzahl der Jobsegmente pro Host entsprechend an. Warten Sie mbatchd bis zu 10 Minuten, um die Anzahl der CPUs für einen Host abzurufen. In diesem Zeitraum ist der Wert von SLOTS 1.

Wenn nur QUEUES im Abschnitt Limit konfiguriert sind, ist SLOTS die maximale Anzahl der Jobslots, die den aufgelisteten Warteschlangen zur Verfügung stehen.

Wenn nur USERS im Abschnitt Limit konfiguriert sind, ist SLOTS die maximale Anzahl von Jobsegmenten, die die Benutzer oder Benutzergruppen verwenden können.

Wenn im Abschnitt Limit nur HOSTS konfiguriert sind, ist SLOTS die maximale Anzahl von Jobfenstern, die den aufgelisteten Hosts zur Verfügung stehen.

Wenn im Abschnitt Limit nur PROJECTS konfiguriert sind, ist SLOTS die maximale Anzahl der Jobslots, die für die aufgelisteten Projekte verfügbar sind.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE, USERS oder PER_USER, HOSTS oder PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um die für Ressourcenkonsumenten verfügbaren Jobsegmente pro Prozessor weiter zu begrenzen.

Verwenden Sie im horizontalen Format nur eine SLOTS Zeile pro Limit Abschnitt.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Standard

Keine Begrenzung

Beispiel

SLOTS=20

SLOTS_PER_PROZOR

Syntax

SLOTS_PER_PROCESSOR=Anzahl

SLOTS_PER_PROCESSOR

- | Zahl

Beschreibung

Grenzwert für Jobsteckplätze pro Prozessor, basierend auf der Anzahl der Prozessoren auf jedem Host, die von dem Grenzwert betroffen sind

Maximale Anzahl von Jobfenstern, die jeder Ressourcenkonsument pro Prozessor verwenden kann Diese Jobslotbegrenzung wird pro Prozessor konfiguriert, sodass Multiprozessorhosts automatisch mehr Jobs ausführen.

Sie müssen auch PER_HOST angeben und die Hosts auflisten, auf denen der Grenzwert durchgesetzt wird. Der Abschnitt Limit wird ignoriert, wenn SLOTS_PER_PROCESSOR mit out PER_HOSToder mit HOSTSangegeben wird.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Um die CPU-Ressource auf Multiprozessorhosts vollständig zu nutzen, müssen Sie die Anzahl der Jobsteckplätze größer-gleich der Anzahl der Prozessoren machen.

Mit diesem Parameter können Sie verhindern, dass ein Host durch zu viele Jobs überlastet wird, und den Durchsatz einer Maschine maximieren.

Diese Zahl kann ein Bruchteil wie 0.5sein, sodass sie auch als CPU-Grenzwert auf Multiprozessormaschinen dienen kann. Diese Zahl wird auf die nächste ganze Zahl aufgerundet, die größer-gleich den Gesamtgrenzwerten für Jobzeitfenster für einen Host ist. Beispiel: Wenn SLOTS_PER_PROCESSOR den Wert 0.5hat, können Benutzer auf einem 4-CPU-Multiprozessorhost jeweils nur bis zu zwei Jobbereiche verwenden. Auf einer Einzelprozessormaschine können Benutzer 1 Jobslot verwenden.

Verwenden Sie ein Ausrufezeichen (!), um die Anzahl der Jobsegmente gleich der Anzahl der CPUs auf einem Host zu machen.

Wenn sich die Anzahl der CPUs in einem Host dynamisch ändert, passt mbatchd die maximale Anzahl der Jobsegmente pro Host entsprechend an. Warten Sie mbatchd bis zu 10 Minuten, um die Anzahl der CPUs für einen Host abzurufen. In diesem Zeitraum beträgt die Anzahl der CPUs 1.

Wenn nur QUEUES und PER_HOST im Abschnitt Limit konfiguriert sind, ist SLOTS_PER_PROCESSOR die maximale Anzahl von Job-Slots pro Prozessor, die für die aufgelisteten Warteschlangen für Hosts, Benutzer oder Projekte verfügbar sind.

Wenn nur USERS und PER_HOST im Abschnitt Limit konfiguriert sind, ist SLOTS_PER_PROCESSOR die maximale Anzahl von Job-Slots pro Prozessor, die die Benutzer oder Benutzergruppen auf beliebigen Hosts, Warteschlangen, Lizenzprojekten oder Projekten verwenden können.

Wenn nur PER_HOST im Abschnitt Limit konfiguriert ist, ist SLOTS_PER_PROCESSOR die maximale Anzahl von Job-Slots pro Prozessor, die den aufgelisteten Hosts für Benutzer, Warteschlangen oder Projekte zur Verfügung stehen.

Wenn nur PROJECTS und PER_HOST im Abschnitt Limit konfiguriert sind, ist SLOTS_PER_PROCESSOR die maximale Anzahl von Jobslots pro Prozessor, die für die aufgelisteten Projekte für Benutzer, Warteschlangen oder Hosts verfügbar sind.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE, USERS oder PER_USER, PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um die für Ressourcenkonsumenten verfügbaren Jobsegmente pro Prozessor weiter zu begrenzen.

Standard

Keine Begrenzung

Beispiel

SLOTS_PER_PROCESSOR=2

SWP

Der Parameter SWP begrenzt die Menge des verfügbaren Swap-Speicherplatzes.

Syntax

SWP=Ganzzahl[%]

SWP

- | Ganzzahl[%]

Beschreibung

Die maximale Menge an Auslagerungsspeicher, die Ressourcenkonsumenten zur Verfügung steht. Geben Sie einen Wert in MB oder die in LSF_UNIT_FOR_LIMITS in lsf.conf festgelegte Einheit als positive ganze Zahl größer-gleich 0 an.

Der Abschnitt Limit wird ignoriert, wenn SWP als Prozentsatz ohne PER_HOSToder mit HOSTSangegeben wird.

Verwenden Sie im horizontalen Format nur eine SWP Zeile pro Limit Abschnitt.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Wenn nur USERS im Abschnitt Limit konfiguriert sind, muss SWP ein ganzzahliger Wert sein. SWP ist die maximale Menge an Auslagerungsspeicher, die die Benutzer oder Benutzergruppen auf beliebigen Hosts, Warteschlangen oder Projekten verwenden können.

Wenn nur HOSTS im Abschnitt Limit konfiguriert sind, muss SWP ein ganzzahliger Wert sein. SWP ist die maximale Menge an Auslagerungsspeicher, die den aufgelisteten Hosts für Benutzer, Warteschlangen oder Projekte zur Verfügung steht.

Wenn nur PROJECTS im Abschnitt Limit konfiguriert sind, muss SWP ein ganzzahliger Wert sein. SWP ist die maximale Größe des Auslagerungsspeichers, der den aufgelisteten Projekten für Benutzer, Warteschlangen oder Hosts zur Verfügung steht.

Wenn nur LIC_PROJECTS im Abschnitt Limit konfiguriert sind, muss SWP ein ganzzahliger Wert sein. SWP ist die maximale Menge an Auslagerungsspeicher, die den aufgelisteten Projekten für Benutzer, Warteschlangen, Projekte oder Hosts zur Verfügung steht.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE, USERS oder PER_USER, HOSTS oder PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um den für Ressourcenkonsumenten verfügbaren Auslagerungsspeicher weiter zu begrenzen.

Standard

Keine Begrenzung

Beispiel

SWP=60

TMP

Syntax

TMP=Ganzzahl[%]

TMP

- | Ganzzahl[%]

Beschreibung

Maximale Größe des tmp -Speicherplatzes, der für Ressourcenkonsumenten verfügbar ist Geben Sie einen Wert in MB oder die in LSF_UNIT_FOR_LIMITS in lsf.conf festgelegte Einheit als positive ganze Zahl größer-gleich 0 an.

Der Abschnitt Limit wird ignoriert, wenn TMP als Prozentsatz ohne PER_HOSToder mit HOSTSangegeben wird.

Verwenden Sie im horizontalen Format nur eine TMP Zeile pro Limit Abschnitt.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um den Standardwert anzugeben (keine Begrenzung). Felder dürfen nicht leer bleiben.

Wenn nur QUEUES im Abschnitt Limit konfiguriert sind, muss TMP ein ganzzahliger Wert sein. TMP ist die maximale Größe des tmp -Speicherplatzes, der den aufgelisteten Warteschlangen für alle Hosts und Benutzerprojekte zur Verfügung steht.

Wenn nur USERS im Abschnitt Limit konfiguriert sind, muss TMP ein ganzzahliger Wert sein. TMP ist die maximale Größe des tmp -Speicherbereichs, den die Benutzer oder Benutzergruppen auf beliebigen Hosts, Warteschlangen oder Projekten verwenden können.

Wenn nur HOSTS im Abschnitt Limit konfiguriert sind, muss TMP ein ganzzahliger Wert sein. TMP ist die maximale Größe des tmp -Speicherplatzes, der den aufgelisteten Hosts für Benutzer, Warteschlangen oder Projekte zur Verfügung steht.

Wenn nur PROJECTS im Abschnitt Limit konfiguriert sind, muss TMP ein ganzzahliger Wert sein. TMP ist die maximale Größe des tmp -Speicherplatzes, der den aufgelisteten Projekten für Benutzer, Warteschlangen oder Hosts zur Verfügung steht.

Wenn nur LIC_PROJECTS im Abschnitt Limit konfiguriert sind, muss TMP ein ganzzahliger Wert sein. TMP ist die maximale Größe des tmp -Speicherplatzes, der den aufgelisteten Projekten für Benutzer, Warteschlangen, Projekte oder Hosts zur Verfügung steht.

Verwenden Sie APPS oder PER_APP, QUEUES oder PER_QUEUE USERS oder PER_USER, HOSTS oder PER_HOST, LIC_PROJECTS oder PER_LIC_PROJECTund PROJECTS oder PER_PROJECT in Kombination, um den verfügbaren tmp -Speicherplatz für Ressourcenkonsumenten weiter zu begrenzen.

Standard

Keine Begrenzung

Beispiel

TMP=20%

BENUTZER

Der Parameter USERS definiert die Benutzer oder Benutzergruppen, für die Beschränkungen erzwungen werden.

Syntax

USERS=all [~]Benutzername ... | all [~]Benutzergruppe ...

USERS

( [-] | all [~]Benutzername ... | all [~]Benutzergruppe ... )

Beschreibung

Eine durch Leerzeichen getrennte Liste mit Benutzernamen oder Benutzergruppen, für die Grenzwerte durchgesetzt werden. Die Grenzwerte werden für alle aufgelisteten Benutzer oder Gruppen durchgesetzt. Begrenzungen gelten für eine Gruppe als Ganzes.

Wenn eine Gruppe eine Untergruppe enthält, gilt der Grenzwert auch für jedes Member in der Untergruppe rekursiv.

Benutzernamen müssen gültige Anmeldenamen sein. Benutzergruppennamen können LSF -Benutzergruppen oder UNIX-und Windows-Benutzergruppen sein. UNIX-Benutzergruppen müssen in lsb.userkonfiguriert werden.

Verwenden Sie das Schlüsselwort PER_USER , um einen Grenzwert pro Benutzer anzugeben. Konfigurieren Sie die Grenzwerte für USERS und PER_USER nicht im selben Abschnitt Limit .

Verwenden Sie im horizontalen Format nur eine USERS Zeile pro Limit Abschnitt.

Mit dem Schlüsselwort all können Sie Grenzwerte konfigurieren, die für alle Benutzer oder Benutzergruppen in einem Cluster gelten.

Verwenden Sie den Nicht-Operator (~), um Benutzer oder Benutzergruppen aus der Spezifikation all in der Begrenzung auszuschließen. Dies ist nützlich, wenn Sie eine große Anzahl von Benutzern haben, aber nur einige wenige Benutzer oder Gruppen aus der Grenzwertdefinition ausschließen wollen.

Im vertikalen Format müssen mehrere Benutzernamen in runde Klammern eingeschlossen werden.

Verwenden Sie im vertikalen Format leere runde Klammern () oder einen Gedankenstrich (-), um ein leeres Feld anzugeben. Felder dürfen nicht leer bleiben.

Standard

all (Grenzwerte werden für alle Benutzer im Cluster durchgesetzt)

Beispiel

USERS=user1 user2

GuaranteedResourcePool Abschnitt

Definiert eine Garantierichtlinie. Eine Garantie ist eine Verpflichtung, die Verfügbarkeit einer Reihe von Ressourcen für eine Serviceklasse sicherzustellen, wobei eine Serviceklasse ein Container für Jobs ist. Jeder Garantiepool kann Garantien für mehrere Serviceklassen bereitstellen, und jede Serviceklasse kann Garantien in mehreren Pools haben.

Zur Verwendung garantierter Ressourcen konfigurieren Sie Serviceklassen mit GOALS=[GUARANTEE] in der Datei lsb.serviceclasses .

Hinweis: Hosts, die nicht für zugeteilte Jobs bereit sind, werden dem garantierten Ressourcenpool nicht zugeordnet. Dies schließt Hosts ein, die sich inunavailoderunreachStatus oder Hosts, die vom Administrator geschlossen wurden.

GuaranteedResourcePool Abschnittsstruktur

Jeder Ressourcenpool ist in einem Abschnitt GuaranteedResourcePool definiert und in Begin GuaranteedResourcePool und End GuaranteedResourcePooleingeschlossen.

Sie müssen NAME, TYPE und DISTRIBUTION für jeden Abschnitt GuaranteedResourcePool konfigurieren.

Die Reihenfolge der GuaranteedResourcePool -Abschnitte ist wichtig, da die Abschnitte in der konfigurierten Reihenfolge ausgewertet werden. Jeder Host kann sich nur in einem Pool von hostbasierten Ressourcen (Slots, Hosts oder Pakete, von denen jeder einen eigenen Abschnitt GuaranteedResourcePool haben kann) befinden. Stellen Sie sicher, dass alle Abschnitte GuaranteedResourcePool (außer dem letzten) den Parameter HOSTS definieren, sodass sie nicht den Standardwert aller Hosts enthalten.

Wenn LSF gestartet wird, durchläuft es die Hosts und ordnet jeden Host einem Pool zu, der den Host basierend auf den Poolparametern RES_SELECT und HOSTS akzeptiert. Wenn der Host von mehreren Pools akzeptiert wird, wird der Host dem ersten Pool entsprechend der Konfigurationsreihenfolge der Pools zugeordnet.

Beispiel GuaranteedResourcePool Abschnitte

Begin GuaranteedResourcePool
NAME = linuxGuarantee
TYPE = slots
HOSTS = linux_group
DISTRIBUTION = [sc1, 25] [sc2, 30]
LOAN_POLICIES=QUEUES[all] DURATION[15]
DESCRIPTION = This is the resource pool for the hostgroup linux_group, with\ 
30 slots guaranteed to sc2. Resources are loaned to 25 slots guaranteed to\ 
sc1 jobs from any queue with run times of up to 15 minutes.
End GuaranteedResourcePool
Begin GuaranteedResourcePool
NAME = x86Guarantee
TYPE = slots
HOSTS = linux_x86
DISTRIBUTION = [sc1, 25]
LOAN_POLICIES=QUEUES[short_jobs] DURATION[15]
DESCRIPTION = This is the resource pool for the hostgroup\ 
linux_x86 using the short_jobs queue, with 25 slots guaranteed\ 
to sc1. Resources are loaned to jobs for up to 15 minutes.
End GuaranteedResoucePool
Begin GuaranteedResourcePool
NAME = resource2pool
TYPE = resource[f2]
DISTRIBUTION = [sc1, 25%] [sc2, 25%]
LOAN_POLICIES=QUEUES[all] DURATION[10]
DESCRIPTION = This is the resource pool for all f2 resources managed by\
LSF License Scheduler, with 25% guaranteed to each of sc1 and sc2. \
Resources are loaned to jobs from any queue with runtimes of up to 10 minutes.
End GuaranteedResourcePool

Parameter

  • NAME
  • TYPE
  • HOSTS
  • RES_SELECT
  • DISTRIBUTION
  • LOAN_POLICIES
  • DESCRIPTION
  • ADMINISTRATORS

Name

Syntax

NAME=Name

Beschreibung

Der Name der Garantierichtlinie.

Standard

Keine. Sie müssen einen Namen für die Garantie angeben.

TYP

Syntax

TYPE = slots | hosts | resource[gemeinsam_genutzte_Ressource] | package[slots=[slots_per_package] [:mem=mem_per_package]]

Beschreibung

Definiert den Typ der Ressourcen, die in dieser Garantierichtlinie garantiert werden sollen Dabei kann es sich entweder um Slots, ganze Hosts, Pakete, die sich aus einer Menge von Slots und Speicher zusammensetzen, die auf einem einzelnen Host gebündelt sind, oder Lizenzen, die von LSF License Schedulerverwaltet werden, handeln.

Geben Sie resource[license] an, um Lizenzen (die von LSF License Schedulerverwaltet werden müssen) für Serviceklassengarantiejobs zu garantieren.

Gibt die Kombination aus Speicher und Slots an, die die Pakete definiert, die als Ressourcen behandelt werden, die von Serviceklassengarantiejobs reserviert werden. Beispiel:

TYPE=package[slots=1:mem=1000]

Jede Einheit ist für einen Steckplatz und 1000 MB Speicher garantiert.

LSF_UNIT_FOR_LIMITS in lsf.conf bestimmt die Speichereinheiten in der Paketdefinition. Der Standardwert von LSF_UNIT_FOR_LIMITS ist MB. Daher gilt die Garantie für 1000 MB Speicher.

Ein Paket muss nicht über Steckplätze und Speicher verfügen. Die Einstellung TYPE=package[slots=1] ist das Äquivalent zu Slots. Um Garantien für parallele Jobs bereitzustellen, die mehrere CPUs auf einem einzelnen Host erfordern, auf dem Speicher keine wichtige Ressource ist, können Sie Pakete mit mehreren Slots verwenden und nicht memangeben.

Jeder Host kann zu höchstens einem Slot, Host oder Paketgarantiepool gehören.

Standard

Keine. Sie müssen den Typ der Garantie angeben.

HOSTS

Syntax

HOSTS=all | allremote | all@Clustername ... | [~]Hostname | [~]Hostgruppe

Beschreibung

Eine durch Leerzeichen getrennte Liste von Hosts oder Hostgruppen, die in lsb.hostsdefiniert sind und auf denen die Garantie durchgesetzt wird

Verwenden Sie das Schlüsselwort all , um alle Hosts in einem Cluster einzuschließen. Verwenden Sie den Nicht-Operator (~), um Hosts aus der Spezifikation all in der Garantie auszuschließen.

Verwenden Sie Hostgruppen für eine größere Flexibilität, da Hostgruppen zusätzliche Konfigurationsoptionen haben.

Stellen Sie sicher, dass alle GuaranteedResourcePool -Abschnitte (mit Ausnahme des letzten) den Parameter HOSTS oder RES_SELECT definieren, damit sie nicht den Standardwert aller Hosts enthalten.

Standard

All

RES_SELECT

Syntax

RES_SELECT=res_req

Beschreibung

Die Ressourcenanforderungszeichenfolge, mit der alle durch den Parameter HOSTS definierten Hosts weiter gefiltert werden. Zum Beispiel RES_SELECT=type==LINUX86.
Tipp: Ab Fix Pack 16 können Sie Namen angeben, die einen Bindestrich (-) enthalten.

In RES_SELECTkönnen nur statische Hostattribute verwendet werden. Verwenden Sie keine verwendbaren Ressourcen oder dynamischen Ressourcen.

Standard

Keine. RES_SELECT Nachrichtentypen ist optional.

Verteilung

Syntax

DISTRIBUTION=([Serviceklassenname, amount[%] ...)

Beschreibung

Weist die Menge der Ressourcen im Pool den angegebenen Serviceklassen zu, wobei Menge eine absolute Zahl oder ein Prozentsatz der Ressourcen im Pool sein kann. Die äußeren Klammern sind optional.

Bei der Konfiguration als Prozentsatz kann die Summe 100% überschreiten, aber jeder zugeordnete Prozentsatz darf 100% nicht überschreiten. Zum Beispiel:

DISTRIBUTION=[sc1,50%] [sc2,50%] [sc3,50%] ist eine akzeptable Konfiguration, obwohl die Summe der zugewiesenen Prozentsätze 150% ergibt.

DISTRIBUTION=[sc1,120%] ist keine akzeptable Konfiguration, da der Prozentsatz für sc1 größer als 100% ist.

Jede Serviceklasse muss in lsb.serviceclassesmit GOALS=[GUARANTEE]konfiguriert werden.

Wenn LSF als Prozentsatz konfiguriert ist und die verbleibenden Ressourcen verteilt werden müssen (da die berechnete Anzahl der Slots abgerundet ist), verteilt die verbleibenden Ressourcen unter Verwendung der Umlaufverteilung, beginnend mit der ersten konfigurierten Serviceklasse. Daher erhalten die Serviceklassen, die Sie zuerst definieren, unabhängig vom konfigurierten Prozentsatz zusätzliche Ressourcen. Beispiel: Ein Pool enthält 93 Slots und Sie konfigurieren die folgende Garantieverteilung:

DISTRIBUTION=[sc1,30%] [sc2,10%] [sc3,30%]

Die Anzahl der Slots, die der Garantierichtlinie zugeordnet sind, ist: floor((30% + 10% + 30%)*(93 slots)) = 65 slots

Die Slots werden wie folgt an die Serviceklassen verteilt:

  • sc1_slots = floor(30%*92) = 27
  • sc2_slots = floor(10%*92) = 9
  • sc3_slots = floor(30%*92) = 27

Durch das Abrunden beträgt die Gesamtzahl der verteilten Slots 27+9+27=63 Slots, d. h., es gibt zwei verbleibende Slots für die Verteilung. Bei der Umlaufverteilung verteilt LSF jeweils einen Slot an sc1 und sc2 , da diese Serviceklassen zuerst definiert werden. Daher lautet die endgültige Zeitfensterverteilung an die Serviceklassen wie folgt:

  • sc1_slots = floor(30%*92) + 1 = 28
  • sc2_slots = floor(10%*92) + 1 = 10
  • sc3_slots = floor(30%*92) = 27
Wenn Sie sc3 vor sc2 (DISTRIBUTION=[sc1,30%] [sc3,30%] [sc2,10%]) konfigurieren, verteilt LSF die beiden verbleibenden Steckplätze an sc1 und sc3. Daher werden die Slots wie folgt verteilt:
  • sc1_slots = floor(30%*92) + 1 = 28
  • sc3_slots = floor(30%*92) + 1 = 28
  • sc2_slots = floor(10%*92) = 9

Standard

Keine. Sie müssen eine Verteilung für den Ressourcenpool angeben.

LOAN_RICHTLINIEN

Syntax

LOAN_POLICIES=QUEUES[[! ] Warteschlangenname...|all] [CLOSE_ON_DEMAND ] [DURATION[ Protokoll] [IDLE_BUFFER[ Menge [% ]] ]

Beschreibung

Standardmäßig reserviert LSF genügend Ressourcen in jedem Garantiepool, um die konfigurierten Garantien zu berücksichtigen. Um die Auslastung zu erhöhen, verwenden Sie LOAN_POLICIES , damit alle Jobs (mit oder ohne Garantien) diese reservierten Ressourcen verwenden können, wenn sie von Jobs mit Garantien nicht benötigt werden. Wenn Ressourcen ausgeliehen werden, müssen Jobs mit Garantien möglicherweise auf die Beendigung von Jobs warten, bevor sie im Pool zugeteilt werden können.

QUEUES[all | [!]Warteschlangenname ...] Darlehen nur an Jobs aus der angegebenen Warteschlange bzw. den angegebenen Warteschlangen. Sie müssen angeben, welche Warteschlangen Ressourcen ausleihen dürfen, die für Garantien reserviert sind. Geben Sie ein Ausrufezeichen (! ) vor dem Warteschlangennamen für diese Warteschlange, um alleIDLE_BUFFER UndDURATION Richtlinien bei der Entscheidung, ob ein Job in der Warteschlange ungenutzte garantierte Ressourcen ausleihen kann.

Wenn CLOSE_ON_DEMAND angegeben wird, stoppt LSF die Ausleihen aus einem Pool, wenn die Nachfrage von Jobs mit Garantien im Pool ansteht.

DURATION[Minuten] ermöglicht Jobs nur dann, die Ressourcen auszuleihen, wenn die Jobausführungsbegrenzung (oder geschätzte Ausführungszeit) nicht größer als Minutenist. Die nach Jobdauer begrenzten Darlehen stellen die garantierten Ressourcen innerhalb der in Minutenangegebenen Zeit zur Verfügung. Jobs, die länger als die geschätzte Ausführungszeit ausgeführt werden, werden unabhängig von der tatsächlichen Ausführungszeit ausgeführt.

IDLE_BUFFER[Menge [% ]] ermöglichtLSF um zu versuchen, die inIDLE_BUFFER solange noch nicht genutzte Garantien bestehen. Diese inaktiven Ressourcen können nur verwendet werden, um Garantien zu berücksichtigen. Wenn die Anzahl der freien Ressourcen im Pool unter denIDLE_BUFFER Menge,LSF stoppt die Ausleihe von Ressourcen aus dem Pool.

Hinweis: Das Schlüsselwort RETAIN ist in LSFVersion 10.1.0 Fixpack 10 veraltet. Verwenden Sie IDLE_BUFFER anstelle von RETAIN.

Standard

Keine. LOAN_POLICIES Nachrichtentypen ist optional.

BESCHREIBUNG

Syntax

DESCRIPTION=Beschreibung

Beschreibung

Eine Beschreibung der Garantierichtlinie.

Standard

Keine. DESCRIPTION Nachrichtentypen ist optional.

Administratoren

Syntax

ADMINISTRATORS=Benutzername | Benutzergruppe ...

Beschreibung

Wenn vom Benutzer definiert, kann ein Administrator die entsprechende GuaranteedResourcePool mit dem Befehl bconf verwalten.

Hinweis: Um ein Windows-Benutzerkonto oder eine Benutzergruppe anzugeben, schließen Sie den Domänennamen in Großbuchstaben ein: DOMAIN_NAME\user_name or DOMAIN_NAME\user_group.

Ein LSF-Administrator kann auch einen GuaranteedResourcePool mit dem Befehl bconfverwalten, selbst wenn der LSF-Administrator explizit mit dem Operator NOT (~) in der Benutzergruppe ausgeschlossen ist.

Standard

Keine. Sie müssen ein Clusteradministrator sein, um mit diesem garantierten Ressourcenpool von bconfarbeiten zu können.

Abschnitt ResourceReservation

Standardmäßig können nur LSF -Administratoren oder Root erweiterte Reservierungen hinzufügen oder löschen.

Der Abschnitt ResourceReservation definiert eine erweiterte Reservierungsrichtlinie. In dieser Datei wird Folgendes angegeben:
  • Benutzer oder Benutzergruppen, die Reservierungen erstellen können
  • Hosts, die für die Reservierung verwendet werden
  • Zeitfenster, in dem Reservierungen erstellt werden können

Jede erweiterte Reservierungsrichtlinie wird in einem separaten Abschnitt ResourceReservation definiert, sodass es normal ist, mehrere Abschnitte ResourceReservation in lsb.resourceszu haben.

Beispiel für Abschnitt ResourceReservation

Nuruser1unduser2kann Vorreservierungen vornehmen aufhostAundhostB. Das Zeitfenster für die Reservierung ist täglich zwischen 8:00 Uhr und 18:00 Uhr:
Begin ResourceReservation 
NAME        = dayPolicy 
USERS       = user1 user2     # optional 
HOSTS       = hostA hostB     # optional 
TIME_WINDOW = 8:00-18:00      # weekly recurring reservation 
End ResourceReservation
user1kann die folgende Reservierung für Benutzer hinzufügenuser2zu verwenden aufhostAjeden Freitag zwischen 9:00 Uhr und 11:00 Uhr:
% user1@hostB> brsvadd -m "hostA" -n 1 -u "user2" -t "5:9:0-5:11:0" 
Reservation "user2#2" is created

Benutzer können nur selbst erstellte Reservierungen löschen. Im Beispiel ist nur der Benutzeruser1kann die Reservierung löschen;user2kann nicht. Administratoren können alle von Benutzern erstellten Reservierungen löschen.

Parameter

  • HOSTS
  • NAME
  • TIME_WINDOW
  • USERS

HOSTS

Syntax

HOSTS=[~]Hostname | [~]Hostgruppe | all | allremote | all@Clustername ...

Beschreibung

Eine durch Leerzeichen getrennte Liste von Hosts und Hostgruppen, die in lsb.hosts definiert sind und für die Administratoren oder Benutzer, die im Parameter USERS angegeben sind, erweiterte Reservierungen erstellen können

Die Hosts können für den Cluster lokal sein oder von fernen Clustern geleast werden.

Wenn eine Gruppe eine Untergruppe enthält, gilt die Reservierungskonfiguration rekursiv für jedes Member in der Untergruppe.

Verwenden Sie das Schlüsselwort all , um Reservierungsrichtlinien zu konfigurieren, die für alle lokalen Hosts in einem Cluster gelten, die nicht explizit ausgeschlossen sind. Dies ist nützlich, wenn Sie einen großen Cluster haben, aber den Operator 'not' (~) verwenden möchten, um einige Hosts aus der Liste der Hosts auszuschließen, auf denen Reservierungen erstellt werden können.

Verwenden Sie das Schlüsselwort allremote , um alle Hosts anzugeben, die von allen fernen Clustern übernommen wurden.
Tipp:

Sie können keine Hostgruppen oder Hostpartitionen angeben, die das Schlüsselwort allremote enthalten.

Verwenden Sie all @clustername , um die Gruppe aller Hosts anzugeben, die von einem fernen Cluster ausgeliehen wurden. Sie können keine Hostgruppe oder Partition angeben, die ferne Ressourcen enthält.

Bei Leasing-Modellen für Mehrfachclusterressourcen kann der Nicht-Operator (~) verwendet werden, um lokale Hosts oder Hostgruppen auszuschließen. Sie können den Operator 'not' (~) nicht für ferne Hosts verwenden.

Beispiele

HOSTS=hgroup1 ~hostA hostB hostC

Vorabreservierungen können erstellt werden amhostB,hostCund alle Hosts inhgroup1mit Ausnahme vonhostA:

HOSTS=all ~group2 ~hostA

Erweiterte Reservierungen können auf allen Hosts im Cluster erstellt werden, mit Ausnahme vonhostAund die Hosts ingroup2.

Standard

all allremote (Benutzer können Reservierungen auf allen Server-Hosts im lokalen Cluster und auf allen geleasten Hosts in einem fernen Cluster erstellen.

Name

Syntax

NAME=Text

Beschreibung

Erforderlich. Name des Abschnitts ResourceReservation

Geben Sie eine beliebige ASCII-Zeichenfolge mit maximal 40 Zeichen an. Sie können Buchstaben, Ziffern, Unterstreichungszeichen (_) oder Gedankenstriche (-) verwenden. Sie können keine Leerzeichen verwenden.

Beispiel

NAME=reservation1

Standard

Keine. Sie müssen einen Namen für den Abschnitt ResourceReservation angeben.

ZEITFENSTER

Syntax

TIME_WINDOW=Zeitfenster

Beschreibung

Optional. Zeitfenster für Benutzer zum Erstellen von Vorabreservierungen. Die Zeit für Reservierungen, die Benutzer erstellen, muss innerhalb dieses Zeitfensters liegen.

Verwenden Sie für Zeitfenster dasselbe Format wie für die Option für wiederkehrende Reservierung (-t) von brsvadd. Wenn Sie ein Zeitfenster angeben möchten, geben Sie zwei durch einen Bindestrich (-) getrennte Zeitwerte ohne Leerzeichen dazwischen an:
time_window = begin_time-end_time [time_zone]

Zeitformat

Zeiten werden im folgenden Format angegeben:
[day:]hour[:minute]
Dabei sind alle Felder Zahlen mit den folgenden Bereichen:
  • Wochentag: 0-6 (0 ist Sonntag)
  • Stunde: 0-23
  • Minute: 0-59

time_zone(optional) ist die Zeitzone für die Zeit. LSF unterstützt alle Standardzeitzonenabkürzungen. Wenn Sie keine Zeitzone angeben, verwendet LSF die lokale Systemzeitzone.

Geben Sie ein Zeitfenster auf eine der folgenden Arten an:
  • hour-Stunde [Zeitzone]
  • hour:minute-hour:minute [zeitzone]
  • Tag:Stunde:Minute-Tag:Stunde:Minute [Zeitzone]

Der Standardwert für die Minute ist 0 (für die Stunde); der Standardwert für den Tag ist jeder Tag der Woche.

Sie müssen mindestens die Stunde angeben. Wochentag und Minute sind optional. Die Werte für Startzeit und Endzeit müssen dieselbe Syntax verwenden. Wenn Sie keine Minute angeben, nimmt LSF die erste Minute der Stunde an (:00). Wenn Sie keinen Tag angeben, geht LSF von jedem Wochentag aus. Wenn Sie den Tag angeben, müssen Sie auch die Minute angeben.

Sie können mehrere Zeitfenster angeben, sie dürfen sich jedoch nicht überschneiden. Zum Beispiel:
timeWindow(8:00-14:00 18:00-22:00)
ist korrekt, aber
timeWindow(8:00-14:00 11:00-15:00)
ist ungültig.

Wenn Sie eine Zeitzone für mehrere Zeitfenster angeben, müssen alle Zeitfenstereinträge konsistent sein, unabhängig davon, ob sie die Zeitzonen festlegen. Das heißt, entweder müssen alle Einträge eine Zeitzone festlegen oder alle Einträge dürfen keine Zeitzone festlegen. Zum Beispiel:

timeWindow(8:00-14:00 EDT 18:00-22:00 EDT)
ist korrekt, aber
timeWindow(8:00-14:00 18:00-22:00 EDT)
ist ungültig.

Beispiel

TIME_WINDOW=8:00-14:00

Benutzer können Vorabreservierungen mit Anfangszeit (brsvadd -b), Endzeit (brsvadd -e) oder Zeitfenster (brsvadd -t) an einem beliebigen Tag zwischen 8:00 Uhr und 14:00 Uhr erstellen.

Standard

Nicht definiert (jederzeit)

BENUTZER

Syntax

USERS=[~]Benutzername | [~]Benutzergruppe ... | all

Beschreibung

Eine durch Leerzeichen getrennte Liste von Benutzernamen oder Benutzergruppen, die erweiterte Reservierungen erstellen dürfen. Administratoren, Root und alle aufgelisteten Benutzer oder Gruppen können Reservierungen erstellen.

Wenn eine Gruppe eine Untergruppe enthält, gilt die Reservierungsrichtlinie rekursiv für jedes Member in der Untergruppe.

Benutzernamen müssen gültige Anmeldenamen sein. Benutzergruppennamen können LSF -Benutzergruppen oder UNIX-und Windows-Benutzergruppen sein.

Mit dem Schlüsselwort all können Sie Reservierungsrichtlinien konfigurieren, die für alle Benutzer oder Benutzergruppen in einem Cluster gelten. Dies ist nützlich, wenn Sie eine große Anzahl von Benutzern haben, aber einige Benutzer oder Gruppen aus der Reservierungsrichtlinie ausschließen möchten.

Verwenden Sie den Operator "Nicht" (~), um Benutzer oder Benutzergruppen aus der Liste der Benutzer, die Reservierungen erstellen können, auszuschließen.

Vorsicht:
Der Operator not schließt LSF -Administratoren nicht aus der Richtlinie aus.

Beispiel

USERS=user1 user2

Standard

all (alle Benutzer im Cluster können Reservierungen erstellen)

Abschnitt ReservationUsage

Um eine größere Flexibilität für die Reservierung numerischer Ressourcen zu ermöglichen, die von Jobs reserviert werden, konfigurieren Sie den Abschnitt ReservationUsage in lsb.resources , um Ressourcen als PER_JOB, PER_TASKoder PER_HOSTzu reservieren. Zum Beispiel:

Beispielabschnitt ReservationUsage

Begin ReservationUsage 
RESOURCE             METHOD        RESERVE
resourceX             PER_JOB           Y
resourceY             PER_HOST          N
resourceZ             PER_TASK          N
End ReservationUsage

Parameter

  • RESOURCE
  • METHOD
  • RESERVE

RESSOURCE

Der Name der zu reservierenden Ressource. Benutzerdefinierte numerische Ressourcen können reserviert werden, aber nur, wenn sie gemeinsam genutzt werden (sie sind nicht für einen Host spezifisch).

Die folgenden integrierten Ressourcen können im Abschnitt ReservationUsage konfiguriert und reserviert werden:
  • mem
  • tmp
  • swp

Jede angepasste Ressource kann auch reserviert werden, wenn sie gemeinsam genutzt (im Abschnitt Resource von lsf.shareddefiniert) oder hostbasiert (im Abschnitt "Host" der Datei lsf.cluster in der Ressourcenspalte aufgelistet) wird.

METHOD

Die Ressourcenreservierungsmethode. Einer der folgenden:
  • PER_JOB
  • PER_HOST
  • PER_TASK

Der clusterweite Parameter RESOURCE_RESERVE_PER_SLOT in lsb.params ist veraltet.

Der Parameter RESOURCE_RESERVE_PER_TASK steuert weiterhin Ressourcen, die nicht in lsb.resourceskonfiguriert sind. Ressourcen, die nicht in lsb.resources reserviert sind, werden vom Job reserviert, wenn es sich um eine gemeinsam genutzte Ressource handelt, oder vom Host, wenn es sich um eine hostbasierte Ressource handelt.

PER_HOST -Reservierung bedeutet, dass LSF für den parallelen Job eine Instanz eines s für jeden Host reserviert. Einige Anwendungslizenzen werden beispielsweise nur einmal berechnet, unabhängig davon, wie viele Anwendungen ausgeführt werden, vorausgesetzt, diese Anwendungen werden auf demselben Host unter demselben Benutzer ausgeführt.

Keine Methode verwenden ("-") beim Festlegen von mem, swpoder tmp alsRESERVE=Y.

RSERVIEREN

Reserviert die Ressource für anstehende Jobs, die auf die Verfügbarkeit einer anderen Ressource warten.

Beispiel: Job A erfordert die Ausführung der Ressourcen X, Y und Z, aber Ressource Z ist eine hohe Nachfrage oder knappe Ressource. Dieser Job wird zurückgestellt, bis Z verfügbar ist. In der Zwischenzeit werden andere Jobs ausgeführt, die nur X- und Y-Ressourcen erfordern. Wenn X und Y als reservierbare Ressourcen festgelegt sind (der Parameter RESERVE ist auf "Y" gesetzt), sobald die Z-Ressource verfügbar ist, wird Job A ausgeführt. Ist dies nicht der Fall, kann Job A möglicherweise nie ausgeführt werden, da nie alle Ressourcen gleichzeitig verfügbar sind.

Einschränkung: Nur die folgenden integrierten Ressourcen können als reservierbar definiert werden:
  • mem
  • swp
  • tmp

Verwenden Sie keine Methode (-), wenn Sie mem, swpoder tmp alsRESERVE=Y.

Bei der Übergabe eines Jobs muss für die Warteschlange RESOURCE_RESERVE definiert sein.

Das Auffüllen der reservierbaren Ressourcen wird ebenfalls unterstützt, wenn Sie einen Job mit reservierbaren Ressourcen an eine Warteschlange übergeben, für die BACKFILL definiert ist.

Gültige Werte sind Y und N. Erfolgt keine Angabe, werden Ressourcen nicht reserviert.

Voraussetzungen und Einschränkungen

  • Die ressourcenspezifische Konfiguration definiert die Ressourcennutzung für einzelne Ressourcen, ändert jedoch kein vorhandenes Ressourcenbegrenzungsverhalten (PER_JOB oder PER_TASK).
  • In der Umgebung LSF multicluster capability sollten Sie die Ressourcennutzung im Planungscluster konfigurieren (Übergabecluster im Leasing-Modell oder Empfangscluster im Jobweiterleitungsmodell).

Automatische zeitbasierte Konfiguration

Die Variablenkonfiguration wird verwendet, um die LSF -Konfiguration basierend auf Zeitfenstern automatisch zu ändern. Sie definieren automatische Konfigurationsänderungen in lsb.resources mithilfe von If-else-Konstrukten und Zeitausdrücken. Nachdem Sie die Dateien geändert haben, rekonfigurieren Sie den Cluster mit dem Befehl badmin reconfig .

Die Ausdrücke werden von LSF alle 10 Minuten basierend auf der mbatchd -Startzeit ausgewertet. Wenn ein Ausdruck mit 'true' ausgewertet wird, ändert LSF die Konfiguration dynamisch auf der Basis der zugehörigen Konfigurationsanweisungen. Die Rekonfiguration erfolgt in Echtzeit, ohne dass mbatchderneut gestartet werden muss. Dies bietet eine kontinuierliche Systemverfügbarkeit.

Beispiel

# limit usage of hosts for group and time 
# based configuration
# - 10 jobs can run from normal queue
# - any number can run from short queue between 18:30 
#   and 19:30
#   all other hours you are limited to 100 slots in the 
#   short queue
# - each other queue can run 30 jobs
Begin Limit
PER_QUEUE               HOSTS       SLOTS     # Example
normal                  Resource1    10
#if time(18:30-19:30 EDT)     
short                   Resource1    -  
#else
short                   Resource1    100
#endif    
(all ~normal ~short)    Resource1    30     
End Limit

Die Angabe der Zeitzone ist optional. Wenn Sie keine Zeitzone angeben, verwendet LSF die lokale Systemzeitzone. LSF unterstützt alle Standardzeitzonenabkürzungen.

Abschnitt PowerPolicy

In diesem Abschnitt wird eine Richtlinie für das Stromversorgungsmanagement aktiviert und definiert.

Beispielabschnitt PowerPolicy

Begin PowerPolicy 
NAME          = policy_night
HOSTS         = hostGroup1 host3
TIME_WINDOW   = 23:00-8:00 EDT
MIN_IDLE_TIME = 1800
CYCLE_TIME = 60
End PowerPolicy 

Parameter

  • NAME
  • HOSTS
  • TIME_WINDOW
  • MIN_IDLE_TIME
  • CYCLE_TIME

Name

Syntax

NAME=zeichenfolge

Beschreibung

Erforderlich. Eindeutiger Name für die Stromverbrauchssteuerungsrichtlinie.

Geben Sie eine beliebige ASCII-Zeichenfolge mit maximal 60 Zeichen an. Sie können Buchstaben, Ziffern, Unterstreichungszeichen (_), Gedankenstriche (-) oder Punkte (.) verwenden. Sie können keine Leerzeichen verwenden.

Beispiel

NAME=policy_night1

Standard

Keine. Sie müssen einen Namen angeben, um eine Stromrichtlinie zu definieren.

HOSTS

Syntax

HOSTS=host_list

Beschreibung

Hostliste ist eine durch Leerzeichen getrennte Liste von Hostnamen, Hostgruppen, Hostpartitionen oder Recheneinheiten.

Erforderlich. Angegebene Hosts dürfen sich nicht zwischen Stromversorgungsrichtlinien überschneiden.

Beispiel

HOSTS=hostGroup1 host3

Standard

Wenn kein Host definiert ist, werden standardmäßig alle anderen Hosts verwendet, die nicht in der Stromrichtlinie enthalten sind. (Enthält nicht die Kandidatenhosts für Management und Management )

ZEITFENSTER

Syntax

TIME_WINDOW=Zeitfenster

Beschreibung

Erforderlich. Zeitfenster ist der Zeitraum, für den die Stromrichtlinie gilt.

Wenn Sie ein Zeitfenster angeben möchten, geben Sie zwei durch einen Bindestrich (-) getrennte Zeitwerte ohne Leerzeichen dazwischen an.
time_window = begin_time-end_time

Zeitformat

Zeiten werden im folgenden Format angegeben:
[day:]hour[:minute]
Dabei sind alle Felder Zahlen mit den folgenden Bereichen:
  • Wochentag: 0-6 (0 ist Sonntag)
  • Stunde: 0-23
  • Minute: 0-59
Geben Sie ein Zeitfenster auf eine der folgenden Arten an:
  • hour-Stunde
  • hour:Minute-hour:Minute
  • Tag:Stunde:Minute-Tag:Stunde:Minute

Der Standardwert für die Minute ist 0 (für die Stunde); der Standardwert für den Tag ist jeder Tag der Woche.

Sie müssen mindestens die Stunde angeben. Wochentag und Minute sind optional. Die Werte für Startzeit und Endzeit müssen dieselbe Syntax verwenden. Wenn Sie keine Minute angeben, nimmt LSF die erste Minute der Stunde an (:00). Wenn Sie keinen Tag angeben, geht LSF von jedem Wochentag aus. Wenn Sie den Tag angeben, müssen Sie auch die Minute angeben.

Sie können mehrere Zeitfenster angeben, sie dürfen sich jedoch nicht überschneiden. Zum Beispiel:
timeWindow(8:00-14:00 18:00-22:00)
ist korrekt, aber
timeWindow(8:00-14:00 11:00-15:00)
ist ungültig.

Beispiel

TIME_WINDOW=8:00-14:00

Standard

Nicht definiert (jederzeit)

MIN_IDLE_ZEIT

Syntax

MIN_IDLE_TIME=minutes

Beschreibung

Dieser Parameter wird wirksam, wenn TIME_WINDOW konfiguriert und gültig ist. Sie definiert die Hostleerlaufzeit, bevor Stromversorgungsoperationen für definierte Hosts ausgegeben werden.

Beispiel

MIN_IDLE_TIME=60

Standard

0

CYCLE_ZEIT

Syntax

CYCLE_TIME=minutes

Beschreibung

Dieser Parameter wird wirksam, wenn TIME_WINDOW konfiguriert und gültig ist. Sie definiert die Mindestzeit (in Minuten) zwischen Änderungen des Stromversorgungsstatus für definierte Hosts.

Beispiel

CYCLE_TIME=15

Standard

0