-
Die
vorliegende Erfindung bezieht sich allgemein auf Prozesse in einem
verteilten Rechensystem.
-
Eine
Sammlung von Computern, die durch ein elektronisches Netzwerk und
die geeignete Software verbunden sind, kann als ein einzelnes Rechensystem
verwendet werden. Bei einem netzwerkbasierten Rechnen ist eine Rechenressource
nicht notwendigerweise an eine einzelne Maschine gebunden. Sie wird
statt dessen ein Merkmal des gesamten netzwerkbasierten Computers.
Ein netzwerkbasierter Computer kann in einer Reihe von Kontexten
existieren, wie z. B. in einer heterogenen Sammlung von Benutzerarbeitsstationen
und Servermaschinen auf einem lokalen Netzwerk. Eine Spezialzweckgruppe von
Maschinen mit individuellen Prozessoren, die durch ein Hochgeschwindigkeitsnetzwerk
verbunden sind, kann ebenfalls eine Rechenressource sei, oder ein
Unternehmen oder ein globales Netzwerk, das mehrere solcher Umgebungen
miteinander verbindet, kann ebenfalls als eine einzelne Rechenressource
betrachtet werden.
-
Dieses
Modell kann eine Hochleistungsrechenplattform erzeugen, die einen
Satz von Arbeitsstationen, Prozessoren oder PCs umfasst, die miteinander
durch ein Hochgeschwindigkeitsnetzwerk verbunden sind, wie z. B.
das Fast Ethernet, Gigabit Ethernet oder Myrinet. Jeder Prozessor
oder Computer in dem System wird üblicherweise ein Knoten genannt.
Ein Knoten in dem System kann als ein Eingangsknoten wirken, der
die Systemoperation steuert. Andere Knoten in dem System werden
Rechenknoten genannt und ihre Funktion ist es, die Berechnung auszuführen. Jeder
Knoten kann ein Voll- Multitasking-Operationssystem
betreiben (z. B. Linux, UNIX, etc.) und jeder Benutzer kann sich
zum Arbeiten an einem Knoten anmelden. Eine Einzelsystemansicht
wird durch ein gemeinschaftlich verwendetes Dateisystem erreicht,
wie z. B. NFS (Network File System) und ein gemeinschaftlich verwendetes
Informationssystem, wie z. B. NIS (Network Information System).
Viele Systeme weisen eine Parallelrechen-Softwarebibliothek auf,
wie z. B. PVM (Parallel Virtual Machine) oder MPI (Message Passing
Interface), die installiert ist, um ein Netzwerkrechensystem zu
bilden.
-
Eine
Komponente, die solche Umgebungen die üblicherweise verwenden, ist
ein Ressourcenverwaltungssystem oder ein Stapelplanungssystem. Dieses
Tool hilft Benutzern, Hochleistungsrechensysteme effektiv an ihre
Rechenbedürfnisse
anzuwenden. Ein solches System weist üblicherweise die Fähigkeit
zum Lokalisieren, Planen, Zuweisen und Liefern von Ressourcen oder
Diensten auf, während Vertragsanforderungen
für Lastausgleich,
Gerechtes-Teilen-Planung und optimale Verwendung von Ressourcen
respektiert wird. Stapelplanungssysteme wurden bei vielen Organisationen
verwendet, um eine Superrechenleistung zu erschwinglichen Kosten zu
erhalten.
-
Wenn
ein Benutzer kein gutes Stapelplanungsprogramm aufweist, muß der Benutzer
die Details des Rechensystems kennen, um transparent über mehrere
Knoten in ihrer Gruppe zu arbeiten. Diese Ressourcenzuweisung kann
so konfiguriert sein, daß die
Ressourcenverwendung optimal ist.
-
Viele
Implementierungen von Stapelplanungssystemen sind verfügbar geworden.
Einige derselben umfassen PBS von NASA, NQS, modifiziert von PBS
durch verschiedene Handelsgruppen, den Resource Manager von IDS
und den Task Broker von HP. Diese Lösungsansätze lösen ähnliche Probleme und wählen entweder
einen zentralisierten oder einen dezentralisierten Lösungsansatz.
Viele der zentralisierten Lösungsansätze liefern
keinen bedeutenden Betrag an Fehlertoleranz oder Flexibilität. Ein dezentralisiertes
Planen kann in der lokalen Domäne
verwendet werden, obwohl ein zentralisierter Lösungsansatz wahrscheinlich
besser eingestuft wird.
-
Bei
einem Gruppenverarbeitungssystem weist die Stapelplanung viele wichtige
Rollen auf. Erstens hilft das Stapelplanungssystem Benutzern beim
Verwalten ihrer Auftragsübermittlungen.
Zweitens steuert das Stapelsystem die Verteilung und Zuweisung von
Systemressourcen, wie z. B. die Zuweisung von Rechenknoten zu jeder
Benutzeraufgabe, um das Verhalten zu maximieren und die Ressourcenverwendung
zu optimieren. Drittens steuert das System die Gruppensystemfunktionen
gemäß einer bestimmten
Systemtaktik. Zum Beispiel können
bestimmte Systeme eine Speicher- und Platten-Verwendung für jeden Benutzer abhängig von
ihrer Priorität
einschränken.
-
Die
Spezifikation „PBS
portable batch system" von
R.L. Henderson und D. Tweten (Requirements Specification, NASA Ames
Research Center, 1998) beschreibt die Spezifikationen des portablen Batch-Systems.
Die Software PBS ist eine Erweiterung zu dem Betriebssystem POSIS
oder Unix und stellt die Fähigkeit
bereit, Jobs in einer Stapelumgebung zu unterbreiten und zu steuern.
Eine Steuerung erfolgt unabhängig
von der interaktiven Umgebung.
-
Die
Beschreibung „Maui
Administrator's
Guide" zu der Sofware „Maui,
Version 3.2", beschreibt den
Maui Scheduler. Der Maui Scheduler erlaubt die Steuerung, wo und
wie Ressourcen, wie z.B. Prozessoren, Speicher und Plattenlaufwerke
Jobs zugeteilt werden. Zusätzlich
zu der Steuerung bietet die Software auch Mechanismen, die es erlauben,
die Benutzung dieser Ressourcen zu optimieren sowie eine Systemleistung
zu überwachen.
Die Veröffentlichung beschreibt
unter anderem eine Job-Verwaltung, gemäß derer Jobs angehalten oder
verzögert
werden können.
Das Anhalten eines Jobs verhindert dabei, dass der Job ausgeführt wird.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein System zum Beenden
von Verfahren, ein Verfahren zum Beenden von verwandten Prozessen und
ein Verfahren zum Identifizieren und Beenden von verwandten Prozessen
mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein System zum Beenden von Prozessen gemäß Anspruch
1, 24, 25 oder 26, ein Verfahren zum Beenden von verwandten Prozessen
gemäß Anspruch
9 und ein Verfahren zum Identifizieren und Beenden von verwandten
Prozessen gemäß Anspruch
18 gelöst.
-
Die
Erfindung schafft ein System zum Beenden von Prozessen, die auf
einer Mehrzahl von verteilten Rechenknoten ausgeführt werden.
Das System weist ein Stapelwarteschlangenbildungssystem auf, das
konfiguriert ist, um Aufträge
von einem Benutzer zu empfangen und Aufträge zu den verteilten Rechenknoten
abzuwickeln. Eine Prozeßabschaltschnittstelle
ist umfaßt,
die konfiguriert ist, um Aufgabenkriterien zum Beenden von Prozessen
zu empfangen, die den Aufgabenkriterien an den verteilten Rechenknoten
entsprechen. Ein auto matisches Prozeßabschaltmodul steht in Kommunikation
mit der Prozeßabschaltschnittstelle.
Das automatische Prozeßabschaltmodul
ist konfiguriert, um Informationen basierend auf den Aufgabenkriterien
aus dem Stapelwarteschlangenbildungssystem wiederzugewinnen, die
sich auf die Verarbeitungsposition von Aufträgen beziehen, die zu dem Stapelwarteschlangenbildungssystem übermittelt
werden. Das automatische Prozeßabschaltmodul
ist ferner konfiguriert, um die Prozesse an den Rechenknoten für Aufträge zu beenden,
die unter Verwendung der Informationen identifiziert werden, die
von dem Stapelwarteschlangenbildungssystem erhalten werden.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Blockdiagramm, das ein System zum Beenden von Prozessen bei einem
Stapelwarteschlangenbildungssystem gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung darstellt;
-
2 ein
Flußdiagramm,
das ein Verfahren zum Beenden von Prozessen in einem Stapelwarteschlangenbildungssystem
bei einem Ausführungsbeispiel
der vorliegenden Erfindung zeigt;
-
3 ein
Flußdiagramm,
das ein detaillierteres Verfahren von Abschlußprozessen an jedem Rechenknoten
wie in 2 darstellt; und
-
4 ein
Blockdiagramm, das ein System zum Beenden von Prozessen bei einem
Gruppenverarbeitungssystem gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung darstellt.
-
Es
wird nun Bezug auf die exemplarischen Ausführungsbeispiele genommen, die
in den Zeichnungen dargestellt sind, und es wird hierin eine spezifische
Sprache verwendet, um dieselben zu beschreiben. Es wird trotzdem
darauf hingewiesen, daß dadurch
keine Einschränkung
des Schutzbereichs der Erfindung beabsichtigt ist. Änderungen
und weitere Modifikationen der hierin dargestellten erfinderischen
Merkmale und zusätzliche
Anwendungen der Prinzipien der Erfindungen, wie sie hierin dargestellt sind,
die einem Fachmann auf dem Gebiet in den Sinn könnten, der in Besitz dieser
Offenbarung ist, werden als Inhalt des Schutzbereichs der Erfindung betrachtet.
-
Einer
der Nachteile des Verwendens eines Stapelwarteschlangenbildungs-
oder Stapelplanungs-Systems ist, daß der Benutzer jeden dieser Aufträge zurück zu dem
Planer zum Beenden übermitteln
muß, wenn
ein Benutzer wünscht,
einen Auftrag oder eine Gruppe von Aufträgen zu beenden. Leider werden
diese Abschlußaufträge hinter
anderen Aufträgen
oder Anforderungen in der Wartschlange eingereiht, die bereits an
das Stapelwarteschlangenbildungssystem gemacht wurden. Dies kann
zu einem beträchtlichen
Betrag von Verzögerung
führen,
bevor die angeforderten Stapel oder Aufträge aus der Stapelwarteschlange
und aus ihren jeweiligen Rechenknoten gelöscht werden.
-
Dementsprechend
kann es eine relativ lange Zeitperiode dauern, die Aufträge zu beenden,
sogar wenn der Benutzer sofort weiß, daß die Aufträge Probleme haben, veraltet
oder unnötig
geworden sind.
-
Es
ist ferner zeitaufwendig für
den Benutzer, eine große
Anzahl von Anforderungen zu dem Stapelplanungssystem übermitteln
zu müssen.
Dies ist insbesondere der Fall, wenn eine Gruppe von Aufträgen beendet
werden muß,
da dieselben verwandt sind.
-
Ein
anderer Nachteil beim Verwenden eines zentralisierten Stapelwarteschlangenbildungssystems
ist, daß das
Stapelwarteschlangenbildungssystem nicht notwendigerweise zuverläs sig ist.
Da Benutzer ihre Aufträge
zu dem Stapelwarteschlangenbildungssystem übermitteln, wenn ein Problem
mit dem Stapelwarteschlangenbildungssystem vorliegt, können keine
neuen Aufträge
oder Auftragsabschlüsse
angefordert werden. Das Stapelwarteschlangenbildungssystem kann
ferner einen Engpaß erzeugen,
wenn eine große
Anzahl von Aufträgen
zu dem Warteschlangenbildungssystem übermittelt wurde und diese
Aufträge
einen beträchtlichen
Zeitbetrag zum Verarbeiten durch die Planungswarteschlange und den
Abwickler benötigen.
-
Eine
andere ähnliche
Situation ist, wenn der Planer in dem Stapelwarteschlangenbildungssystem ausfällt und
nicht in der Lage ist, weitere Anforderungen zu verarbeiten. Anders
ausgedrückt,
kann sich der Planer aufhängen.
In dieser Situation ist es schwierig, Prozesse zu stoppen, die an
Rechenknoten ausgeführt
werden, ohne das Stapelwarteschlangenbildungssystem erneut hochzufahren.
Während der
Zeit, in der das Stapelwarteschlangenbildungssystem wieder hochfährt, verbrauchen
die Prozesse, die auf den Rechenknoten ablaufen, Rechenressourcen.
Solche Prozesse verbrauchen Rechenleistung, sogar wenn dieselben
ungewollt sind oder zusammengebrochen sind.
-
Die
vorliegende Erfindung, wie sie in 1 dargestellt
ist, schafft ein System und ein Verfahren zum Beenden von Prozessen,
die auf einer Mehrzahl von verteilten Rechenknoten 30a, 30b, 30c in
einer Netzwerkrechenumgebung ausgeführt werden. Genauer gesagt
ermöglicht
diese Erfindung es einem Benutzer, Aufträge durch Aufgabenkriterien
zu beenden, wie z. B. Testfallnahme, Anwendungsnahme oder Startzeitbereich.
Zum Beispiel sind Rechenanwendungen, die zugeordnete Aufgabenkriterien
aufweisen können,
Hardwareverifizierungs-Testfälle, Software-Testfälle, Umgebungssimulationen
(z. B. Wettersimulationen), wissenschaftliche Simulationen (z. B.
physikalische und nukleare Simulationen), Computergrafikaufbereitung,
künstliche
Intelligenz „das
Starten von Drehbüchern" und ähnliche
rechenintensive Anwendungen. Die vorliegende Erfindung schafft ein
relativ schnelles und leistungsstarkes System zum Beenden von Prozessen
an verteilten Rechenknoten unter Verwendung von minimalen Kriterien.
Zusätzlich
dazu stellt dieses System und Verfahren einen Sicherungskanal zum
Beenden von Prozeßgruppen
bereit, die auf den verteilten Rechenknoten laufen.
-
Das
System weist ein Stapelwarteschlangenbildungssystem 22 auf,
das konfiguriert ist, um Auftragsanforderungen von einem oder mehreren Benutzern 20 zu
empfangen. Das Stapelwarteschlangenbildungssystem weist einen Planer 24 zum Bedienen
von Auftragsanforderungen und Bestimmen der Ausführungssequenz für Aufträge auf,
die zu dem Stapelwarteschlangenbildungssystem übermittelt wurden. Sobald die
Aufträge
geplant wurden, werden dieselben in eine Warteschlange 26 eingegeben
und die Auftragsdetails können
in ein Spool-Verzeichnis gespeichert werden. Die Warteschlange enthält Informationen über die
Aufträge
und wann die Aufträge
verarbeitet werden. Sobald sich die Aufträge in der Warteschlange befinden,
können
dieselben durch den Abwickler 28 abgewickelt werden, wenn die
geeigneten Rechenressourcen verfügbar
sind. Der Abwickler kann die Aufträge zu den Rechenknoten senden,
wenn dieselben in der Lage sind, diese basierend auf Lastausgleichsentscheidungen
zu empfangen. Die Ergebnisse von den Prozessen an den Rechenknoten
werden ebenfalls durch den Abwickler gesammelt, so daß dieselben
zu dem Benutzer zurückgesendet
werden können.
-
Eine
Prozeßabschaltschnittstelle 32 ist
konfiguriert, um Aufgabenkriterien oder andere Kriterien hoher Ebene
zum Beenden von Aufträgen
und Prozessen zu empfangen, die den Aufgabenkriterien entsprechen.
Die Prozeßabschaltschnittstelle
kann eine Befehlsleitungsschnittstelle sein, oder dieselbe kann
eine graphische Benutzerschnittstelle (GUI = Graphical User Interface)
sein, die es dem Benutzer ermöglicht,
Textkriterien einzugeben und/oder bestimmte Aufgabenoptionen auszuwählen. Die
Aufgabenkriterien können
durch einen Benutzer direkt in die Prozeßabschaltschnittstelle an einem
Vorderendenknoten eingegeben werden, der die Systemoperation steuert,
oder die Aufgabenkriterien können über eine
entfernte Kommunikation zu dem System gesendet werden.
-
Ein
automatisches Prozeßabschaltmodul 34 steht
in Kommunikation mit der Prozeßabschaltschnittstelle 32.
Alternativ können
das Prozeßabschaltmodul
und die Abschaltschnittstelle in dieselbe logische oder physische
Einheit kombiniert sein. Das automatische Prozeßabschaltmodul ist konfiguriert, um
Informationen von dem Stapelwarteschlangenbildungssystem wiederzugewinnen,
die den Ausführungsort
von Aufträgen
betreffen, die zu verschiedenen Knoten auf dem Stapelwarteschlangenbildungssystem übermittelt
werden. Informationen können von
den Inhalten der Planungswarteschlange unter Verwendung der Kriterien
des Benutzers abgefragt werden und die wiedergewonnenen Informationen können verwendet
werden, um noch spezifischere Informationen ausfindig zu machen.
Zum Beispiel können
die Testfallnamen aus der Warteschlange wiedergewonnen werden, und
dann kann das System die Aufträge
für Testfälle identifizieren,
die ausgewählt
wurden. Dann können
die Auftrags-Namen oder -Nummern verwendet werden, um Prozeßnamen aus
relevanten Rechenknoten wiederzugewinnen. Zusätzlich dazu können die
Ausführungs-Testfallnamen
zu der Prozeßabschaltschnittstelle
zurückgesendet
werden, und der Benutzer kann den oder die Testfälle auswählen, die der Benutzer beenden möchte.
-
Die
Aufgabenkriterien oder Namenskriterien können verwendet werden, um die
Informationen zu filtern, die für
Aufträge
aus dem Stapelwarteschlangenbildungssystem wiedergewonnen werden,
um eine Liste zu erzeugen. Diese gefilterte Auftragsliste wird durch
das automatische Prozeßabschaltmodul 34 verwendet,
um die Prozesse auf den Rechenknoten 30a, 30b, 30c zu
beenden, die unter Verwendung der Informationen identifiziert werden,
die von dem Stapelwarteschlangenbildungssystem erhalten werden.
-
Wie
vorangehend erörtert
wurde, kann ein Rechenknoten eine Computerarbeitsstation, ein Personalcomputer
oder eine andere Rechenvorrichtung sein, die mit den anderen Knoten
vernetzt ist. Diese Knoten können
miteinander unter Verwendung eines LAN, eines WAN oder einer anderen
Hochgeschwindigkeits-Netzwerkausrüstung vernetzt sein, die es den
Knoten ermöglicht,
zu kommunizieren.
-
Die
Aufgabenkriterien, die durch die automatische Prozeßabschaltschnittstelle
empfangen werden, können
einen Aufgabennamen umfassen. Genauer gesagt können Benutzer eine Gruppe von
Prozessen und Aufträgen
basierend auf einem spezifischen Aufgabennamen beenden, der durch
einen Benutzer übermittelt
wird. Der Aufgabenname kann ein Testfallname, ein Anwendungsfallname
oder spezifischere Kriterien sein, wie z. B. zeitbasierte Kriterien.
Die Aufgabenkriterien sind mit den Aufträgen für diese Aufgabe verbunden,
und die spezifischen Aufträge
helfen beim Identifizieren der Prozesse, die an den individuellen
Rechenknoten beendet werden können.
Die Verwendung des Wortes Kriterien in dieser Offenbarung ist ebenfalls
definiert, um den Eintrag eines einzelnen Kriteriums oder Aufgabennamens
zu umfassen.
-
Ein
Verfahren zum Erzeugen einer Benutzerauftragsliste erfordert Auftragsinformationen
aus der Stapelplanungswarteschlange. Wie erörtert wurde, ist dies eine
effektive Weise zum Identifizieren von Aufträgen, die spezifischen Aufgabenkriterien
entsprechen. Alternativ kann die Auftragsliste für eine spezifische Aufgabe
zu einem früheren
Zeitpunkt von der Stapelplanungswarteschlange zu dem automatischen
Prozeßabschaltmodul übertragen
worden sein.
-
Bei
einem Ausführungsbeispiel
kann die Aufträge-zu-Aufgabe-Abbildung in dem
Stapelwarteschlangenbildungssystem gespeichert sein. Alternativ
dazu kann diese Abbildung in dem automatischen Prozeßabschaltmodul
gespeichert sein. Auf diese Weise, wenn gefordert wird, daß eine Aufgabe
abgeschaltet wird, kennt das automatische Prozeßabschaltmodul die spezifischen
Aufträge,
die mit der angeforderten Aufgabe verbunden wurden, und dann können diese
Aufträge
in dem Stapelwarteschlangenbildungssystem nachgeschlagen werden.
Bei einem anderen alternativen Ausführungsbeispiel kann das Stapelwarteschlangenbildungssystem
die Informationen für
identifizierte Prozesse (die dem Auftrag entsprechen) zu dem automatischen
Abschaltmodul liefern.
-
Damit
das automatische Prozeßabschaltmodul
die Informationen darüber
empfängt,
welche Rechenknoten bestimmte Prozesse ausführen, kann das automatische
Abschaltmodul Verbindungen zu den entsprechenden Rechenknoten herstellen.
Die Verbindung zu den Rechenknoten kann unter Verwendung der automatischen
Systemauthentifizierung für
den Benutzer ausgeführt
werden, der fordert, daß eine
Aufgabe abgeschaltet wird. Die automatische Systemauthentifizierung
stellt üblicherweise eine
verschlüsselte
Kommunikationssitzung für
entfernte Rechenknoten bereit. Diese Kommunikation kann unter Verwendung
von Skriptbildung, automatischen Telnet-Sitzungen oder entfernten Shells durchgeführt werden,
um gültige
Benutzer-Konfigurationen und -Rechte einzurichten. Ein Beispiel
eines Rechenprotokolls, das bei der vorliegenden Erfindung zum Verbinden
mit einem entfernern System verwendet werden kann, ist Secure Shell
(SSH), das verschlüsselte
oder sichere Verbindungen liefert.
-
Diese
Erfindung liefert das nützliche
Ergebnis, daß ein
Benutzer in der Lage ist, alle entsprechenden Aufträge und Prozesse
für spezifische
Aufgabenkriterien abzuschalten. Dies spart einem Benutzer einen
beträchtlichen
Zeitbetrag beim Beenden von Aufträgen. Es verhindert ferner,
daß der
Benutzer wissen muß,
welche Aufträge
zu dem Stapelwarteschlangenbildungssystem für eine spezifische Aufgabe
gesendet wurden.
-
Das
vorliegende System und das Verfahren vermeiden die Zeit, die für das Stapelwarteschlangenbildungssystem
nötig ist,
um die spezifischen Abschaltaufträge durch den Planer zu verarbeiten.
Folglich liefert dies einen schnellen Weg zum Beenden von Prozessen,
die spezifischen Aufgabenkriterien entsprechen. Da Prozesse beendet
werden können, obwohl
das Stapelwarteschlangenbildungssystem gemieden wird, kann dadurch
ein Planer umgangen werden, der ausgefallen ist. Dieser zusätzliche
Abschlußweg
kann ferner andere Probleme innerhalb des Stapelwarteschlangenbildungssystems
verhindern, die ein Prozeßabschalten
verlangsamen oder verhindern könnten.
Es kann Situationen geben, in denen das Stapelwarteschlangenbildungssystem
zusammengebrochen ist und die Prozesse, die auf den Rechenknoten
laufen, Ressourcen innerhalb des gesamten Systems verbrauchen. Die
vorliegende Erfindung ermöglicht
es einem Benutzer, die Prozesse zu beenden, die auf Rechenknoten
laufen, sogar wenn der Stapelwarteschlangenbildungs-Planer und -Abwickler
nicht ordnungsgemäß arbeiten.
Der zusätzliche
Abschlußweg
kann ferner eine bestimmte Verarbeitungslast von dem Stapelwarteschlangenbildungssystem
nehmen.
-
Bei
einem Ausführungsbeispiel
der Erfindung kann das automatische Prozeßabschaltmodul Informationen
anfordern und speichern, die Aufgabenkriterien entsprechen, jedes
Mal, wenn eine Aufgabe und ihre spezifischen Aufträge zu dem
Stapelwarteschlangenbildungssystem übermittelt werden. Dann, sogar
wenn das Stapelwarteschlangenbildungssystem vollkommen deaktiviert
ist, kann das automatische Prozeßabschaltmodul Aufgaben basierend
auf übermittelten
Kriterien abschalten. Dies ermöglicht
es dem gesamten Rechensystem, sich von Problemen mit dem Stapelwarteschlangenbildungssystem
zu erholen, während
das Stapelwarteschlangenbildungssystem deaktiviert ist oder wieder
hochgefahren wird.
-
2 stellt
ein Verfahren zum Beenden verwandter Prozesse dar, die auf einem
verteilten Rechensystem mit einer Mehrzahl von Rechenknoten ausgeführt werden.
Das Verfahren umfaßt
den Schritt des Empfangens von Aufgabenkriterien von einer Benutzerschnittstelle
zum Beenden verwandter Prozesse bei Block 40. Ein anderer
Schritt ist das Bestimmen von Umgebungsinformationen für einen
Benutzer in dem verteilten Rechensystem bei Block 42. Dies
bedeutet, das automatische Prozeßabschaltmodul oder die Prozeßabschaltschnittstelle
kann die automatische Anmelde- und Netzwerk-Software abfragen, um
Rechte, Genehmigungen, Paßwörter und Umgebungsvariablen
eines Benutzers in dem verteilten Rechensystem zu bestimmen. Sobald
diese Umgebungsinformationen empfangen wurden, können dieselben verwendet werden,
um Informationen aus dem Stapelwarteschlangenbildungssystem wiederzugewinnen
und mit den Rechenknoten zu verbinden.
-
Ein
weiterer Schritt ist das Erzeugen einer Benutzerauftragsliste basierend
auf entsprechenden Umgebungsinformationen für einen Benutzer bei Block 44.
Die Benutzerauftragsliste wird unter Verwendung von Informationen
erzeugt, die aus der Stapelwarteschlange und dem Stapelwarteschlangenbildungssystem
wiedergewonnen werden. Anders ausgedrückt kann eine Liste von Benutzeraufträgen, die momentan
ablaufen und die verarbeitet werden, für einen Benutzer erzeugt werden.
Als nächstes
wird die Benutzerauftragsliste gefiltert, um eine gefilterte Auftragsliste
zu erzeugen, die Aufträge
umfaßt,
die mit den Aufgabenkriterien übereinstimmen,
die durch den Benutzer bei Block 46 bereitgestellt werden.
-
An
diesem Punkt weist das System eine Liste aller Aufträge auf,
die derart identifiziert wurden, daß sie zu bestimmten Aufgabenkriterien
gehören, die
durch einen Benutzer bereitgestellt werden. Das System stellt dann
eine Verbindung mit dem Rechenknoten her, die Prozesse aus der gefilterten
Auftragsliste bei Block 48 ausführen. Diese Verbindungen können unter
Verwendung der ID und der Genehmigungen des Benutzers hergestellt
werden, die von dem Netzwerksystem erhalten werden. Sobald das System
der vorliegenden Erfindung mit dem spezifischen Rechenknoten verbunden
ist, führt
das System den Schritt des Beendens von Prozessen aus der gefilterten
Auftragsliste an jedem Rechenknoten bei Block 50 durch.
Die weiteren Details dieses Schrittes an jedem Rechenknoten 52 werden
nachfolgend beschrieben.
-
3 stellt
ein Ausführungsbeispiel
eines Verfahrens zum Beenden eines Prozesses an einem individuellen
Rechenknoten bei Block 60 dar (siehe Block 52 in 2).
Dieser Prozeß ist
darstellend für eine
logische Implementierung dieses Abschlußprozesses, ist jedoch nicht
notwendigerweise eine tatsächliche
Implementierung. Anfänglich
kann das automatische Prozeßabschaltmodul
bei Block 62 eine Liste von Prozessen anfordern, die momentan
auf dem Rechenknoten laufen. Diese Liste umfaßt sehr spezifische Informationen über den
Prozeß,
wie z. B. die Prozeß-ID
und andere Attribute des Prozesses, wie er auf dem Rechenknoten
ausgeführt
wird. Die vorliegende Erfindung kann die Prozeßliste von dem Rechenknoten
bei Block 64 nach Prozessen durchsuchen, die sich auf die
gefilterte Auftragsliste beziehen. Anders ausgedrückt, ist
das System für
jeden Auftrag, der durch das automatische Prozeßabschaltmodul identifiziert
wurde, in der Lage, zu identifizieren, welche relevanten Prozesse
aus der gefilterten Auftragsliste auf diesem Rechenknoten vorliegen.
-
Wenn
eine Übereinstimmung
gefunden wird, extrahiert das automatische Prozeßabschaltmodul die Prozeß-ID für jeden
Prozeß auf
dem Rechnknoten, der der gefilterten Auftragsliste zugeordnet ist, wie
bei Block 66. Dann schließt das System bei Block 68 die
Prozesse an dem Rechenknoten ab, für die die Prozeß-IDs vorangehend
extrahiert wurden. An diesem Punkt werden diese Schritte für jeden
Prozeß wiederholt,
der an dem Rechenknoten beendet werden soll, wie bei Block 70 entschieden
wird. Schließlich
werden alle Prozesse an dem spezifischen Rechenknoten beendet und
das Verfahren wird für
diesen Rechenknoten bei Block 72 fertiggestellt.
-
Dieses
Abschlußverfahren
kann für
jeden Rechenknoten wiederholt werden, der Prozesse von den Aufgabenkriterien
oder einem verteilten System aufweist, die auf demselben laufen.
-
Bei
einem Ausführungsbeispiel
der Erfindung, wenn das System eine Liste von Prozessen anfordert,
die momentan auf dem Rechenknoten laufen, können die ID und Umgebungsinformationen von
dem Benutzer verwendet werden, um nur Prozesse anzufordern, die
diesem bestimmten Benutzer zugeordnet sind oder spezifischen Umgebungskriterien
entsprechen. Auf diese Weise untersucht das System nicht jeden Prozeß, der auf
jedem Rechenknoten läuft,
sondern untersucht nur Prozesse, die der Benutzer besitzt, oder
Prozesse, die andere Umgebungskriterien erfüllen, die vorbestimmt sind.
Zum Beispiel kann eine Anforderung für alle Prozesse gemacht werden,
die einem bestimmten Benutzer gehören, um beendet zu werden.
Dies ist eine rationalisierte Art und Weise für einen Benutzer, jeden Auftrag
oder Prozeß abzuschalten,
den er gestartet hat.
-
Ein
anderes Ausführungsbeispiel
der Erfindung kann in einem System verwendet werden, das eine Mehrzahl
von verteilten Rechenknoten enthält, die
kein Stapelwarteschlangenbildungssystem aufweisen. 4 stellt
ein solches System zum beenden von Prozessen in einer verteilten
Rechenumgebung dar. Dieses System umfaßt ein gemeinschaftlich verwendetes
Datei- und Informations-System 102, das die Wechselwirkung
und Informationen steuert, die zwischen den Rechenknoten 110a, 110b, 110c geleitet
werden. Benutzer 100 sind in der Lage, Prozesse oder Aufträge zu dem
Prozeßverfolgungsmodul 104 zu übermitteln.
Das Prozeßverfolgungsmodul
sendet dann diese Prozesse oder Aufträge zu den Rechenknoten. Das
Prozeßverfolgungsmodul
in dem gemeinschaftlich verwendeten Datei- und Informations-System
ist konfiguriert, um die Position der ausgeführten Prozesse zu verfolgen.
Dies bedeutet, daß keine
Stapelplanungs- oder Spezifischer-Ausgleichs-Algorithmen an das System
angewendet werden, aber daß Benutzer
trotzdem Prozesse zu dem gemeinschaftlich verwendeten Dateiinformationssystem übermitteln
können,
das die Prozesse zu Rechenknoten zuordnet.
-
Eine
Prozeßabschaltschnittstelle 106 ist
ferner konfiguriert, um Aufgabenkriterien zum Beenden von Aufträgen zu empfangen,
die den Aufgabenkriterien entsprechen. Wie vorangehend beschrieben wurde,
sammelt die Prozeßabschaltschnittstelle
Informationen, die spezifischen Kriterien entsprechen, wie z. B.
Fallnamen, Anwendungsnamen, Testnamen oder andere spezifische Kriterien,
mit denen der Benutzer eine Gruppe von Aufträgen beenden möchte. Die
Kriterien von der Prozeßabschaltschnittstelle können zu
dem automatischen Abschaltmodul 108 übertragen werden. Das automatische
Abschaltprozeßmodul
ist konfiguriert, um Informationen von dem Prozeßverfolgungsmodul zu empfangen,
die die Rechenknotenposition der Aufträge oder Prozesse betreffen.
Das automatische Abschaltprozeßmodul
fordert diese Informationen von dem gemeinschaftlich verwendeten
Datei- und Informations-System 102 und dem Prozeßverfolgungsmodul 104 basierend
auf den von Benutzern empfangenen Aufgabenkriterien an. Die Prozesse,
die beendet werden müssen,
werden basierend auf den Informationen identifiziert, die von dem
Prozeßverfolgungsmodul
empfangen werden, das Auftrags- oder Prozeß-Positionen an einem spezifischen
Rechenknoten identifiziert.
-
Das
Konfigurieren dieses Systems, um Prozesse zu beenden, liefert den
Vorteil eines redundanten Sicherungssystems, das zum Beenden von
Prozessen verwendet werden kann. Sogar wenn das gemeinschaftlich
verwendete Datei- und Informations-System zusammengebrochen oder
ausgefallen ist, kann das automatische Prozeßabschaltmodul weiterhin die
Aufgabenkriterien von der automatischen Prozeßabschaltschnittstelle empfangen
und die Prozesse an den Rechenknoten beenden. Dieses spezifische
Szenario setzt ferner voraus, daß das automatische Prozeßabschaltmodul
Zugriff auf die spezifischen Prozeßinformationen hat, die benötigt werden,
um die Rechenknoten abzuschalten, sogar wenn das gemeinschaftlich
verwendete Datei- und Informations-System zusammengebrochen ist.
Entweder kann das automatische Prozeßmodul auf die Dateien zugreifen,
die durch das gemeinschaftlich verwende te Dateiinformationssystem
verwendet werden, oder die Informationen über Auftrags- oder Prozeß-Positionen
können
zu dem automatischen Abschaltmodul übertragen werden, wenn die
Prozesse zu dem Prozeßverfolgungsmodul übermittelt
werden.