DE69712552T2 - Verfahren zur Überwachung eines Computersystems mit Leistungsdatenverteilung an mehrere Überwachungsprozesse - Google Patents
Verfahren zur Überwachung eines Computersystems mit Leistungsdatenverteilung an mehrere ÜberwachungsprozesseInfo
- Publication number
- DE69712552T2 DE69712552T2 DE69712552T DE69712552T DE69712552T2 DE 69712552 T2 DE69712552 T2 DE 69712552T2 DE 69712552 T DE69712552 T DE 69712552T DE 69712552 T DE69712552 T DE 69712552T DE 69712552 T2 DE69712552 T2 DE 69712552T2
- Authority
- DE
- Germany
- Prior art keywords
- performance data
- display
- computer
- computer system
- relay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 536
- 238000012544 monitoring process Methods 0.000 title claims description 94
- 230000008569 process Effects 0.000 claims description 488
- 238000005259 measurement Methods 0.000 claims description 49
- 230000005540 biological transmission Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 47
- 238000012545 processing Methods 0.000 description 37
- 238000004891 communication Methods 0.000 description 27
- 238000005192 partition Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3404—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
- Die Erfindung betrifft ein Verfahren zur Leistungsüberwachung, bei dem Leistungsdaten in einem Computersystem, das zwei oder mehr Computer mit einem Netzwerk verbindet, erfasst und angezeigt werden, ein Computersystem hierfür sowie ein Programmspeichermedium hierfür, und spezieller betrifft sie ein Leistungsüberwachungsverfahren, das für einen Parallelcomputer oder ein verteiltes System geeignet ist.
- Bei einem Parallelcomputer oder einem verteilten System werden die Betriebsabläufe im Vergleich mit einem sequenziellen Computer sehr kompliziert, da als Knoten bezeichnete, es aufbauende Computer zusammenwirkend parallel arbeiten, wobei die Funktionsabläufe der Knoten von denen anderer Knoten abhängen, wie es sich durch Kommunikation zwischen Knoten zeigt. Um einen derartigen Parallelcomputer effektiv zu nutzen und für genug Leistung des Parallelcomputers zu sorgen, ist es erforderlich, nicht nur den Betriebsablauf jedes Knotens genau zu erfassen, sondern auch die komplexen Betriebszustände des Parallelcomputers einschließlich der kausalen Beziehung zwischen Betriebsvorgängen von Knoten und einem Belastungsausgleich zwischen den Knoten und diese Information dazu zu verwenden, die ausgeführten Programme abzustimmen.
- Hinsichtlich Stands der Technik, der das Erfassen des Betriebszustands eines Computers unterstützt, wurden hauptsächlich die folgenden zwei Verfahren verwendet. Das erste ist eines, wie es z. B. von PerfView, wie von Hewlett-Packard Co. hergestellt, verwendet wird, bei dem Leistungsdaten jedes Knoten eines verteilten Systems in Beziehung zum Betriebszustand des Knotens gemessen werden, wie zum Betriebszustand der CPU, dem Nutzungszustand des Speichers und der Kommunikationshäufigkeit des Netzwerks. Die gemessenen Leistungsdaten werden im Speicher des Knotens, wie einem Magnetplattenspeicher usw. gespeichert. Die in jedem Knoten gespeicherten Leistungsdaten werden ferner in einem mit dem verteilten System verbundenen Computer gesammelt und grafisch oder dergleichen angezeigt, um die visuelle Erfassung der Leistungsdaten zu unterstützen.
- Das zweite ist z. B. durch Visualization Tool, hergestellt von IBM, repräsentiert, wobei ein Leistungsdaten erfassender Prozess in jedem Knoten eines Parallelcomputers aufgerufen wird und ein in einem Steuerungscomputer, der über das Netzwerk mit dem Parallelcomputer verbunden ist, aufgerufener Anzeigeprozess Leistungsdaten vom Erfassungsprozess jedes Knotens in Echtzeit empfängt und die von jedem Knoten empfangenen Leistungsdaten anzeigt. Beispielhaft wird auf "IBM Parallel Environment for AIX Operation and Use Version 2.1.0," S. 263-265, 1995 (Document Nummer GC23-3891-00), herausgegeben von International Business Machines Corp. verwiesen.
- Im Allgemeinen wird ein Parallelcomputer oder ein verteiltes System von zwei oder mehr Benutzern gemeinsam genutzt. Daher ist es bevorzugt, dass die zwei oder mehr Benutzer dazu in der Lage sind, die Leistungsdaten eines derartigen Computers in Echtzeit über das Netzwerk zu überwachen. Gemäß dem ersten Verfahren können Leistungsdaten jedes Knotens im Speicher gesammelt werden, jedoch kann der Betriebszustand des verteilten Systems nicht in Echtzeit erfasst werden, da die Leistungsdaten nach Abschluss der Messung derselben analysiert und angezeigt werden. Gemäß dem zweiten Verfahren ist es möglich, dass der Anzeigeprozess Leistungsdaten von Erfassungsprozess in jedem Knoten in Echtzeit empfängt und sie anzeigt, jedoch offenbart das o. g. Bezugsdokument nicht konkret ein Verfahren zum Überwachen der Leistungsdaten desselben Computers (Überwachungsziel) durch zwei oder mehr Benutzer.
- Ein Verfahren, das die Überwachung eines verteilten Computersystems durch zwei oder mehr Benutzer erlaubt, ist im Dokument US-5,432,932 offenbart, von dem der Oberbegriff des Anspruchs 1 ausgeht. Dieses Verfahren ist durch ein Serverprogramm (Datenlieferant) realisiert, das als Dämon auf einem Serversystem läuft, sowie durch ein oder mehrere Kleinstprogramme (Datenverbraucher), die für die Überwachungsmaßnahmen für die Benutzer sorgen. Der Datenlieferant- Dämon sammelt Leistungsdaten nur auf Anforderung eines Benutzers. Bei Anforderung von einem Benutzer sammelt er die angeforderten Leistungsdaten und liefert sie an den Datenverbraucher des Benutzers. Daher nimmt die Last des Datenlieferanten mit zunehmender Anzahl von Benutzern zu.
- Ein Verfahren zum Überwachen eines verteilten MPP-Computersystems ist auch in Proceedings Of The First Aizu International Symposium On Parallel Algorithms/Architecture Synthesis, 15.-17. März 1995, Fukushima, Japan, Seiten 78-84, XP000672397, Hansen O., Krammer J.: "A Scalable Performance Analysis Tool for Power PC Based MPP Systems". Eine variable Last, die sich aus Anforderungen durch den Benutzer ergibt, ist nicht erörtert.
- Wenn jedoch Leistungsdaten desselben Überwachungsziels von zwei oder mehr Benutzern überwacht werden, ist es bevorzugt, dass die Belastung des Überwachungsziels aufgrund der Überwachung desselben selbst nicht zunimmt, wenn die Anzahl der überwachenden Benutzer zunimmt.
- Daher ist es eine Aufgabe der Erfindung, ein Verfahren zum Überwachen der Leistung eines Computers zu schaffen, das für Überwachung durch zwei oder mehr Benutzer in Echtzeit ausgebildet ist, wobei eine Zunahme der Belastung eines der Überwachung unterliegenden Computersystems (Überwachungsziel) durch die Leistungsmessung desselben unterdrückt ist.
- Diese Aufgabe ist durch das im Anspruch 1 dargelegte Verfahren gelöst. Die Unteransprüche sind auf bevorzugte Ausführungsformen der Erfindung gerichtet.
- Um die o. g. Aufgabe zu lösen, erfasst, gemäß einer Ausführungsform der Erfindung, ein Computer des Überwachungsziels Leistungsdaten von sich aus auf wiederholte Weise und überträgt sie über ein Netzwerk an einen Computer zur Überwachung des Betriebszustands. Ein auf diesem Computer zur Überwachung des Betriebszustands aufgerufener Weiterleitungs- oder Relaisprozess empfängt die empfangenen Leistungsdaten und überträgt sie an einen, zwei oder mehr Verwendungsprozesse, die auf demselben oder verschiedenen Computern aufgerufen sind. Zu den gemessenen Leistungsdaten gehören mehrere Leistungsdaten für mehrere Einzelmesspunkte oder Messeinheiten. Die Verwendungsprozesse können Anzeigeprozesse oder Log(protokollier)-Prozesse sein. Wenn ein Anzeigeprozess die vom Relaisprozess übertragenen Leistungsdaten empfängt, zeigt er denjenigen Teil der Leistungsdaten, der einem Teil der mehreren Messeinzelheiten entspricht, auf einer mit dem Computer, auf dem der Anzeigeprozess aufgerufen ist, verbundenen Anzeigevorrichtung an. Wenn ein Log- Prozess die durch den Anzeigeprozess übertragenen Leistungsdaten empfängt, speichert er alle Leistungsdaten in einen mit dem Computer auf dem der Log-Prozess aufgerufen ist, verbundenen Speicher ein.
- Gemäß einer bevorzugten Betriebsart der Erfindung werden, wenn der der Überwachung unterliegende Computer ein Parallelcomputer ist, Leistungsdaten, die ein in jedem Knoten des Parallelcomputers aufgerufener Erfassungsprozess erfasst hat, durch einen Sammelprozess gesammelt, der auf einem vorbestimmten, mit dem Netzwerk verbundenen Knoten im Parallelcomputer aufgerufen ist, und sie werden weiter an den Relaisprozess übertragen.
- Fig. 1 ist ein schematisches Diagramm eines Leistungsüberwachungssystems für einen Parallelcomputer gemäß einer bevorzugten Ausführungsform der Erfindung.
- Fig. 2 ist ein Moduldiagramm eines Erfassungsprozesses im Leistungsüberwachungssystem für einen Parallelcomputer gemäß der Fig. 1.
- Fig. 3 ist ein Moduldiagramm eines Sammelprozesses im Leistungsüberwachungssystem für einen Parallelcomputer gemäß der Fig. 1.
- Fig. 4 ist ein Moduldiagramm eines Relaisprozesses im Leistungsüberwachungssystem für einen Parallelcomputer der Fig. 1.
- Fig. 5 ist ein Moduldiagramm eines Anzeigeprozesses und eines Log-Prozesses im Leistungsüberwachungssystem für einen Parallelcomputer der Fig. 1.
- Fig. 6A ist ein Flussdiagramm eines Teils der Verarbeitungsprozedur eines im System der Fig. 1 verwendeten Leistungsüberwachungsverfahrens für einen Parallelcomputer.
- Fig. 6B ist ein Flussdiagramm eines anderen Teils der Verarbeitungsprozedur eines im System der Fig. 1 verwendeten Leistungsüberwachungsverfahrens für einen Parallelcomputer.
- Fig. 7 zeigt ein Beispiel eines Anzeigeschirms für Leistungsdaten.
- Fig. 8 zeigt ein anderes Beispiel eines Anzeigeschirms für Leistungsdaten.
- Fig. 9A zeigt ein Beispiel der Form eines Kopfdatensatzes in einem Block, den ein Log-Prozess in einen Speicher einspeichert.
- Fig. 9B zeigt ein Beispiel der Form eines üblichen Datensatzes im Block, den der Log-Prozess im Speicher abspeichert.
- Fig. 9C zeigt ein Beispiel der Form eines Blockende-Datensatzes im Block, den der Log-Prozess im Speicher abspeichert.
- Fig. 9D zeigt ein Beispiel der Form einer Datei, die der Log-Prozess im Speicher abspeichert.
- Fig. 10 ist ein Flussdiagramm der Neuanzeige-Verarbeitungsprozedur für gespeicherte Daten.
- Fig. 11 zeigt ein Beispiel eines Steuerungsschirms zum Steuern der Anzeigefunktion der gespeicherten Protokolldaten.
- Fig. 12 ist ein schematisches Diagramm eines Parallelcomputers, bei dem das Leistungsüberwachungsverfahren gemäß einer Ausführungsform der Erfindung angewandt ist.
- Fig. 13 ist ein schematisches Diagramm eines anderen Parallelcomputers, bei dem das Leistungsüberwachungsverfahren gemäß einer Ausführungsform der Erfindung angewandt ist.
- Unter Bezugnahme auf ein oder mehrere Ausführungsformen oder deren Modifizierungen, wie in den Zeichnungen dargestellt, wird nun ein erfindungsgemäßes Leistungsüberwachungsverfahren detaillierter erläutert. Dieselben oder ähnliche Zahlen repräsentieren dieselben oder ähnliche Elemente. Bei der zweiten oder späteren Ausführungsform werden hauptsächlich Unterschiede zur ersten Ausführungsform erläutert.
- Gemäß der Fig. 12 verfügt der Parallelcomputer 1 über mehrere Knoten 2 und mindestens ein internes Netzwerk 5, das diese Knoten 2 verbindet. Jeder Knoten besteht aus mindestens einem Prozessor 2A und einem Speicher 2B usw. Der Speicher 2B jedes Knotens enthält ein Programm, das der Prozessor 2A des Knotens ausführt, sowie Daten für das Programm. Jeder Knoten oder ein Teil der Knoten verfügt ferner über eine periphere Vorrichtung wie einen Magnetspeicher, jedoch ist diese periphere Vorrichtung der Vereinfachung halber nicht dargestellt. Ein spezieller Knoten des Parallelcomputers 1 ist mit dem externen Netzwerk 21 verbunden. Mit dem externen Netzwerk 21 können zwei oder mehr Computer 11 verbunden werden. Der o. g. eine Knoten und diese Computer kommunieren über das Netzwerk 21 miteinander. Der Parallelcomputer 1 ist ein Computer, der einer Überwachung unterworfen wird, und die zwei mit dem externen Netzwerk 21 verbundenen Computer 11 sind Beispiele für zur Überwachung verwendete Computer. Andere mit dem Netzwerk 21 verbundene Computer sind in der Fig. 12 der Vereinfachung halber nicht dargestellt. Jeder Computer 11 besteht aus dem Prozessor 11A und dem Speicher 11B. Die Eingabe/Ausgabe-Vorrichtung 12, die eine Anzeigevorrichtung, die Tastatur usw. enthält, und der Speicher 13 wie ein Magnetplattenspeicher sind mit dem Computer 11 verbunden. Jeder Prozessor wird durch ein geeignetes Betriebssystem (OS), z. B. UNIX (eingetragenes Warenzeichen von X/Open Company Limited in den USA und anderen Ländern) gesteuert.
- Die fünf Arten von Prozessen, die das Überwachungssystem bei der vorliegenden Ausführungsform aufbauen, und die Beziehungen zwischen den Prozessen sind in der Fig. 1 dargestellt. Der Erfassungsprozess 4 wird in jedem Knoten 2 des Parallelcomputers 1 ausgeführt. Dieser Erfassungsprozess 4 erfasst Leistungsdaten jedes Knotens 2 auf wiederholte Weise mit konstantem Zeitintervall. Der Sammelprozess 3 wird im speziellen Knoten ausgeführt, der hinsichtlich der zwei oder mehr Knoten 2 des Parallelcomputers 1 mit dem externen Netzwerk 21 verbunden ist. Der Sammelprozess sammelt die Leistungsdaten jedes Knotens, die der Erfassungsprozess 4 in jedem Knoten erfasst hat, und er überträgt sie an einen Überwachungscomputer 11.
- Andererseits werden der Relaisprozess 15, der Anzeigeprozess 16 und der Log-Prozess 17 auf diesem einen Überwachungscomputer 11 aufgerufen. Der Relaisprozess 15 wird nur auf einem der Überwachungscomputer 11 aufgerufen, und er sendet und empfängt Daten hinsichtlich des Sammelprozesses 3. Der Anzeigeprozess 16 und der Log-Prozess 17 werden von einem Benutzer oder zweien oder mehreren aufgerufen. Der oder die Benutzer können so viele Anzeigeprozesse 16 oder Log-Prozesse aufrufen, wie sie benötigen. Diese Prozesse können die durch den Relaisprozess 15 verteilten Leistungsdaten empfangen. Der Anzeigeprozess zeigt auf der Anzeigevorrichtung in der Eingabe/Ausgabe-Vorrichtung 12 einen Teil der verteilten Leistungsdaten an, der einem Teil der mehreren Messeinzelheiten entspricht. Der Log-Prozess speichert die gesamten verteilten Leistungsdaten in den Speicher 13 ein. Der Anzeigeprozess 16 und der Log-Prozess 17 müssen nicht notwendigerweise im Überwachungscomputer 11 aufgerufen werden, in dem der Relaisprozess 15 aufgerufen wurde, sondern sie können auf anderen Computern aufgerufen werden, die über das Netzwerk 12 mit dem Überwachungscomputer 11 verbunden sind. Darüber hinaus können zwei oder mehr Anzeigeprozesse 16 auf einem beliebigen Überwachungscomputer 11 aufgerufen werden. In ähnlicher Weise ist es auch möglich, zwei oder mehr Log- Prozesse 17 im Überwachungscomputer 11 aufzurufen.
- Als nächstes wird erläutert, wie alle Prozesse des vorliegenden Überwachungssystems zusammenwirkend arbeiten, wozu auf das Flussdiagramm der Fig. 6A und 6B und die interne Struktur der fünf Prozesse, wie in den Fig. 2 bis 5 dargestellt, Bezug genommen wird. Der Sammelprozess 3 wird im Parallelcomputer 1 im o. g. speziellen, mit dem externen Netzwerk 21 verbundenen Knoten 2 aufgerufen (Schritt 521 (Fig. 6A)). Im Allgemeinen wird der Aufruf dieses Sammelprozesses 3 dadurch ausgeführt, dass vom Systemadministrator ein Sammelprozess-Aufrufbefehl an den Parallelcomputer 1 eingegeben wird. Der Sammelprozess 3 führt, wenn er aufgerufen ist, eine Initialisierung aus. Z. B. wird die Konfigurationsdefinitions-Datei 208 (Fig. 3) gelesen. Die Datei beschreibt die Konfiguration des Parallelcomputers 1, wie die Anzahl der Knoten, das Attribut jedes Knotens und die Anzahl von Messknoten. Das Attribut jedes Knotens beinhaltet die Adresse jedes Knotens und die Beschreibung der peripheren Vorrichtung dahingehend, ob eine periphere Vorrichtung wie ein Magnetplattenspeicher am Knoten angebracht ist. Wenn die Initialisierung endet, wartet der Sammelprozess 3 auf eine Verbindungsanforderung vom Relaisprozess 15, der auf einem Überwachungscomputer 11 aufgerufen wird.
- Als nächstes wird der Relaisprozess 15 auf einem Überwachungscomputer 11 aufgerufen (Schritt 541). Im Allgemeinen wird der Aufruf des Relaisprozesses 15 dadurch ausgeführt, dass vom Systemadministrator ein Relaisprozess-Aufrufbefehl über den Überwachungscomputer 11 eingegeben wird. Dieser Relaisprozess 15 kann auf jedem beliebigen Computer aufgerufen werden, der über das Netzwerk 21 mit dem Parallelcomputer 1 verbunden ist. Es ist jedoch normale Vorgehensweise, den Relaisprozess auf einem speziellen Computer aufzurufen, der durch eine Gruppe von Benutzern zugänglich ist, wie einer Steuerungsworkstation für den Parallelcomputer 1, da die Möglichkeit besteht, dass der aktuelle Prozess mit zwei oder mehr Anzeigeprozessen verbunden ist, die von zwei oder mehr Benutzern auf mehreren Computern aufgerufen sind. Der Systemadministrator gibt, als Argument für den Prozessaufrufbefehl für diesen Relaisprozess 15, einen Parameter wie Internetprotokoll-Adresseninformation des Parallelcomputers 1 (oder dessen Hostnamen), wie erforderlich, wenn eine Verbindungsanforderung an den Sammelprozess 3 zu liefern ist, und ein Zeitintervall zum Erfassen von Leistungsdaten ein. Der aufgerufene Relaisprozess 15 gibt durch die Verbindungsroutine 305 der Fig. 4 (Schritt 542) eine Verbindungsanforderung an den Sammelprozess 3 aus. Die Verbindungsanforderung kann durch den in UNIX verwendeten Systemverbindungsaufruf realisiert werden. An diesem Punkt wird die Internetprotokoll-Adresseninformation des Parallelcomputers 1, die als Argument des Aufrufbefehls vorliegt, als Kennungsinformation des Sammelprozesses 3 verwendet, an den die Verbindungsanforderung auszugeben ist.
- Im Sammelprozess 3, der die Verbindungsanforderung empfangen hat, führt die Verbindungsroutine 202, 204 eine Verbindung mit der Verbindungsroutine 305 (Fig. 4) im Relaisprozess 15 aus, um es dadurch dem Sammelprozess 3 zu ermöglichen, Daten an den Relaisprozess 15 zu senden oder von diesem zu empfangen (Schritt 522). Nach Abschluss der Verbindung sendet der Sammelprozess 3 die Konfigurationsdefinition des Parallelcomputers 1, die zuvor aus der Konfigurationsdefinitions- Datei 208 gelesen wurde, an den Relaisprozess 15 (Schritt 523).
- Beim vorliegenden System werden Datenanforderungen dadurch ausgetauscht, dass Mitteilungen zwischen den das System aufbauenden Prozessen übertragen werden. Bei der vorliegenden Ausführungsform besteht eine Mitteilung aus einer Byteserie variabler Länge. Das erste Byte ist ein Kennungsfeld., das eine die Art der Mitteilung anzeigende Kennung enthält, und das folgende Datenfeld enthält den Datenkörper. Eine Mitteilung kann nur aus dem Kennungsfeld bestehen.
- Um die Konfigurationsdefinition mittels des obigen Schritts 523 zu übertragen, erzeugt die interne Verarbeitungsroutine 207 (Fig. 3) im Sammelprozess 3 eine die Konfigurationsdefinition enthaltende Mitteilung im Eingangs/Ausgangs-Puffer 203, der entsprechend dem Relaisprozess 15 vorhanden ist. D. h., dass das Kennungsfeld eine Kennung von einem Byte enthält, das anzeigt, dass die vorliegende Mitteilung die Konfigurationsdefinition enthält und das Datenfeld die Internetprotokolladresse des Überwachungscomputers 11 enthält. Eine wie diese aufgebaute Mitteilung wird unter Verwendung des Systemsendeaufrufs von UNIX über das Netzwerk 21 an den Relaisprozess 15 gesendet.
- Wenn der Relaisprozess 15 diese Mitteilung vom Sammelprozess 3 empfängt, erkennt die Eingangsanalyseroutine 306 (Fig. 4) auf Grundlage der Kennung in der Mitteilung, dass die Mitteilung die Konfigurationsdefinition des Parallelcomputers 1 betrifft. Die Eingangsanalyseroutine 306 berechnet ferner die Größen der Eingangs/Ausgangs-Puffer 301, 302, die zum Übertragen von Leistungsdaten erforderlich sind, auf Grundlage der Anzahl der Knoten in der Konfigurationsdefinition. Die berechneten Größen werden verwendet, wenn diese Eingangs/Ausgangs-Puffer später zugeordnet werden. Ein Eingangs/Ausgangs-Puffer 301 oder 302 wird entsprechend jedem Anzeigeprozess 16 oder Log-Prozess 17, wie sie später aufgerufen werden, zugeordnet. Die Größen dieser Eingangs/Ausgangs-Puffer müssen nur der Länge der Leistungsdaten, wie in einem einmaligen Schritt durch einen Erfassungsprozess 4 in einem Knoten des Parallelcomputers 1 erfasst, multipliziert mit der Anzahl der Knoten entsprechen, oder größer sein.
- Als nächstes fordert der Relaisprozess 15 den Sammelprozess 3 dazu auf, den Erfassungsprozess 4 in jedem Knoten aufzurufen (Schritt 543). Genauer gesagt, überträgt der Relaisprozess 15 eine Mitteilung, die eine die Aufrufanforderung anzeigende Anforderungskennung enthält, an den Sammelprozess 3, ähnlich der Übertragung der Computerkonfigurationsdefinition. Wenn der Sammelprozess 3 dies empfängt, erkennt die Eingangsanalyseroutine 205 den Inhalt der Anforderung aus der Kennung.
- Auf die vom Relaisprozess 15 gelieferte Anforderung hin, den Erfassungsprozess 4 aufzurufen, ruft der Sammelprozess 3 den Erfassungsprozess 4 in jedem Knoten unter Verwendung der Knotenadresse in der zuvor empfangenen Konfigurationsdefinition auf (Schritt 524). Zum Aufruf wird die Funktion "remote shell" von UNIX verwendet. Wenn der Erfassungsprozess 4 aufgerufen ist (Schritt 501), führt er eine Initialisierung einschließlich der Ausführung einer Verbindungsherstellung mit dem Sammelprozess 3 mittels der Verbindungsroutine 100 (Fig. 2) unter Verwendung des Verbindungssystemaufrufs von UNIX aus. Danach wartet der Erfassungsprozess 4 darauf, dass vom Sammelprozess 3 der Start einer Überwachung angefordert wird.
- Wenn eine Verbindung mit dem Sammelprozess 3 durch den Erfassungsprozess 4 in jedem Knoten errichtet wurde, teilt der Sammelprozess 3 dem Relaisprozess 15 den Abschluss der Aufrufverarbeitung mit. Auf den Hinweis hin fordert der Relaisprozess 15 den Sammelprozess 3 auf, mit der Überwachung zu beginnen (Schritt 544). Die Mitteilung, die der Relaisprozess 15 an den Sammelprozess 3 sendet, um den Start der Überwachung anzufordern, beinhaltet eine die Art der Anforderung anzeigende Kennung und Information zum Zeitintervall zum Erfassen von Leistungsdaten.
- Bei Empfang der Startanforderungsmitteilung überträgt der Sammelprozess 3 eine Startbeginn-Anforderungsmitteilung an den Erfassungsprozess 4 in jedem Knoten (Schritt 525). Wenn der Erfassungsprozess 4 aufgerufen ist, gibt die Zählersteuerungs-/Leseroutine 104 den Systemauswählaufruf aus, und der Erfassungsprozess 4 geht in einen Zustand des Wartens auf das Eintreffen einer Mitteilung über. Wenn der Erfassungsprozess 4 das Eintreffen einer Mitteilung auf Grundlage einer Rückmeldung zum Systemauswählaufruf erkennt, geht die Verarbeitung des Erfassungsprozesses 4 zur Eingabeanalyseroutine 102 über. Die Eingabeanalyseroutine 102 gibt den Systemempfangsaufruf aus und liest die eingetroffene Mitteilung in den Eingangs/Ausgangs-Puffer 101 ein.
- Wenn die Eingangsanalyseroutine 102 klärt, dass die Kennung im ersten Feld der Mitteilung die Überwachungsstartbeginn- Anforderungsmitteilung ist, entnimmt die Eingangsanalyseroutine 102 das in der Mitteilung enthaltene Zeitintervall zum Erfassen von Leistungsdaten und kehrt unter Verwendung dieses Zeitintervalls als Rücklieferungswert zur Zählersteuerungs-/Leseroutine 104 zurück. Wenn der Erfassungsprozess 4 die Erfassungsstartanforderung empfängt und er das in der Anforderung enthaltene Erfassungszeitintervall liest, stellt die Zählersteuerungs-/Leseroutine 104 dieses Erfassungszeitintervall in der Taktsignal-Erzeugungsroutine 107 ein, und diese erzeugt mit dem gegebenen, in sie eingetragenen Zeitintervall einen Interrupt für die Zählersteuerungs-/Leseroutine 104.
- Immer dann, wenn die Zählersteuerungs-/Leseroutine 104 einen Interrupt von der Taktsignal-Erzeugungsroutine 107 empfängt, gibt sie einen Funktionsaufruf wie den Aufruf "rstat system" aus, der der Systemaufruf in UNIX zum Erfassen von Leistungsdaten ist, und sie erfasst Leistungsdaten von der OS 105 (Schritt SO&sub2;). Die zu erfassenden Leistungsdaten gelten für mehrere Messeinzelheiten, und die Zahl und die Arten der Messeinzelheiten werden abhängig von der Spezifizierung des o. g. Funktionsaufrufs vorbestimmt. Im Allgemeinen können Leistungsdaten wie die CPU-Verfügbarkeit innerhalb einer Zeiteinheit, das Speichernutzungsverhältnis, die Zugriffshäufigkeit auf den. Magnetplattenspeicher und die Kommunikationsanzahl betreffend das Netzwerk (d. h. die Sendeanzahl und die Empfangsanzahl) erhalten werden.
- Die OS 105 liest diese Leistungsdaten aus dem Softwarezähler 106 innerhalb des Kernels sowie aus den Hardwarezählern 108 im Knoten, und sie liefert sie als Ausgangsargumente des Aufrufs "rstat system" zurück. Wenn die Zählersteuerungs- /Leseroutine 104 des Erfassungsprozesses 4 Leistungsdaten erfasst hat, speichert sie diese in den Eingangs/Ausgangs- Puffer 101 ein und gibt die Steuerung an die Ausgabesteuerungsroutine 103 weiter. Diese Ausgabesteuerungsroutine 103 gibt den Aufruf "send system" aus, um dadurch den Inhalt des Eingangs/Ausgangs-Puffers 101 über das interne Netzwerk 5 an den Sammelprozess 3 zu senden (Schritt 503).
- Im Sammelprozess 3 überwacht die interne Verarbeitungsroutine 207 (Fig. 3) das Eintreffen einer Mitteilung vom Erfassungsprozess 4 in einem der Knoten unter Verwendung einer Funktion "select", die ein Systemaufruf des OS ist. Die Mitteilung ist eine solche, die individuelle Leistungsdaten eines der Knoten enthält. Wenn das Eintreffen der Mitteilung klargestellt ist, ruft die interne Verarbeitungsroutine 207 die Eingangsanalyseroutine 205 auf. Diese Eingangsanalyseroutine 207 gibt den Systemaufruf "receive" aus und liest die individuellen Leistungsdaten in der empfangenen Mitteilung in den Eingangs/Ausgangs-Puffer 201 ein. Dann speichert die Eingangsanalyseroutine 205 die Kennung des Erfassungsprozesses, der die Mitteilung gesendet hat, ab, und sie prüft, ob die Leistungsdaten von allen Erfassungsprozessen 4 in den Knoten gesendet wurden, und sie gibt die Steuerung an die interne Verarbeitungsroutine 207 zurück. Wenn mindestens ein Erfassungsprozess 4 existiert, der noch keine Leistungsdaten übertragen hat, gibt die interne Verarbeitungsroutine 207 den Systemaufruf "select" aus und setzt das Überwachen des Eintreffens einer Mitteilung fort, die individuelle Leistungsdaten von diesem Erfassungsprozess 4 enthält.
- Wenn individuelle Leistungsdaten von allen in den Knoten 2 aufgerufenen Erfassungsprozessen 4 im Sammelprozess 3 eingetroffen sind, kopiert die interne Verarbeitungsroutine 207 alle in den Eingangs/Ausgangs-Puffern 201, wie sie für alle Erfassungsprozesse 4 in allen Knoten 2 vorhanden sind, gespeicherten Leistungsdaten in den für den Relaisprozess 15 vorhandenen Eingangs/Ausgangs-Puffer 203 ein und setzt diese kopierten individuellen Leistungsdaten zu einer Mitteilung zusammen. Die Mitteilung beinhaltet eine Anforderungskennung und folgende Reihen mehrerer individueller Leistungsdaten, wie sie von den Erfassungsprozessen 4 in den Knoten 2 geliefert wurden.
- Als nächstes ruft die interne Verarbeitungsroutine 207 die Ausgabesteuerungsroutine 206 auf. Diese Ausgabesteuerungsroutine 206 gibt den Systemaufruf "send" von UNIX aus und überträgt die die Leistungsdaten enthaltende Mitteilung an den Relaisprozess 15 (Schritt 526).
- Im Relaisprozess 15 gibt die interne Verarbeitungsroutine 308 den Systemaufruf "select" von UNIX aus und wartet auf das Eintreffen einer Mitteilung vom Sammelprozess 3. Wenn die interne Verarbeitungsroutine 308 das Eintreffen einer Mitteilung vom Sammelprozess 3 erkennt, verschiebt sie die Steuerung auf die Eingabeanalyseroutine 306. Die Eingabeanalyseroutine 306 gibt den Systemaufruf "receive" von UNIX aus und liest die Leistungsdaten in der Mitteilung in den Eingangs/Ausgangs-Puffer 304 ein, der entsprechend dem Sammelprozess 3 vorhanden ist (Schritt 545).
- Nach Empfang der Leistungsdaten klärt der Relaisprozess 15, ob der Anzeigeprozess 16 oder der Log-Prozess 17 mit ihm verbunden ist. Wenn weder der Anzeigeprozess 16 noch der Log-Prozess 17 mit dem Relaisprozess 15 verbunden ist, wird die folgende Übertragungsverarbeitung für die empfangenen Leistungsdaten nicht ausgeführt.
- Wenn zumindest ein Anzeigeprozess 16 mit dem Relaisprozess 15 verbunden ist, kopiert dieser die Mitteilung vom Eingangs/Ausgangs-Puffer 304 in den Eingangs/Ausgangs-Puffer 301, der in eindeutiger Entsprechung mit dem Anzeigeprozess 16 verbunden ist, um so die Leistungsdaten an den mit dem Eingangs/Ausgangs-Puffer 301 verbundenen Anzeigeprozess 16 zu verteilen.
- Wenn mehrere Eingangs/Ausgangs-Puffer 301 vorhanden sind, mit denen mehrere Anzeigeprozesse 16 verbünden sind, verteilt der Relaisprozess 15 die Leistungsdaten an alle Anzeigeprozesse 16 auf dieselbe Weise. Wenn mit dem Relaisprozess 15 ein Log-Prozess 17 verbunden ist, wird der Eingangs/Ausgangs-Puffer 301 verwendet, der entsprechend dem Log-Prozess 17 vorhanden ist. Einzelheiten zur vorliegenden Verteilungsverarbeitung werden später beschrieben.
- So kann der Benutzer des vorliegenden Überwachungssystems den Anzeigeprozess 16 oder den Log-Prozess 17 verwenden, wenn er den Anzeigeprozess 16 oder den Log-Prozess 17 aufruft, nachdem der Erfassungsprozess 4, der Sammelprozess 3 und der Relaisprozess 15 vom Systemadministrator aufgerufen wurden. In diesem Fall kann der andere, in der Fig. 1 dargestellte Computer 11 zur Überwachung auf dem Schreibtisch eines Benutzers stehen. So ist es möglich, die Leistungsdaten des Parallelcomputers 1 von einem Computer aus zu überwachen, den der Systemadministrator steuert, und von einem Universal-PC, der an einem Ort entfernt vom ersteren Computer vorhanden ist. In der vorliegenden Beschreibung wird ein Universalcomputer auch als Computer zur Überwachung bezeichnet, wenn er für die Überwachung verwendet wird.
- Bei der vorliegenden Ausführungsform kann der Relaisprozess 15 auf einem beliebigen Computer aufgerufen werden, und der Anzeigeprozess 16 oder der Log-Prozess 17, der die Leistungsdaten nutzt, kann auf einem beliebigen Computer aufgerufen werden. Es werden Leistungsdaten für mehrere Messeinzelheiten, die vorab bestimmt wurden, erfasst, ohne dass eine Abhängigkeit von Messeinzelheiten bestünde, die der individuelle Anzeigeprozess 16 anfordert, und danach wählt der Anzeigeprozess 16 die Leistungsdaten für die speziellen Messeinzelheiten aus den verteilten Leistungsdaten aus und nutzt sie. Wenn gemäß Vorgabe eine ausreichende Anzahl von Messeinzelheiten erfasst wird, können die daraus ausgewählten Leistungsdaten der Anforderung durch den Benutzer genügen.
- Außerdem werden alle Leistungsdaten für mehrere erfasste vorbestimmte Messeinzelheiten im Speicher abgespeichert, wenn ein Log-Prozess mit dem Relaisprozess 15 verbunden ist, so dass ein Benutzer später Leistungsdaten für eine beliebige Messeinzelheit auswählen kann. Auch zu diesem Zweck werden die Leistungsdaten für vorbestimmte Messeinzelheiten unabhängig von Messeinzelheiten erfasst, die ein Benutzer auswählt.
- Außerdem werden der Sammelprozess, der Erfassungsprozess und der Relaisprozess unabhängig vom Aufruf eines Anzeigeprozesses oder eines Log-Prozesses aufgerufen. Der Relaisprozess verteilt von den Erfassungsprozessen erfasste Leistungsdaten an einen Anzeigeprozess oder einen Log-Prozess, wenn der Letztere aufgerufen wird. Im Ergebnis müssen selbst beim Vorliegen eines aufgerufenen Anzeigeprozesses oder einer Anzahl der aufgerufenen Anzeigeprozesse der Relaisprozess, der Sammelprozess und der Erfassungsprozess nur dieselbe Verarbeitung ausführen.
- Der Betrieb des Anzeigeprozesses 16 ist der Folgende. Der Benutzer des vorliegenden Überwachungssystems ruft den Anzeigeprozess 16 auf einem von ihm verwendeten Überwachungscomputer 11 auf (Schritt 561 (Fig. 6B)). Gleichzeitig muss der Benutzer vorab über die Internetprotokolladresse des Computers informiert werden, auf dem der Relaisprozess 15 aufgerufen wird, und es erfolgt eine Spezifizierung als Argument beim Aufrufen des Anzeigeprozesses 16. Wenn zwei oder mehr Benutzer das vorliegende Überwachungssystem verwenden, benutzen sie im Allgemeinen verschiedene Überwachungscomputer. Z. B. sind zwei Benutzer zwei verschiedene für die in der Fig. 1 dargestellten zwei Überwachungscomputer 11. Bei der vorliegenden Ausführungsform können zwei oder mehr Anzeigeprozesse auf demselben Computer 11, den derselbe Benutzer verwendet, aufgerufen werden.
- Mindestens ein Anzeigeprozess (ein Anzeigeprozess der ersten Art) ist so aufgebaut, dass er selektiv Leistungsdaten für eine für den Anzeigeprozess vorbestimmte Messeinzelheit unter den durch den Relaisprozess 15 verteilten Leistungsdaten für mehrere Messeinzelheiten unter Verwendung eines grafischen Symbols oder einer grafischen Wiedergabe, wie für die Anzeigeprozesse vorbestimmt, anzeigt.
- Ein anderer Anzeigeprozess (ein Anzeigeprozess der zweiten Art) ist so aufgebaut, dass er Leistungsdaten für eine: oder mehrere Messeinzelheiten, die ein Benutzer nach Aufruf des Anzeigeprozesses auswählt, unter Verwendung eines grafischen Symbols oder einer grafischen Repräsentation, wie für den Anzeigeprozess vorbestimmt, anzeigt. Bei der vorliegenden Ausführungsform sind oder mehr Anzeigeprozesse der zweiten Art verfügbar, und sie sind so aufgebaut, dass sie eine entsprechende grafische Wiedergabe, innerhalb einer Gruppe derselben, von Leistungsdaten anzeigen, und dass sie auf demselben Computer zu Überwachungszwecken aufgerufen werden können.
- Außerdem ist ein Anzeigeprozess jeder der Arten so aufgebaut, dass der Relaisprozess zum Übertragen von Leistungsdaten auf eine Anweisung von einem Benützer hin angefordert wird, nachdem der Anzeigeprozess aufgerufen wurde. Verschiedene Anzeigeprozesse werden entsprechend verschiedenen grafischen Wiedergaben von Daten bereitgestellt, so dass die Strukturen der Anzeigeprozesse ziemlich einfach sind. Im Ergebnis muss ein Benutzer, bei der vorliegenden Ausführungsform, mindestens einen Anzeigeprozess aufrufen, wenn er es wünscht, dass Leistungsdaten auf einem Computer zu Überwachungszwecken angezeigt werden. Wenn er die Anzeige von Leistungsdaten für mehrere Messeinzelheiten anfordert, muss er mehrere Anzeigeprozesse aufrufen. In diesem Fall wählt der Benutzer Anzeigeprozesse der zweiten Art abhängig von grafischen Darstellungen, die er zu nutzen wünscht, aus, und er spezifiziert eine Messeinzelheit, wie sie von jedem Anzeigeprozess anzuzeigen ist, nachdem dieser aufgerufen wurde.
- Im aufgerufenen Anzeigeprozess 16 führt die Steuerungsroutine 403 eine Initialisierung des Anzeigeschirms sowie eine Initialisierung für Verbindung zum Relaisprozess 15 aus, und dann wird die Steuerung zur Verbindungsroutine 406 übergeben, die eine Verbindungsanforderung an den Relaisprozess 15 ausgibt (Schritt 562). Wenn der Relaisprozess 15 die Verbindungsanforderung empfängt, erzeugt die Verbindungsroutine 303 im Relaisprozess den Eingangs/Ausgangs-Puffer 301 und das Anforderungsflag 302 entsprechend dem Anzeigeprozess und führt eine Verbindung zum Anzeigeprozess aus (Schritt 546). Wenn die Verbindung zum Anzeigeprozess fertiggestellt ist und Datenübertragung mit diesem möglich wird, überträgt der Relaisprozess 15 die vom Sammelprozess 3 empfangene Konfigurationsdefinition des Parallelcomputers 1 an den gerade angeschlossenen Anzeigeprozess 16.
- Der Anzeigeprozess 16 empfängt die Konfigurationsdefinition, und er führt eine Sicherung für den Sende-/Empfangspuffer 404 aus, der dazu benötigt wird, Leistungsdaten zu speichern, die später übertragen werden, und er berechnet das Layout einer grafischen Darstellung, die dazu erforderlich ist, Leistungsdaten aller Knoten anzuzeigen, auf Grundlage der empfangenen Konfigurationsdefinition. Dann zeigt der Anzeigeprozess 16 Fenster auf der Anzeigevorrichtung an (- Schritt 563).
- Die Fig. 7 zeigt ein Beispiel für ein Fenster, in dem Leistungsdaten für mehrere Messeinzelheiten, wie sie für einen Anzeigeprozess (einen Anzeigeprozess der ersten Art) vorbestimmt sind, angezeigt werden. Die Aktivität eines Knotens wird durch zwei Kästen und ein Paar von zwei Pfeilen (601, 602, 603) angezeigt. Die Gesamtaktivität des gesamten Parallelcomputers 1 wird dadurch dargestellt, dass derartige grafische Objekte für jeden Knoten im Parallelcomputer 1 angeordnet werden. Die Höhen zweier Kästen 601, 602 entsprechen der CPU-Nutzung bzw. dem Speichernutzungsverhältnis in einem Knoten. Die Längen des Paars der zwei Pfeile 603 entspricht dem Sendezählwert und dem Empfangszählwert zwischen dem Knoten und dem Netzwerk 21.
- Das Anzeigefenster 610 besteht aus einem Anzeigegebiet 620 und einem Steuerungsgebiet 630. Der Benutzer steuert den Anzeigeprozess unter Verwendung von Objekten wie in den Steuerungsgebieten 630 angeordneten Schaltflächen 640, 650. Die Datenanzeige wird gestartet, wenn die Schaltfläche 640 betätigt wird, und die Anzeige wird gestoppt, wenn die Schaltfläche 650 betätigt wird.
- Die Fig. 8 ist ein Beispiel für ein Fenster, wie es von einem anderen Anzeigeprozess (Anzeigeprozess der zweiten Art) angezeigt wird, der auf einem Schirm Leistungsdaten für eine vom Benutzer ausgewählte Messeinzelheit anzeigt. Im Anzeigegebiet 620 wird ein Balkendiagramm angezeigt. Die horizontale Achse 1711 des Balkendiagramms entspricht verschiedenen Knoten, und entlang der vertikalen Achse 1712 ist ein Leitungsdatenwert für eine Messeinzelheit abgebildet. Ein Benutzer wählt eine Messeinzelheit, für die er eine Abbildung auf der vertikalen Achse wünscht, aus einer im Steuerungsgebiet 630 angezeigten Liste 1704 von Messeinzelheiten aus. Die Schaltflächen 640, 650 sind denen im Fall der Fig. 7 ähnlich.
- Wenn der Benutzer den Start der Datenanzeige bei einem Anzeigeprozess anfordert, der das in der Fig. 7 oder der Fig. 8 dargestellte Anzeigefenster 610 oder 1700 verwendet, was durch Betätigen der Schaltfläche 640 im Anzeigefenster 610 oder 1700 erfolgt, überträgt der Anzeigeprozess 16 eine Mitteilung, die die Übertragung von Leistungsdaten anfordert, an den Relaisprozess 15 (Schritt 564). Wie oben angegeben, gibt die interne Verarbeitungsroutine 308 im Relaisprozess 15 den Systemaufruf "select" aus, und der Relaisprozess 15 befindet sich im Zustand, in dem er auf das Eintreffen einer Mitteilung im Eingangs/Ausgangs-Puffer 301 oder 304 wartet.
- Der Systemaufruf "select" kehrt beim Eintreffen der Übertragungsanforderungsmitteilung für Leistungsdaten vom Anzeigeprozess 16 zurück, und wenn die interne Verarbeitungsroutine 308 das Eintreffen dieser Mitteilung erkennt, gibt sie die Steuerung an die Eingangsanalyseroutine 306 über. Die Eingangsanalyseroutine 306 gibt den Systemaufruf "receive" aus, und sie liest die Anforderungsmitteilung in den mit dem Anzeigeprozess verbundenen Eingangs/Ausgangs-Puffer 301 ein. Als nächstes prüft die Ausgabesteuerungsroutine 307 die Kennung der Anforderungsmitteilung, sie klärt, dass die Mitteilung eine Übertragungsanforderung für Leistungsdaten betrifft, und sie setzt das zum Eingangs/Ausgangs-Puffer 301 gehörende Anforderungsflag 302. Wenn vom selben Benutzer oder verschiedenen Benutzern mehrere Anzeigeprozesse 16 oder mehrere Log-Prozesse 17 aufgerufen werden, wiederholt der Relaisprozess 15 die gesamte o. g. Verarbeitung für jede Verbindung zu solchen Prozessen.
- Nachfolgend wird der Betrieb des Computersystems nach dem Verbinden des Anzeigeprozesses 16 mit dem Relaisprozess 15 und dem Start der Anzeige durch den Schirmbetrieb des Benutzers erläutert. Die Leistungsdaten werden vom Erfassungsprozess 4 über den Sammelprozess 3 mittels der o. g. Prozedur (Schritte 504, 527, 548) an den Relaisprozess 15 übertragen. Dabei befindet sich der Relaisprozess 15 im Zustand, in dem er auf das Eintreffen einer Mitteilung im Eingangs/Ausgangs- Puffer 301 oder 304 wartet, nachdem von der internen Verarbeitungsroutine 308 der Systemaufruf "select" ausgegeben wurde. Auf das Eintreffen der die Leistungsdaten vom Sammelprozess 3 enthaltenden Mitteilung hin, kehrt der Systemaufruf "select" zur internen Verarbeitungsroutine 308 zurück, und diese gibt die Steuerung an die Eingangsanalyseroutine 306 weiter.
- Die Eingangsanalyseroutine 306 gibt den Systemaufruf "receive" aus und sie liest die im Eingangs/Ausgangs-Puffer 304 eingetroffene Mitteilung. Die Routine 306 prüft ferner die Kennung der Mitteilung, stellt klar, dass die Mitteilung eine solche ist, die Leistungsdaten beinhaltet, und sie gibt die Verarbeitung an die interne Verarbeitungsroutine 308 zurück. Die interne Verarbeitungsroutine 308 prüft die Anforderungsflags 302, die zu den mit den Anzeigeprozessen 16 gehörenden Eingangs/Ausgangs-Puffern 301 gehören (Schritt 547). Wenn ein zu einem der Eingangs/Ausgangs-Puffer 301 gehörendes Anforderungsflag 302 gesetzt ist, führt die interne Verarbeitungsroutine 308 eine Speicherkopie der Leistungsdaten enthaltenden Mitteilung vom Eingangs/Ausgangs- Puffer 304 in den Eingangs/Ausgangs-Puffer 301 aus und ruft die Ausgabesteuerungsroutine 307 auf.
- Die Ausgabesteuerungsroutine 307 gibt den Systemaufruf "- send" aus, überträgt die o. g., im einen Eingangs/Ausgangs- Puffer 301 gespeicherte Mitteilung an den mit diesen Eingangs/Ausgangs-Puffer 301 verbundenen Anzeigeprozess 16 und löscht das zum einen Eingangs/Ausgangs-Puffer 301 gehörende Anforderungsflag 302 (Schritt 549). Der Relaisprozess 15 verteilt die Leistungsdaten an alle mit ihm verbundenen Anzeigeprozesse 16 durch Wiederholen der o. g. Verarbeitung für die Anforderungsflags 302, die für die angeschlossene Anzeigeprozesse 16 vorhanden sind. Es gilt genau dasselbe, wenn ein Log-Prozess mit dem Eingangs/Ausgangs-Puffer 301 verbunden ist.
- Da der Relaisprozess 15 im Überwachungscomputer 11 die oben erläuterte Verarbeitung zum Verteilen von Daten an zwei oder mehr Anzeigeprozesse 16 ausführt, beeinflusst eine Erhöhung der Anzahl aufgerufener Anzeigeprozesse 16 die Erfassungsprozesse 4 und den Sammelprozess 3 im Parallelcomputer 1 nicht, und die Belastung des Parallelcomputers 1 eines Überwachungsziels bleibt dieselbe.
- Wenn der Anzeigeprozess 16 die übertragenen Leistungsdaten vom Relaisprozess 15 empfängt, erstellt er einen Anzeigeschirm unter Bezugnahme auf Leistungsdaten für mindestens eine Messeinzelheit, wie für die Anzeige erforderlich, unter allen empfangenen Leistungsdaten, und er erstellt den Anzeigeschirm auf der Eingabe/Ausgabe-Vorrichtung 12 (Schritt 566). Im Fall des Anzeigeprozesses 16, der über das Fenster der Fig. 7 verfügt, sind die für die Anzeige erforderlichen Leistungsdaten solche für drei durch den Anzeigeprozess vorbestimmte Messeinzelheiten, wie die CPU-Nutzung, das Speichernutzungsverhältnis und der Kommunikationszählwert. Im Fall des Anzeigeprozesses 16 mit dem Fenster der Fig. 8 sind die zur Anzeige erforderlichen Leistungsdaten solche für eine Messeinzelheit, die ein Benutzer hinsichtlich des Anzeigeprozesses 16 angefordert hat.
- Der Anzeigeprozess 16 zeigt an ihn gelieferte Leistungsdaten nacheinander durch Wiederholen des Anzeigevorgangs von den Schritten 564 bis 566 an. D. h., dass die Steuerungsroutine 403 des Anzeigeprozesses 16 eine Datenübertragungsanforderung an den Relaisprozess 15 sendet (Schritt 564). Später wird ein konkreter Vorgang dabei erläutert. Danach geht die Steuerungsroutine 403 in einen Wartezustand über, um entweder eine Fensterbedienung durch einen Benutzer oder das Eintreffen einer Mitteilung zu erkennen, die Leistungsdaten vom Relaisprozess enthält. Wenn beim Relaisprozess 15 eine Leistungsdaten enthaltende Mitteilung eintrifft, gibt die Steuerungsroutine 403 den Systemaufruf "receive" aus, sie liest die Mitteilung in den Sende-/Empfangspuffer 404 ein (Schritt 565) und gibt die Steuerung an die Eingangsanalyseroutine 401 weiter.
- Die Eingangsanalyseroutine 401 klärt, dass die Kennung der vom Relaisprozess 15 gesendeten Mitteilung eine Kennung einer Mitteilung ist, die Leistungsdaten enthält. Als nächstes ruft die Eingangsanalyseroutine 401 die Zeichnungsverarbeitungsroutine 402 auf, die die Höhe der grafischen Darstellung im Fenster entsprechend den empfangenen Leistungsdaten ändert (Schritt 566).
- Wenn der Zeichenbetrieb endet, kehrt die Verarbeitung zur Steuerungsroutine 403 zurück. Die Steuerungsroutine 403 erstellt eine Übertragungsanforderungsmitteilung für Leistungsdaten für die Leistungsdaten im nächsten Schritt im Sende-/Empfangspuffer 404, sie gibt den Systemaufruf "send" aus und sie überträgt diese Mitteilung an den Relaisprozess 15 (Schritt 564). Die Steuerungsroutine 403 kehrt nach diesem Sendevorgang erneut zum o. g. Wartezustand zurück.
- Andererseits wird ein Stoppen des Anzeigevorgangs dadurch erzielt, dass der Sendevorgang betreffend die Übertragungsanforderungsmitteilung für Leistungsdaten, die nach dem Zeichnen der Leistungsdaten für jeden jeweiligen Schritt gesendet wird, abgebrochen wird. Wenn der Benutzer die Schaltfläche 605 im Anzeigefenster 610 betätigt, verlässt die Steuerungsroutine 403 den o. g. Wartezustand und gibt die Steuerung an die Eingangsanalyseroutine 401 über. Die Eingangsanalyseroutine 401 analysiert die Anforderung, und sie informiert die Steuerungsroutine 403 darüber, dass die betätigte Schaltfläche die Stopp-Schaltfläche 650 ist. Die Steuerungsroutine 403 überträgt die Übertragungsanforderungsmitteilung für Leistungsdaten nicht an den Relaisprozess 15, nachdem dieser Zustand erkannt wurde. Das Anforderungsflag 302, das demjenigen Anzeigeprozess 16 entspricht, der keine Übertragungsanforderungsmitteilung für Leistungsdaten überträgt, wird nicht gesetzt. Daher überträgt der Relaisprozess 15 die Leistungsdaten nicht an einen derartigen Anzeigeprozess 16. Daher stoppt die Anzeige des Anzeigeprozesses 16.
- Die Beendigung des Anzeigeprozesses 16 wird durch den Menübetrieb des Anzeigefensters 610 ausgeführt. Wie bei der Stoppverarbeitung erkennt die Steuerungsroutine 403 die Bedienung eines Benutzers im Fenster zur Beendigung, sie verlässt den o. g. Wartezustand und sie gibt die Steuerung an die Eingangsanalyseroutine 401 weiter. Die Eingangsanalyseroutine 401 erkennt, dass im Menü eine Stopp-Schaltfläche ausgewählt wurde, und sie informiert die Steuerungsroutine 403 über das Erkennungsergebnis. Die Steuerungsroutine 403 erzeugt im Sende-/Empfangspuffer 401 eine Endehinweis-Mitteilung, und sie sendet diese Mitteilung durch den Systemaufruf "send" an den Relaisprozess 15 (Schritt 567).
- Wenn der Relaisprozess 15 die Endehinweis-Mitteilung empfängt, trennt er den Anzeigeprozess 16 ab und gibt den Eingangs/Ausgangs-Puffer 301 und das Anforderungsflag 302 frei, die beide dem Anzeigeprozess zugeordnet sind (Schritt 550). Wenn die Verbindung freigegeben wird, führt der Anzeigeprozess 16 die Beendigungsprozedur aus (Schritt 568) und endet (Schritt 569).
- Wenn die Verbindung zu allen Anzeigeprozessen 16 getrennt ist, kann der Systemadministrator die Beendigung des Relaisprozesses 15 ausführen. Um mit der Beendigung des Relaisprozesses 15 zu beginnen, ist es erforderlich, unter Verwendung der Interruptfunktion, die vom OS bereitgestellt wird, das den Computer 11 steuert, auf dem der Relaisprozess 15 aufgerufen ist, ein Interruptsignal in den Relaisprozess 15 einzugeben.
- Wenn der Relaisprozess 15 das Interruptsignal empfängt, gibt er eine Beendigungsanforderung an den Sammelprozess 3 aus (Schritt 551). Wenn der Sammelprozess 3 die Beeindigungsanforderung empfängt, gibt er Beendigungsanforderungen an alle Erfassungprozesse 4 aus (Schritt 528), und jeder Erfassungsprozess 4 führt einen Beendigungsvorgang aus, wenn er die Beendigungsanforderung empfängt (Schritt 505). Wenn die Verbindung zu allen Erfassungsprozessen 4 getrennt ist, gibt der Sammelprozess 3 die Verbindung zum Relaisprozess 15 frei. Danach führen der Sammelprozess 3 und der Relaisprozess 15 unabhängig Beendigungsvorgänge aus, und es werden alle Prozesse des Überwachungssystems verlassen (Schritt 529, 552).
- Als nächstes werden ein Verfahren zum Einspeichern von. Leistungsdaten in einen Speicher 13 durch den Log-Prozess 17 und das Anzeigen der gespeicherten Daten durch den Anzeigeprozess 16 erläutert. Der in der Fig. 5 dargestellte Log-Prozess 17 wird wie der Anzeigeprozess 16 vom Benutzer aufgerufen. Die Verbindungsroutine 455 gibt an den Relaisprozess 15 eine Verbindungsanforderung aus, wenn der Log-Prozeas 17 aufgerufen wird, sie führt eine Verbindung mit dem Relaisprozess 15 entsprechend derselben Prozedur aus, wie sie beim Anzeigeprozess 16 ausgeführt wird, und sie zeigt ein Steuerungsfenster (in der Figur nicht dargestellt) an, um dem Benutzer eine Steuerung des Betriebs des Log-Prozesses 17 zu ermöglichen. Das Anzeigefenster ist demjenigen des Anzeigeprozesses 16, z. B. 610 (Fig. 7), ähnlich, und es verfügt über das Steuerungsgebiet 610, jedoch nicht das Anzeigegebiet 620.
- Was der Benutzer durch das Steuerungsgebiet 630 steuern kann, ist die Auswahl von Messeinzelheiten zu speichernder Einzelleistungsdaten, eine Spezifizierung des Namens einer die Leistungsdaten speichernden Datei und eine Angabe von Start- und Endzeitpunkten für den Speicherungsvorgang. Wenn der Benutzer den Start einer Datenprotokollierung spezifiziert, nachdem er zu speichernde Messeinzelheiten für Leistungsdaten und den Namen der die Daten speichernden Datei durch Bedienung im Steuerungsgebiet spezifiziert hat, empfängt der Log-Prozess 17 Leistungsdaten genau so wie der Anzeigeprozess 16. Die Eingangsanalyseroutine 451 klärt, dass die Kennung einer vom Relaisprozess 15 gesendeten Mitteilung eine Kennung für eine Leistungsdaten enthaltende Mitteilung ist.
- Diese Leistungsdaten werden in den Sende-/Empfangspuffer 452 eingespeichert, und danach werden diese Leistungsdaten durch die Datenumformatierungsroutine 453 in die Form von Protokolldaten umformatiert und durch die Ausgaberoutine 454 in den Speicher 13 wie einen Magnetplattenspeicher usw. eingespeichert.
- Wie es in der Fig. 9D dargestellt ist, speichert die Protokolldatei 1004 als erstes die Konfigurationsdefinition des Parallelcomputers 1, wie die Gesamtanzahl der Knoten desselben, das Attribut jedes Knotens und die Liste von Knoten, die die Leistungsdaten gemessen haben, ein. Nach dieser Information werden Blöcke eingespeichert. Jeder Block entspricht einem der Knoten und einem der zeitlichen Schritte. Jeder Block besteht aus mehreren Datensätzen 1002 (Fig. 9B), die Leistungsdaten enthalten, die im selben Schritt für verschiedene Messeinzelheiten für denselben Knoten erfasst wurden.
- Der in der Fig. 9A dargestellte Kopfdatensatz 1001 und der in der Fig. 9C dargestellte Blockende-Datensatz 1003 werden am Anfang bzw. am Ende jedes Blocks positioniert. Diese Datensätze zeigen die Grenzen des Blocks an. Der Kopfdatensatz beinhaltet die Blocklänge, die die Länge des gesamten Blocks angibt, die Liste von Knotennummern von Knoten, die die Leistungsdaten gemessen haben, die in den Datensätzer. 1002 im Block enthalten sind, und Zeitinformation, die den zeitlichen Schritt anzeigt, zu dem die in den Datensätzer. 1002 enthaltenen Leistungsdaten gemessen wurden. Außerdem befindet sich im Kopf jedes Datensatzes der Typcode, durch den die Art des Datensatzes angezeigt wird, und, die Datensatzlänge, die die Länge des Datensatzes anzeigt.
- Die Anordnungsreihenfolge der Blöcke ist dergestalt, dass ein einem Knoten und einem zeitlichen Schritt entsprechender Block als erster abgespeichert wird und andere Blöcke, die anderen Knoten und demselben zeitlichen Schritt entsprechen, als nächste abgespeichert werden. Nachdem alle Blöcke für alle Knoten für einen zeitlichen Schritt abgespeichert sind, werden Blöcke für die folgenden zeitlichen Schritte abgespeichert. Die so durch den Log-Prozess 17 abgespeicherten Leistungsdaten können durch einen Anzeigeprozess 16 angezeigt werden. Der zur Anzeige verwendete Anzeigeprozess kann ein solcher sein, der bereits aufgerufen wurde und zum Anzeigen der Leistungsdaten im in der Fig. 7 oder der Fig. 8 dargestellten Anzeigefenster in Gebrauch ist, oder er kann ein solcher sein, der noch nicht aufgerufen wurde.
- Nachfolgend wird der Fall erläutert, gemäß dem ein bereits aufgerufener Anzeigeprozess zum Anzeigen der Leistungsdaten verwendet wird. Das Flussdiagramm der Fig. 10 zeigt die Prozedur zum Anzeigen der gespeicherten Daten durch den Anzeigeprozess 16, nachdem er die gespeicherten Daten gelesen hat. Zuallererst bedient der Benutzer die Eingabe/Ausgabe- Vorrichtung 12, um den Dateinamen der Datei einzugeben, in der die anzuzeigenden Daten gespeichert sind (Schritt 1101).
- Wenn der Benutzer dann die Anforderung für den Anzeigeprozess 16 eingibt, um auf den Anzeigemodus für gespeicherte Daten umzuschalten, schaltet der Anzeigeprozess 16 auf den Anzeigemodus für gespeicherte Daten um (Schritt 1102). Dabei stoppt der Anzeigeprozess 16 die Übertragung der Leistungsdaten-Übertragungsanforderung an den Relaisprozess 15, und die Eingabequelle-Umschaltroutine 405 (Fig. 5) schaltet die Dateneingabequelle vom Relaisprozess 15 auf die spezifizierte Datei im Speicher 13 um.
- Wenn der Anzeigeprozess 16 diese Datei öffnet (Schritt 1104), liest er die Konfigurationsdefinition des Parallelcomputers 1, wie sie im Kopf der Datei enthalten ist (- Schritt 1105). Der Anzeigeprozess 16 sichert die von ihm bis dahin verwendete Konfigurationsdefinition im Puffer (nicht dargestellt), er berechnet das Layout eines Diagramms auf Grundlage der neu aus der Datei gelesenen Konfigurationsdefinition und er zeigt das Diagramm auf dem Anzeigeschirm an.
- Als nächstes liest der Anzeigeprozess 16 die Datei bis zu deren Ende, er zählt die Gesamtanzahl der in der Datei enthaltenen Blöcke und er teilt diese Anzahl von Blöcken durch die Anzahl der Knoten in der neugelesenen Konfigurationsdefinition, um die Gesamtanzahl der zeitlichen Schritte zu berechnen, gemäß denen die gespeicherten Blöcke gemessen wurden (Schritt 1106). Als nächstes wird ein Steuerungssystem für die Protokolldaten-Anzeigefunktion angezeigt (- Schritt 1107).
- Die Fig. 11 ist ein Beispiel für den Steuerungsschirm. Der nun gelesene Dateinamen wird im Dateinamen-Anzeigefeld 902 angezeigt, und die im Verarbeitungsblock 1106 berechnete Anzahl zeitlicher Schritte für die Protokolldaten wird im Datenzählwert-Anzeigefeld 903 angezeigt. Der Beginn und das Ende des Bereichs der anzuzeigenden zeitlichen Schritte und die Anzahl der zu verwerfenden zeitlichen Schritte werden jeweils in die Anzeigebereich-Eingabefelder 904, 905 bzw. 906 eingegeben. Ein Schieber 907 zeigt die zeitlichen Schritte der aktuell angezeigten Daten, und durch ein Verstellen des Schiebers 907 können die angezeigten Daten geändert werden. Die Schaltflächen 908, 909, 910, 911 dienen zum Spezifizieren eines Einzelrahmenschritts auf einen vorhergehenden Rahmen eines zeitlichen Schritts, zum Stoppen kontinuierlicher Anzeige, zum Starten kontinuierlicher Anzeige bzw. für einen Einzelrahmenschritt auf einen folgenden Rahmen eines zeitlichen Schritts.
- Wenn ein Benutzer die Anzeigezeit, d. h. den zeitlichen Schritt anzuzeigender Daten unter Verwendung eines derartigen Steuerungsschirms 901 im Schritt 1109 spezifiziert, liest der Anzeigeprozess 16 den Inhalt der Datei und ruft die Daten für den entsprechenden zeitlichen Schritt ab (- Schritt 1110). Außerdem werden die Daten auf der Anzeigevorrichtung erstellt (Schritt 1111).
- Wenn im Schritt 1109 durch Betätigen der Schaltfläche 910 im Steuerungsschirm 901 kontinuierliche Anzeige gestartet wird, erfolgt eine Wiederholung zum Lesen der Daten für den einen zeitlichen Schritt folgend auf die bereits gelesenen Daten (Schritt 1113), um diese anzuzeigen (Schritt 1114), bis der letzte zeitliche Schritt des durch das Anzeigebereich-Eingabefeld 905 spezifizierten Anzeigebereichs erreicht ist oder das Beenden der kontinuierlichen Anzeige durch die Anzeige- Schaltfläche 909 spezifiziert wird (Schritt 1112).
- Hinsichtlich des Zeitintervalls, mit dem der Anzeigevorgang wiederholt wird, ist es möglich, ein Verfahren zu verwenden, gemäß dem es aus der Zeitinformation im in der Datei gespeicherten Kopfdatensatz 1101 berechnet wird, oder das Verfahren des Spezifizierens desselben vorab, zu verwenden, jedoch wird selbst dann, wenn eines dieser Verfahren verwendet wird, die Zeit durch die Taktsignal-Erzeugungsroutine 407 im Anzeigeprozess 16 in der Fig. 5 gemessen, und die Zeichnungserstellungverarbeitung wird ausgeführt, wenn die spezifizierte Zeit abläuft.
- Wenn das Ende der Protokolldaten-Anzeigefunktion durch die Eingabevorrichtung in Form einer Maus usw. vom Benutzer angewiesen wird (Schritt 1108), wird der Abschlussvorgang ausgeführt (Schritt 1115), und die Eingabequelle-Umschaltroutine 405 schaltet ihre Eingabequelle auf den Relaisprozess 15 um. Im Ergebnis kehrt der Anzeigeprozess 16 in einen üblichen Datenanzeigemodus zurück. Dabei verwirft der Anzeigeprozess 16 die aus der Datei gelesene Konfigurationsdefinition, führt eine Wiederbelebung der im Puffer (nicht dargestellt) gesicherten Konfigurationsdefinition aus und führt das Diagramm im Anzeigegebiet in den Zustand einer Echtzeitanzeige zurück, wie sie erfolgt, bevor die Anzeige auf den Protokolldaten-Anzeigemodus umgeschaltet wurde.
- Im Ergebnis ist es möglich, wenn sowohl der Log-Prozess 17 als auch der Anzeigeprozess 16 gleichzeitig aufgerufen wurden, die vergangenen Daten anzuzeigen, während die aktuellen Daten in Echtzeit angezeigt werden. Darüber hinaus isst es möglich, eine nachträgliche Analyse des Betriebszustands des Parallelcomputers 1 unter Verwendung der vorab gespeicherten Protokolldaten auszuführen. Es ist möglich, die Log-Prozesse 17 gleichzeitig auf mehreren Überwachungscomputern 11 aufzurufen, so dass diese Log-Prozesse die Leistungsdaten gleichzeitig im Speicher 13 in diesen Überwachungscomputern abspeichern.
- Außerdem ist der Log-Prozess 17 nicht speziell vom Anzeigeprozess 16 verschieden, wenn sie vom Relaisprozess 15 aus gesehen werden. Daher bedeutet die Tatsache, dass zwei oder mehr Anzeigeprozesse 16 für einen Anzeigeprozess aufgerufen werden können, dass zwei oder mehr Log-Prozesse 17 für den einen Relaisprozess 15 aufgerufen werden können. Daher können zwei oder mehr Benutzer die Datenprotokollierfunktion dadurch gleichzeitig nutzen, dass sie gleichzeitig verschiedene Log-Prozesse 17 aufrufen, wobei jedoch der gleichzeitige Aufruf dieser Log-Prozesse die Belastung des Parallelcomputers nicht erhöht.
- Die Erfindung kann auch bei einem Parallelcomputer angewandt werden, der von dem bei der ersten Ausführungsform verwendeten verschieden ist. Bei der o. g. Ausführungsform ist nur ein spezieller Knoten im Parallelcomputer mit dem externen Netzwerk verbunden. Jedoch existiert unter bereits entwickelten Parallelcomputern ein solcher mit mehreren speziellen Knoten, die mit einem externen Netzwerk verbunden sind. Bei einem derartigen Parallelcomputer ist es möglich, für Sammelprozesse für jeweils diese speziellen Knoten zu sorgen und dafür zu sorgen, dass das Sammeln der Leistungsdaten und die Übertragung der Daten an den Relaisprozess von diesen zwei oder mehr Sammelprozessen gemeinsam genutzt werden.
- D. h., dass eine Kommunikation zwischen dem Relaisprozess und dem in jedem speziellen Knoten aufgerufenen Sammelprozess verwendet wird, so dass der Sammelprozess einen Teil der mehreren Knoten, einschließlich dem speziellen Knoten, zum Sammeln von Leistungsdaten und zum Übertragen derselben, wie von ihnen erfasst, an den Relaisprozess auffordert.
- Die Belastung jedes speziellen Knotens ist bei dieser zweiten Ausführungsform niedriger als die Belastung des einen speziellen, bei der ersten Ausführungsform verwendeten Knotens, wo dieser einer spezielle Knoten die Leistungsdaten von allen Knoten sammelt. Selbst bei einem derartigen Parallelcomputer ist die Belastung desselben nicht erhöht, wenn zwei oder mehr Benutzer versuchen, gleichzeitig Leistungsdaten des Parallelcomputers zu überwachen.
- Knoten eines anderen Parallelcomputers, wie er bereits entwickelt wurde, werden in mehrere Partitionen unterteilt, von denen jede zwei oder mehr Knoten enthält. In diesem Fall kann eine Partition einen Job durch zwei oder mehr Knoten in dieser Partition, parallel zu anderen Partitionen, ausführen. Selbstverständlich ist es möglich, dafür zu sorgen, dass zwei oder mehr Jobs in jeder Partition ausgeführt werden. Jedoch ist dieser Parallelcomputer dazu geeignet, dass ein Benutzer eine Partition belegt. Bei einem derartigen Parallelcomputer ist es effektiv, die Betriebssituation jeder Partition gesondert von anderen Partitionen zu überwachen.
- In der Fig. 13 ist z. B. der Parallelcomputer 1 in die erste und die zweite Partition 100A, 100B unterteilt. Unter zwei oder mehr Knoten in jeder Partition ist ein vorbestimmter Knoten mit dem externen Netzwerk 21 verbunden. Der Erfassungsprozess 4 wird in jedem Knoten aufgerufen, und der Sammelprozess 3 wird in einem speziellen Knoten in jeder mit dem externen Netzwerk 21 verbundenen Partition aufgerufen. Der erste Relaisprozess 15A wird im ersten Überwachungscomputer 11 aufgerufen, um Leistungsdaten der Partition 1 zu überwachen, und er führt eine Kommunikation mit dem im speziellen Knoten der ersten Partition aufgerufenen Sammelprozess 3 aus.
- Außerdem wird im ersten Überwachungscomputer 11 der Anzeigeprozess 16A oder der Log-Prozess 17k aufgerufen und mit dem ersten Relaisprozess 15A verbunden. Wie bei der ersten Ausführungsform empfängt der Anzeigepruzess 16A oder der Log- Prozess 17A die Verteilung der Leistungsdaten der Partition 100A vom ersten Relaisprozess 15A.
- Außerdem empfängt, wenn ein anderer in der Figur nicht dargestellter Anzeigeprozess oder Log-Prozess von anderen, in der Figur nicht dargestellten Computern aufgerufen wird, dieser andere Anzeigeprozess oder Log-Prozess die Verteilung der Leistungsdaten über den ersten Relaisprozess 15A. Der zweite Relaisprozess 15B und der Anzeigeprozess 16B oder der Log-Prozess 17B sowie andere in der Figur nicht dargestellte Anzeige- oder Log-Prozesse werden weiter betreffend die andere Partition 100B auf dieselbe Weise aufgerufen.
- Bei dieser Ausführungsform können Lüstungsdaten jeder Partition unabhängig von der anderen Partition erfasst werden. Außerdem ist die Belastung des Parallelcomputers 1 selbst dann nicht erhöht, wenn im selben Überwachungscomputer sowohl ein Anzeigeprozess als auch ein Log-Prozess, die die Leistungsdaten derselben Partition überwachen, aufgerufen werden oder wenn auf verschiedenen Überwachungscomputern zwei oder mehr Anzeigeprozesse aufgerufen werden, die die Leistungsdaten derselben Partition überwachen.
- Der extremste Fall der zweiten Ausführungsform ist ein solcher, bei dem alle Knoten eines Parallelcomputers mit dem externen Netzwerk verbunden sind. In diesem Fall wird ein Prozess aufgerufen, der sowohl die Funktion des Erfassungsprozesses als auch die Funktion des Sammelprozesses gleichzeitig für jeden Knoten hat, und der Relaisprozess führt Kommunikationsvorgänge mit jedem Knoten aus und empfängt Leistungsdaten aus dem in diesem Knoten aufgerufenen Prozess. In diesem Fall wird derselbe Prozess zum Erfassen von Leistungsdaten in jedem Knoten aufgerufen und das Ungleichgewicht der Belastung zwischen den Knoten des Parallelcomputers ist kleiner als bei der ersten Ausführungsform.
- Die Erfindung kann in ähnlicher Weise bei einem aus zwei oder mehr, mit dem externen Netzwerk verbundenen Computern bestehenden verteilten Computersystem angewandt werden. In diesem Fall wird der Erfassungsprozess in jedem der zu diesem verteilten System gehörenden Computer aufgerufen. Der Sammelprozess wird in einem der Computer aufgerufen, wie z. B. dem das Netzwerk steuernden Computer. Der Relaisprozess wird in einem oder mehreren Computern aufgerufen, die zu Überwachungszielen werden und zu den zum verteilten System gehörenden Computern gehören. Der Anzeigeprozess oder der Log-Prozess wird in einem der Computer der Überwachungsziele oder einem der anderen Computer des verteilten Systems, die von den Computern der Überwachungsziele verschieden sind, aufgerufen. Es ist möglich, den Relaisprozess in einem Computer aufzurufen, der verschieden von den Computern der Überwachungsziele ist.
- Im Ergebnis werden die Kommunikation zwischen jedem Erfassungsprozess und dem Sammelprozess sowie die Kommunikation zwischen dem Sammelprozess und dem Relaisprozess über das externe Netzwerk ausgeführt, abweichend von der ersten Ausführungsform. Gleichheit besteht jedoch insoweit, als bei der ersten Ausführungsform zwei oder mehr Anzeigeprozesse oder Log-Prozesse die Verteilung der Leistungsdaten vom Relaisprozess empfangen können.
- Die Erfindung ist nicht auf die oben angegebenen Ausführungsformen beschränkt, sondern sie beinhaltet verschiedene Modifizierungen, einschließlich derjenigen, die nachfolgend veranschaulicht sind.
- Bei den obigen Ausführungsformen ist angenommen, dass TCP/IP-Kommunikation bei der Kommunikation innerhalb des Parallelcomputers verwendet wurde, d. h. bei der Übertragung von Leistungsdaten vom Erfassungsprozess 4 zum Sammelprozess 3. Es existieren viele Parallelcomputer, bei denen mehrere Daten parallel zueinander über verschiedene Pfade im internen Netzwerk übertragen werden. Bei der Kommunikation zwischen Knoten über ein internes Netzwerk wird häufig eine interne Kommunikationsprozedur verwendet, die leichter und schneller als TCP/IP ist. Bei einem derartigen Computer ist es wirkungsvoll, das interne Hochgeschwindigkeits-Kommunikationsprotokoll für die Kommunikation zwischen Knoten zu verwenden, und zwar ausgehend vom Gesichtspunkt einer Beschleunigung der Übertragung von Leistungsdaten, wenn das Verfahren der Übertragung von durch verschiedene Knoten erfassten Leistungsdaten an den Sammelprozess, wie er in einem Knoten des Parallelcomputers oder einem Teil derselben aufgerufen ist, verwendet wird, wie bei der ersten bis dritten Ausführungsform angegeben.
- In diesem Fall werden, beim in der Fig. 3 veranschaulichten Sammelprozess 3, die Eingangsanalyseroutine 205 und die Ausgabesteuerungsroutine 206 durch ein Paar aus einer Eingangsanalyseroutine und einer Ausgabesteuerungsroutine, die beide an das interne Kommunikationsprotokoll angepasst sind, und ein Paar aus einer Eingangsanalyseroutine und einer Ausgabesteuerungsroutine, die beide an das externe Kommunikationsprotokoll angepasst sind, ersetzt. Diese zwei Paare werden abhängig davon, ob die auszuführende Kommunikation eine interne oder externe Kommunikation ist, selektiv verwendet. Die Eingangs/Ausgangs-Puffer 201 und 203 werden vom ersten bzw. zweiten Paar verwendet.
- Beispielsweise werden die vom Erfassungsprozess 4 durch die interne Kommunikationsprozedur an den Eingangs/Ausgangs-Puffer 201 übertragenen Daten durch die an die interne Kommunikation angepasst Eingangsanalyseroutine empfangen und an die interne Verarbeitungsroutine 207 weitergeleitet. Die interne Verarbeitungsroutine 207 ruft die Ausgabesteuerungsroutine 206 auf, um Kommunikation mit dem Relaisprozess 15 auszuführen und die Daten an die Routine 206 zu übertragen. Die Ausgabesteuerungsroutine 206 überträgt die Daten durch ein Protokoll wie TCP/IP, das Kommunikation mit dem Überwachungscomputer 11 ermöglicht, an den Relaisprozess 15.
- Gemäß der vorliegenden Modifizierung ist es möglich, die Belastung des Parallelcomputers 1 im Vergleich zum Fall zu verringern, in dem alle Knoten des Parallelcomputers das externe Kommunikationsprotokoll benutzen, mit vergleichsweise schwerer Belastung wie bei TCP/IP.
- Bei der ersten Ausführungsform werden die vom Erfassungsprozess erfassten Messeinzelheiten vorab festgelegt, jedoch können diese Einzelheiten durch den Relaisprozess spezifiziert werden. Um dies zu realisieren, gibt der Systemadministrator Information, die diese Einzelheiten spezifiziert, in den Computer 11 ein, wenn er den Relaisprozess in diesem Computer aufruft.
- Bei der ersten Ausführungsform werden die Leistungsdaten für mehrere Messeinzelheiten (z. B. die CPU-Nutzung, das Speichernutzungsverhältnis, die Zugriffshäufigkeit auf den Magnetplattenspeicher und der Kommunikationszählwert), wie sie vom Erfassungsprozess erfasst werden, immer über den Sammelprozess 3 und den Relaisprozess 15 an den Anzeigeprozess 16 übertragen. Wenn der Relaisprozess 15 Leistungsdaten für Messeinzelheiten, wie für die Anzeige durch den Anzeigeprozess erforderlich, auswählt und sie an den Anzeigeprozess 16 überträgt, kann die Menge übertragener Daten gesenkt werden. Um diesen Vorgang zu realisieren, teilt der Anzeigeprozess 16 dem Relaisprozess 15 diejenigen Leistungsdaten an, die der Anzeigeprozess 16 anzeigen soll, was unmittelbar nach dem Aufruf des Anzeigeprozesses durch einen Benutzer und den Verbindungsaufbau mit dem Relaisprozess 15 erfolgt (Schritt 562 (Fig. 6B)).
- Der Relaisprozess 15 speichert die Messeinzelheiten, die jeder Anzeigeprozess benötigt. Wenn die interne Verarbeitungsroutine 308 im Relaisprozess 15 eine Speicherkopie der vom Sammelprozess empfangenen und im Eingangs/Ausgangs-Puffer 304 gespeicherten Leistungsdaten in den mit dem Anzeigeprozess verbundenen Eingangs/Ausgangs-Puffer 301 ausführt, werden nicht alle empfangenen Leistungsdaten sondern nur diejenigen für für den Anzeigeprozess gespeicherten Messeinzelheiten selektiv kopiert.
- Bei der ersten Ausführungsform fordert der Relaisprozess den Sammelprozess unabhängig von einem Aufruf des Anzeigeprozesses oder des Log-Prozesses auf, Leistungsdaten zu sammeln. Jedoch ist es möglich, den Relaisprozess so auszubilden, dass er diese Anforderung ausgibt, nachdem entweder der Anzeigeprozess oder der Log-Prozess aufgerufen wurde.
- In diesem Fall teilt der Anzeigeprozess oder der Log-Prozess dem Relaisprozess die Messeinzelheiten mit, die ein Benutzer angefordert hat, und der Relaisprozess fordert den Sammelschritt des Computers des Überwachungsziels dazu auf, Leistungsdaten für Messeinzelheiten zu erfassen, die diese Prozesse mitgeteilt haben.
- Es ist wünschenswert, die Messeinzelheiten zu erneuern, die der Relaisprozess im Sammelschritt anfordert, wenn ein anderer Anzeigeprozess oder ein anderer Log-Prozess neu aufgerufen wird, so dass Messeinzelheiten, die der neu aufgerufene Prozess anfordert, zu den angeforderten Messeinzelheiten hinzugefügt werden sollten. Gemäß diesem Verfahren nimmt die Menge zu erfassender Leistungsdaten ab, da nur erforderliche Leistungsdaten erfasst werden.
- Bei der ersten Ausführungsform werden Leistungsdaten vom Erfassungsprozess 4 für jeden zeitlichen Schritt, für den die Daten erfasst werden, an den Anzeigeprozess 16 übertragen, jedoch ist es möglich, die für mehrere zeitlichen Schritte erfassten Leistungsdaten auf einmal zu übertrage. Diese Modifizierung wird unten erläutert.
- Wenn in der Fig. 2 die Ausgabesteuerungsroutine 103 des Erfassungsprozesses 4 die Daten von der Zählersteuerungs-/Leseroutine 104 empfängt, speichert die Routine 103 die Daten im Endbereich dieser Zeit in den Eingangs/Ausgangs-Puffer 101 ein, und sie speichert die Gesamtanzahl der gespeicherten Datensätze in ihn ein. Wenn die Anzahl der Datensätze im Eingangs/Ausgangs-Puffer 101 einen vorbestimmten Wert erreicht, überträgt die Ausgabesteuerungsroutine 103 die darin insoweit gespeicherten Daten als einen Datensatz an den Sammelprozess 3. Der Sammelprozess 3 und der Relaisprozess 15 führen ähnliche Operationen wie bei der ersten Ausführungsform aus.
- In der Fig. 5 liest der Anzeigeprozess 16, wenn er diese Daten empfängt, dieselben für einen zeitlichen Schritt mit regelmäßigen Intervallen aus den Daten im Sende-/Empfangspuffer 404 unter Bezugnahme auf die Taktsignal-Erzeugungsroutine 407 aus und zeigt sie an. Wenn der Anzeigeprozess 16 die Verarbeitung aller Daten im Sende-/Empfangspuffer 104 beendet hat, sendet er eine Datenanforderung an den Relaisprozess 15. Hinsichtlich des Log-Prozesses 17 besteht keine Änderung des Betriebs, und dieser speichert die Daten wie bei der ersten Ausführungsform. Im Ergebnis ist es möglich, den Sendezählwert für die erfassten Daten zu verringern und die Kommunikationsbelastung zu senken.
- Gemäß der Erfindung nimmt die Belastung des Computers des Überwachungsziels selbst dann kaum zu, wenn die Anzahl von Prozessen (Anzeigeprozess oder Log-Prozess), die vom Computer des Überwachungsziels erfasste Leistungsdaten benutzen, zunimmt.
Claims (13)
1. Verfahren zur Überwachung eines Computersystems in einem
Computernetzwerk mit mehreren Computern (1, 11), die ein
einer Leistungsüberwachung unterworfenes Computersystem (1)
beinhalten, und mit einem Computerverbindungsnetzwerk (21) zur
Verbindung der Computer untereinander,
mit folgenden Schritten:
Empfangen mittels eines Relaismoduls (15), das auf einem
anderen als dem der Leistungsüberwachung unterworfenen
Computersystem (1) unter den Computern (11) aufgerufen ist, und
mittels des Computerverbindungsnetzwerks (21), von
Leistungsdaten über das genannte Computersystem (1) jedesmal, wenn von
dem Computersystem wiederholt zu verschiedenen Zeiten
Leistungsdaten erfaßt werden, und
Übertragen der empfangenen Leistungsdaten durch das
Relaismodul (15) an jedes von mehreren Verwendungsmodulen (16,
17, 16a, 16b, 17a, 17b), wobei die Verwendungsmodule unter
den von dem der Leistungsüberwachung unterworfenen
Computersystem (1) verschiedenen Computern (11) auf Computern
aufgerufen sind, die mit dem einen Computer, auf dem das
Relaismodul (15) aufgerufen ist, identisch oder von ihm verschieden
sind,
dadurch gekennzeichnet, daß
die erfaßten Daten einen vorbestimmten Satz an
Leistungsdaten darstellen, und
die Relais- und Verwendungsmodule Prozesse sind.
2. Verfahren nach Anspruch 1, wobei die Verwendungsprozesse
mehrere Anzeigeprozesse (16, 16A, 16B) beinhalten, die die
jeweils an sie übertragenen Leistungsdaten auf einer Anzeige
(12) darstellen, die mit dem Computer verbunden ist, auf dem
der jeweilige Anzeigeprozeß aufgerufen ist.
3. Verfahren nach Anspruch 2, wobei die Leistungsdaten
Leistungsdaten für mehrere Meßeinzelheiten beinhalten, und
das Verfahren außerdem einen Schritt beinhaltet, um von
einem jeweiligen Anzeigeprozeß (16; 16A; 16B) einen Teil der
an ihn übertragenen Leistungsdaten entsprechend einem Teil
der genannten Meßeinzelheiten auf der Anzeigevorrichtung (12)
anzuzeigen.
4. Verfahren nach Anspruch 2 oder 3 mit einem Schritt, um
von dem Relaisprozeß (15) eine von einem jeweiligen
Anzeigeprozeß ausgesandte Übertragungsanforderung für die genannten
Leistungsdaten zu empfangen,
wobei der Übertragungsschritt der Leistungsdaten durch
den Relaisprozeß an den jeweiligen Anzeigeprozeß (16, 16A,
16B) in Antwort auf die Übertragungsanforderung ausgeführt
wird.
5. Verfahren nach Anspruch 4, wobei der Übertragungsschritt
der Leistungsdaten durch den Relaisprozeß (15) an jeden
Anzeigeprozeß (16, 16A, 16B) folgende Schritte aufweist:
Prüfen durch den Relaisprozeß, ob es einen Anzeigeprozeß
gibt, der bereits eine Übertragungsanforderung für
Leistungsdaten an den Relaisprozeß gesandt hat, wenn der Relaisprozeß
Leistungsdaten von dem der Leistungsüberwachung unterworfenen
Computersystem (1) empfängt,
Übertragen der empfangenen Leistungsdaten durch den
Relaisprozeß an einen Anzeigeprozeß, wenn der genannte
Anzeigeprozeß als einer erkannt wurde, der bereits eine
Übertragungsanforderung für Leistungsdaten an den Relaisprozeß
gesandt hat.
6. Verfahren nach Anspruch 3,
wobei der Übertragungsschritt der Leistungsdaten durch
den Relaisprozeß (15) an jeden Anzeigeprozeß (16, 16A, 16B)
folgende Schritte aufweist:
Empfangen, durch den Relaisprozeß, einer
Übertragungsanforderung, die die Übertragung eines Teils von Leistungsdaten
entsprechend einem Teil der genannten Meßeinzelheiten
verlangt und von einem der Anzeigeprozesse ausgesandt wird,
Auswählen durch den Relaisprozeß des genannten Teils der
Leistungsdaten, der dem Teil an Meßeinzelheiten, der von der
Übertragungsanforderung angefordert wird, entspricht, wenn
der Relaisprozeß Leistungsdaten von dem der
Leistungsüberwachung unterworfenen Computersystem (1) empfängt, und
Übertragen des ausgewählten Teils der Leistungsdaten zu
dem genannten einen Anzeigeprozeß durch den Relaisprozeß.
7. Verfahren nach Anspruch 2, mit einem Schritt zum
Übertragen einer Übertragungsanforderung für Leistungsdaten von
dem Relaisprozeß (15) an das der Leistungsüberwachung
unterworfene Computersystem (1),
wobei der Empfangsschritt einen Schritt zum Empfangen
von von dem der Leistungsüberwachung unterworfenen
Computersystem ausgesandten Leistungsdaten nach der Übertragung der
Übertragungsanforderung für die Leistungsdaten an dieses
beinhaltet.
8. Verfahren nach Anspruch 2 mit einem Schritt zum
Benachrichtigen des der Leistungsüberwachung unterworfenen
Computersystems (1) über mehrere Meßeinzelheiten für die
Leistungsdaten, die das genannte Computersystem (1) erfassen
soll, bevor einer der Anzeigeprozesse (16, 16A, 16B)
aufgerufen wird.
9. Verfahren nach Anspruch 1, wobei der Empfangsschritt
einen Schritt zum Empfang von Leistungsdaten von einem
vorbestimmten aus mehreren Knoten (2) beinhaltet, die jeweils
einen Prozessor (2A) enthalten, wenn das der
Leistungsüberwachung unterworfene Computersystem (1) die Knoten beinhaltet
und mindestens der genannte eine Knoten mit dem
Computerverbindungsnetzwerk (21) verbunden ist,
wobei das der Leistungsüberwachung unterworfene
Computersystem so programmiert ist, daß ein auf jedem Knoten auf
berufener Erfassungsprozeß (4) Leistungsdaten für ihn erfaßt
und ein auf dem genannten einen Knoten aufgerufener
Sammelprozeß (3) die von dem auf dem jeweiligen Knoten
aufgerufenen Erfassungsprozeß erfaßten Leistungsdaten sammelt.
10. Verfahren nach Anspruch 1, wobei dann, wenn das der
Leistungsüberwachung unterworfene Computersystem (1) mehrere aus
den genannten Computern ausgewählte Computer beinhaltet, der
Empfangsschritt einen Schritt zum Empfang mehrerer
Leistungsdaten jeweils für einen der ausgewählten Computer mittels des
Computerverbindungsnetzwerks (21) von einem der ausgewählten
Computer enthält,
wobei das Computersystem (1) so programmiert ist, daß
ein auf jedem der ausgewählten Computer aufgerufener
Erfassungsprozeß (4) Leistungsdaten für jeden der ausgewählten
Computer erfaßt und ein auf dem genannten einen der
ausgewählten Computer aufgerufener Sammelprozeß mittels des
Computerverbindungsnetzwerks (21) von dem Erfassungsprozeß erfaßte
Leistungsdaten sammelt.
11. Verfahren nach Anspruch 1,
wobei der Empfangsschritt einen Schritt zum Empfang
mehrerer Leistungsdaten jeweils für einen von mehreren Knoten
(2) beinhaltet, so daß von jedem Knoten mittels des
Computerverbindungsnetzwerks (21) Leistungsdaten für den jeweiligen
Knoten empfangen werden, wenn das der Leistungsüberwachung
unterworfene Computersystem (1) ein Computersystem mit
mehreren Knoten ist, die jeweils mit dem
Computerverbindungsnetzwerk verbunden sind und jeder Knoten einen aus den
genannten Computern ausgewählten Computer beinhaltet,
wobei das genannte Computersystem (1) so programmiert
ist, daß auf jedem Knoten ein Erfassungsprozeß (4) so
aufgerufen wird, daß er Leistungsdaten für ihn erfaßt.
12. Verfahren nach Anspruch 1,
wobei der Empfangsschritt einen Schritt zum Empfang
mehrerer Leistungsdaten für mehrere Prozessoren (2A) von einem
der genannten Prozessoren enthält, wenn das der
Leistungsüberwachung unterworfene Computersystem (1) die genannten
Prozessoren enthält und mindestens der genannte eine
Prozessor mit dem Computerverbindungsnetzwerk (21) verbunden ist,
wobei das genannte Computersystem (1) so programmiert
ist, daß ein auf jedem Prozessor aufgerufener
Erfassungsprozeß (4) Leistungsdaten für ihn erfaßt und ein auf dem
genannten einen Prozessor aufgerufener Sammelprozeß (3) die von dem
Erfassungsprozeß erfaßten Leistungsdaten sammelt.
13. Verfahren nach Anspruch 1, wobei die Verwendungsprozesse
Log-Prozesse (17; 17A; 17B) beinhalten, die jeweils
Leistungsdaten in einer Speichereinrichtung (13) speichern, die
mit dem Computer verbunden ist, auf dem der Verwendungsprozeß
aufgerufen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2643796 | 1996-02-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69712552D1 DE69712552D1 (de) | 2002-06-20 |
DE69712552T2 true DE69712552T2 (de) | 2003-01-09 |
Family
ID=12193493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69712552T Expired - Fee Related DE69712552T2 (de) | 1996-02-14 | 1997-02-13 | Verfahren zur Überwachung eines Computersystems mit Leistungsdatenverteilung an mehrere Überwachungsprozesse |
Country Status (3)
Country | Link |
---|---|
US (1) | US5961596A (de) |
EP (1) | EP0790559B1 (de) |
DE (1) | DE69712552T2 (de) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108782A (en) * | 1996-12-13 | 2000-08-22 | 3Com Corporation | Distributed remote monitoring (dRMON) for networks |
US6425006B1 (en) | 1997-05-13 | 2002-07-23 | Micron Technology, Inc. | Alert configurator and manager |
US6219711B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Synchronous communication interface |
US6553416B1 (en) * | 1997-05-13 | 2003-04-22 | Micron Technology, Inc. | Managing computer system alerts |
US6134615A (en) | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface |
US6247050B1 (en) * | 1997-09-12 | 2001-06-12 | Intel Corporation | System for collecting and displaying performance improvement information for a computer |
JPH11120106A (ja) * | 1997-10-17 | 1999-04-30 | Fujitsu Ltd | サーバ資源利用状況の表示方式およびそのための記録媒体 |
US7054935B2 (en) * | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US8296396B2 (en) | 1998-02-10 | 2012-10-23 | Level 3 Communications, Llc | Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions |
US6108703A (en) * | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6799211B1 (en) * | 1998-08-25 | 2004-09-28 | Mci Communications Corporation | Management of multiple non-standard networks and systems with smart agents |
US6199199B1 (en) * | 1998-09-16 | 2001-03-06 | International Business Machines Corporation | Presentation of visual program performance data |
US6505246B1 (en) * | 1998-12-30 | 2003-01-07 | Candle Distributed Solutions, Inc. | User interface for system management applications |
DE19911759C1 (de) | 1999-03-16 | 2000-09-07 | Ibm | Vorrichtung und Verfahren zur Ablaufüberwachung von Vorgängen in einem Digitalrechner |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6529954B1 (en) * | 1999-06-29 | 2003-03-04 | Wandell & Goltermann Technologies, Inc. | Knowledge based expert analysis system |
US6662208B1 (en) * | 1999-08-31 | 2003-12-09 | Nortel Networks Limited | System for tracking the history of channel based network devices |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US7748005B2 (en) * | 2000-01-28 | 2010-06-29 | Hewlett-Packard Development Company, L.P. | System and method for allocating a plurality of resources between a plurality of computing domains |
US7240100B1 (en) | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
JP3579826B2 (ja) * | 2000-08-09 | 2004-10-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理システム、データロギングシステム、システムパフォーマンスの測定方法、および、記録媒体 |
DE20017445U1 (de) * | 2000-10-11 | 2001-03-08 | Wall, Georg, 81375 München | Verbindungselement für Spundbohlen |
US7155487B2 (en) | 2000-11-30 | 2006-12-26 | Intel Corporation | Method, system and article of manufacture for data distribution over a network |
US7389341B2 (en) * | 2001-01-31 | 2008-06-17 | Accenture Llp | Remotely monitoring a data processing system via a communications network |
US8176137B2 (en) * | 2001-01-31 | 2012-05-08 | Accenture Global Services Limited | Remotely managing a data processing system via a communications network |
US6735541B2 (en) | 2001-02-16 | 2004-05-11 | Exxonmobil Research And Engineering Company | Process unit monitoring program |
US6957347B2 (en) * | 2001-05-25 | 2005-10-18 | International Business Machines Corporation | Physical device placement assistant |
US7366685B2 (en) * | 2001-05-25 | 2008-04-29 | International Business Machines Corporation | Method and apparatus upgrade assistance using critical historical product information |
US7185093B2 (en) * | 2001-06-27 | 2007-02-27 | International Business Machines Corporation | Computer system, method, and business method for enabling customer access to computer system performance data in exchange for allowing access to the performance data by another computer system |
US7596617B2 (en) * | 2001-06-27 | 2009-09-29 | International Business Machines Corporation | Apparatus, method, and business method for enabling customer access to computer system execution data in exchange for sharing the execution data |
US7055149B2 (en) | 2001-07-25 | 2006-05-30 | Lenovo (Singapore) Pte Ltd. | Method and apparatus for automating software upgrades |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
WO2003027906A2 (en) | 2001-09-28 | 2003-04-03 | Savvis Communications Corporation | System and method for policy dependent name to address resolutioin. |
US7373644B2 (en) | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US20030142353A1 (en) * | 2002-01-29 | 2003-07-31 | Allen Kram Henry | Printing device having memory usage indicator |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
JP3831696B2 (ja) * | 2002-09-20 | 2006-10-11 | 株式会社日立製作所 | ネットワーク管理装置およびネットワーク管理方法 |
US7243145B1 (en) * | 2002-09-30 | 2007-07-10 | Electronic Data Systems Corporation | Generation of computer resource utilization data per computer application |
US7437446B2 (en) * | 2002-09-30 | 2008-10-14 | Electronic Data Systems Corporation | Reporting of abnormal computer resource utilization data |
US7478398B2 (en) * | 2002-10-31 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | Management apparatus and method for data collection including accumulating messages and determining message handlers for processing the accumulated messages |
US20040260801A1 (en) * | 2003-02-12 | 2004-12-23 | Actiontec Electronics, Inc. | Apparatus and methods for monitoring and controlling network activity using mobile communications devices |
US7406691B2 (en) | 2004-01-13 | 2008-07-29 | International Business Machines Corporation | Minimizing complex decisions to allocate additional resources to a job submitted to a grid environment |
US7562143B2 (en) | 2004-01-13 | 2009-07-14 | International Business Machines Corporation | Managing escalating resource needs within a grid environment |
US7552437B2 (en) | 2004-01-14 | 2009-06-23 | International Business Machines Corporation | Maintaining application operations within a suboptimal grid environment |
US7464159B2 (en) | 2004-01-14 | 2008-12-09 | International Business Machines Corporation | Managing analysis of a degraded service in a grid environment |
JP4479284B2 (ja) * | 2004-03-08 | 2010-06-09 | 株式会社日立製作所 | 計算機システムのモニタリングを設定する管理計算機及びシステム |
US7266547B2 (en) | 2004-06-10 | 2007-09-04 | International Business Machines Corporation | Query meaning determination through a grid service |
US7584274B2 (en) | 2004-06-15 | 2009-09-01 | International Business Machines Corporation | Coordinating use of independent external resources within requesting grid environments |
US7712100B2 (en) | 2004-09-14 | 2010-05-04 | International Business Machines Corporation | Determining a capacity of a grid environment to handle a required workload for a virtual grid job request |
US20060100997A1 (en) * | 2004-10-27 | 2006-05-11 | Wall Gary C | Data caching |
US7793308B2 (en) | 2005-01-06 | 2010-09-07 | International Business Machines Corporation | Setting operation based resource utilization thresholds for resource use by a process |
US7590623B2 (en) | 2005-01-06 | 2009-09-15 | International Business Machines Corporation | Automated management of software images for efficient resource node building within a grid environment |
US7668741B2 (en) | 2005-01-06 | 2010-02-23 | International Business Machines Corporation | Managing compliance with service level agreements in a grid environment |
US7707288B2 (en) | 2005-01-06 | 2010-04-27 | International Business Machines Corporation | Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment |
US7533170B2 (en) | 2005-01-06 | 2009-05-12 | International Business Machines Corporation | Coordinating the monitoring, management, and prediction of unintended changes within a grid environment |
US7761557B2 (en) * | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
US7502850B2 (en) | 2005-01-06 | 2009-03-10 | International Business Machines Corporation | Verifying resource functionality before use by a grid job submitted to a grid environment |
US7467196B2 (en) | 2005-01-12 | 2008-12-16 | International Business Machines Corporation | Managing network errors communicated in a message transaction with error information using a troubleshooting agent |
US7562035B2 (en) | 2005-01-12 | 2009-07-14 | International Business Machines Corporation | Automating responses by grid providers to bid requests indicating criteria for a grid job |
US7571120B2 (en) | 2005-01-12 | 2009-08-04 | International Business Machines Corporation | Computer implemented method for estimating future grid job costs by classifying grid jobs and storing results of processing grid job microcosms |
US8127315B2 (en) * | 2007-03-12 | 2012-02-28 | International Business Machines Corporation | Method, apparatus and software for measuring the performance of a runtime platform in response to a process call from a software application |
US8140919B2 (en) | 2007-10-15 | 2012-03-20 | International Business Machines Corporation | Display of data used for system performance analysis |
EP2274684A4 (de) | 2008-04-04 | 2012-12-05 | Level 3 Communications Llc | Umgang mit long-tail-inhalt in einem inhaltsablieferungsnetzwerk (cdn) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US20110179160A1 (en) * | 2010-01-21 | 2011-07-21 | Microsoft Corporation | Activity Graph for Parallel Programs in Distributed System Environment |
EP2610752B1 (de) * | 2010-08-27 | 2017-09-27 | Fujitsu Limited | Parallelcomputer, jobsinformationserfassungsprogramm für einen parallelcomputer, und jobsinformationserfassungsverfahren dergleichen |
KR101462856B1 (ko) * | 2010-11-29 | 2014-11-19 | 주식회사 팬택 | 이기종 무선 통신 시스템에서 상황 정보 보고 방법 및 그 장치 |
US8718978B2 (en) * | 2011-02-28 | 2014-05-06 | Apple Inc. | Performance logging framework |
US8909762B2 (en) * | 2011-03-17 | 2014-12-09 | Hewlett-Packard Development Company, L.P. | Network system management |
US8572439B2 (en) * | 2011-05-04 | 2013-10-29 | Microsoft Corporation | Monitoring the health of distributed systems |
CN102508765A (zh) * | 2011-11-17 | 2012-06-20 | 深圳市中兴移动通信有限公司 | 一种通过进程间通信实现软件日志实时监控的方法 |
US11556120B2 (en) | 2018-10-29 | 2023-01-17 | Honeywell International Inc. | Systems and methods for monitoring performance of a building management system via log streams |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158903A (ja) * | 1991-12-05 | 1993-06-25 | Nec Corp | 複数コンピュータ運行状況管理方式 |
JPH0619865A (ja) * | 1992-07-06 | 1994-01-28 | Fujitsu Ltd | 並列計算機のネットワーク稼働状況表示方法 |
US5432932A (en) * | 1992-10-23 | 1995-07-11 | International Business Machines Corporation | System and method for dynamically controlling remote processes from a performance monitor |
US5483468A (en) * | 1992-10-23 | 1996-01-09 | International Business Machines Corporation | System and method for concurrent recording and displaying of system performance data |
JP2940403B2 (ja) * | 1994-08-03 | 1999-08-25 | 株式会社日立製作所 | 並列計算機システムにおけるモニタデータ収集方法 |
US5758083A (en) * | 1995-10-30 | 1998-05-26 | Sun Microsystems, Inc. | Method and system for sharing information between network managers |
JPH09162257A (ja) * | 1995-12-05 | 1997-06-20 | Metsukusu:Kk | 薄型基板の搬送装置 |
-
1997
- 1997-02-13 EP EP97102343A patent/EP0790559B1/de not_active Expired - Lifetime
- 1997-02-13 DE DE69712552T patent/DE69712552T2/de not_active Expired - Fee Related
- 1997-02-14 US US08/800,468 patent/US5961596A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69712552D1 (de) | 2002-06-20 |
EP0790559A1 (de) | 1997-08-20 |
US5961596A (en) | 1999-10-05 |
EP0790559B1 (de) | 2002-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69712552T2 (de) | Verfahren zur Überwachung eines Computersystems mit Leistungsdatenverteilung an mehrere Überwachungsprozesse | |
DE69614034T2 (de) | Rechnersystem | |
DE69032649T2 (de) | Dateiveränderungsmonitor für rechner-, betriebs- und dateiverwaltungssysteme | |
DE60020633T2 (de) | Geräteverwaltungsnetzwerksystem, Verwaltungsserver, und Rechner | |
DE69534334T2 (de) | Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie | |
DE3789575T2 (de) | Verteiltes Dialogverarbeitungsverfahren in einem komplexen System mit mehreren Arbeitsplätzen und mehreren Gastrechnern und Vorrichtung dafür. | |
DE69514102T2 (de) | Verfahren und gerät zur verteilung von ereignissen in einem betriebssystem | |
DE69423158T2 (de) | Verfahren und Vorrichtung zur Konfiguration von Rechnerprogrammen mit Hilfe verfügbarer Unterprogramme | |
DE69911266T2 (de) | Computerprogrammprofiler | |
DE69228819T2 (de) | Konfigurations- und Betriebsverfahren eines Telekommunikationsgeräts | |
DE69205690T2 (de) | Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek. | |
DE69527623T2 (de) | Dateiübertragungsmechanismus | |
DE60220287T2 (de) | System und verfahren zur überwachung von software-warteschlangenanwendungen | |
DE69518827T2 (de) | Fehlerinformationsbenachrichtigungssystem | |
DE3689990T2 (de) | Flexible Datenübertragung für nachrichtenorientierte Protokolle. | |
DE69712678T3 (de) | Verfahren zur Echtzeitüberwachung eines Rechnersystems zu seiner Verwaltung und Hilfe zu seiner Wartung während seiner Betriebsbereitschaft | |
DE4321583C2 (de) | Computersystem und Daten-Sende/Empfang-Startverfahren | |
DE69725451T2 (de) | Drucken in offenen systemen | |
DE60015423T2 (de) | Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk | |
DE69407185T2 (de) | Eine integrierte Produktionsumgebung mit PROGRAMM-ZU-PROGRAMM- KOMMUNIKATIONS-SERVER und zugehöriges Verfahren | |
DE10034841B4 (de) | Vorrichtung und Verfahren zur Überwachung und Aufzeichnung der Verwendung von Druckern in einem System | |
DE69230664T2 (de) | Faksimileübertragungsnetzwerk | |
DE69937266T2 (de) | Anwenderschnittstelle für Datenverarbeitungssystem mit Jobüberwachung | |
DE69227741T2 (de) | System und Verfahren zur Aufrüstung von Computer-Hardware und Software | |
DE69031476T2 (de) | Asynchrone Objektvorgreifung zwischen Rechnersystemen in zusammen arbeitenden Verarbeitungssystemen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |