-
HINTERGRUND
-
Die vorliegende Erfindung bezieht sich auf ein Mehrprozessor-Detektionssystem und ein Verfahren davon und genauer gesagt auf ein Mehrprozessor-Detektionssystem und Verfahren zum Detektieren von Fehlern und Ursachen von Fehlern in einer Vielzahl von Prozessoren.
-
Der Wachhund- (WatchDog)-Timer (WDT) ist ein elektronischer Timer, der verwendet wird, um Computerfehlfunktionen zu detektieren und zu überwinden. Um ein Zeitverstreichen oder Timeout zu verhindern, startet das Computersystem beim Normalbetrieb den WDT regulär neu.
-
Wenn der Computer aufgrund eines Hardware-Defektes oder eines Programmfehlers daran scheitert, den WDT neu zu starten, erzeugt der Timer ein Timeout-Signal über die Zeit. Das Auszeitsignal wird verwendet, um mehrere korrektive Aktionen zu ergreifen. Die korrektive Aktion involviert allgemein, das Computersystem in einem sicheren Zustand zu halten und es zum Normalbetrieb zurückzuführen.
-
Der WDT wird üblicher Weise in Computersteuerausrüstung gefunden, auf die für Menschen schwierig zuzugreifen ist, oder auf Fehler in einer zeitnahen Weise zu antworten. Wenn die Software stoppt, kann es sein, dass sich viele eingebettete Systeme nicht allein auf das Rebooten durch einen Anwender verlassen. Daher müssen diese eingebetteten Systeme selbstunterstützend sein. Beispielsweise können entfernte eingebettete Systeme wie etwa Raumsonden, nicht durch menschliche Bediener physikalisch zugänglich sein. Wenn das System nicht automatisch die Fehler aufhebt, können sie permanent korrumpiert sein. Der WDT wird üblicher Weise in solchen Fällen versendet.
-
1 zeigt ein Blockdiagramm eines konventionellen Fehlerdetektionssystems eines Prozessors.
-
In der Vergangenheit, um den Normalbetrieb des Verarbeitungskerns (oder Prozessors) zu überwachen, wird der WDT variabel im Wachhund-Prozessor 200 eingestellt und beim Empfangen des WDT-Impulssignales aus dem Verarbeitungskern 100 innerhalb der entsprechenden Zeit wird festgestellt, dass es kein Problem beim Betrieb des Verarbeitungskerns 100 gibt.
-
Wenn das WDT-Impulssignal nicht innerhalb der im WDT eingestellten Zeit aus dem Verarbeitungskern 100 empfangen wird, setzt der Wachhund-Prozessor 200 den Verarbeitungskern 100 zurück. Bei der konventionellen Fehlerdetektionstechnologie für den Verarbeitungskern 100 ist es unmöglich, zu erfassen, welcher Kern ein Problem in einem Mehrkernsystem aufweist.
-
Zusätzlich führt bei konventionellen Mehrkernsystemen mit einem Wachhundprozessor und einer Anzahl von Prozessoren der Wachhundprozessor Operationen zum Überwachen anderer Prozessoren durch. Wenn jedoch Fehler in einem bestimmten Prozessor auftreten, ist die Fehlerdetektionstechnik nicht in der Lage, die spezifische Ursache des Fehlerauftretens zu erfassen. Beispielsweise kann ein Wachhundprozessor nicht bestimmen, ob ein Fehler, der an einem bestimmten Prozessor auftritt, ein arithmetischer Fehler oder ein Kommunikationsfehler ist.
-
ZUSAMMENFASSUNG
-
Die vorliegende Erfindung stellt ein Mehrprozessor-Detektionssystem und Verfahren zum Detektieren von Fehlern und Ursachen von Fehlern jedes einer Vielzahl von Prozessoren und ein computerlesbares Aufzeichnungsmedium bereit, das darauf aufgezeichnet ein Programm zum Ausführen des Verfahrens aufweist.
-
Gemäß einer Ausführungsform beinhaltet ein Fehlerdetektionssystem: eine Eingabeeinheit zum Einstellen einer Systembetriebsanfragezeit, basierend auf einer externen Eingabe; eine Vielzahl von Prozessoren zum Durchführen einer vorbestimmten Operation; und einen Fehlerdetektionsprozessor zum Detektieren eines Fehlers jeder der Vielzahl von Prozessoren, wobei der Fehlerdetektionsprozessor ein Fehlerdetektionssignal an einen vorbestimmten ersten Prozessor oder die Vielzahl von Prozessoren sendet, ein aktualisiertes Fehlerdetektionssignal aus einem vorbestimmten zweiten Prozessor von der Vielzahl von Prozessoren empfängt und bestimmt, ob die Betriebsverarbeitungszeit der Vielzahl von Prozessoren innerhalb der Betriebsanfragezeit verarbeitet wird, basierend auf dem aktualisierten Fehlerdetektionssignal.
-
Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, kann der Fehlerdetektionsprozessor einen Fehlerzähler um einen vorbestimmten Wert inkrementieren und ein Fehlerauftrittssignal an zumindest einen der Vielzahl von Prozessoren senden, wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt.
-
Die Betriebsverarbeitungszeit kann eine Summe einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum dem aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt sein.
-
Wenn der Fehler auf der Betriebsleistungs-Verbrauchszeit basiert, kann der Fehlerzähler ein Wert sein, der durch Gewichten des vorbestimmten Wertes erhalten wird.
-
Wenn der Fehler auf der Kommunikationszeit basiert, kann der Fehlerzähler ein Wert sein, der durch Gewichten des vorbestimmten Wertes erhalten wird.
-
Die Betriebsverarbeitungszeit kann eine Summe eines Wertes sein, der durch Zuweisen einer vorbestimmten Gewichtung zu einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt ermittelt wird.
-
Die Betriebsverarbeitungszeit kann eine Summe einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und eines Wertes, der durch Zuweisen einer vorbestimmten Gewichtung zu einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt erhalten wird, sein.
-
Das aktualisierte Fehlerdetektionssignal kann die Betriebsleistungs-Verbrauchszeit sein, die durch jeden der Vielzahl von Prozessoren aufgezeichnet wird.
-
Die Betriebsleistungs-Verbrauchszeit kann ein Wert sein, der durch Messen einer Differenz zwischen einem Zeitpunkt, zu welchem eine vorbestimmten Operation in jedem der Vielzahl von Prozessoren gestartet wird, und einem Zeitpunkt, zu welchem die vorbestimmte Operation abgeschlossen ist, erhalten wird.
-
Das Fehlerauftrittsignal kann ein Signal beinhalten, das einen Flag-Wert, der einen Fehlerauftritt angibt und ein Rücksetz-Signal beinhaltet.
-
Das Fehlerdetektionssystem kann weiter einen Bus enthalten, der die Vielzahl von Prozessoren und den Fehlerdetektionsprozessor miteinander verbindet.
-
Gemäß einer anderen Ausführungsform beinhaltet ein Fehlerdetektionsverfahren: Einstellen einer Systembetriebsanfragezeit, basierend auf einer externen Eingabe; Senden eines Fehlerdetektionssignals an einen vorbestimmten ersten Prozessor durch einen Fehlerdetektionsprozessor; Durchführen einer vorbestimmten Operation durch jeden der Vielzahl von Prozessoren; Aktualisieren eines Fehlerdetektionssignals durch jeden der Vielzahl von Prozessoren; Empfangen eines aktualisierten Fehlerdetektionssignals aus einem vorbestimmten zweiten Prozessor von der Vielzahl von Prozessoren durch einen Fehlerdetektionsprozessor; und Bestimmen, ob die Betriebsverarbeitungszeit der Vielzahl von Prozessoren innerhalb der Betriebsanfragezeit verarbeitet wird, basierend auf dem aktualisierten Fehlerdetektionssignal durch einen Fehlerdetektionsprozessor.
-
Das Verfahren kann weiter beinhalten: wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, Implementieren eines Fehlerzählers um einen vorbestimmten Wert und wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, Senden eines Fehlerauftrittssignals an zumindest einen der Vielzahl von Prozessoren.
-
Die Betriebsverarbeitungszeit kann eine Summe einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt sein.
-
Wenn der Fehler auf der Betriebsleistungs-Verbrauchszeit basiert, kann der Fehlerzähler ein Wert sein, der durch Gewichten des vorbestimmten Wertes ermittelt wird.
-
Wenn der Fehler auf der Kommunikationszeit basiert, kann der Fehlerzähler ein Wert sein, der durch Gewichten des vorbestimmten Wertes erhalten wird.
-
Die Betriebsverarbeitungszeit kann eine Summe eines Wertes, der durch Zuweisen einer vorbestimmten Gewichtung zu einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt erhalten wird, sein.
-
Die Betriebsverarbeitungszeit kann eine Summe einer Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und eines Wertes, der ermittelt wird durch Zuweisen einer vorbestimmten Gewichtung zu einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt, sein.
-
Das aktualisierte Fehlerdetektionssignal kann die durch jeden der Vielzahl von Prozessoren aufgezeichneten Betriebsleistungs-Verbrauchszeit beinhalten.
-
Die Betriebsleistungs-Verbrauchszeit kann ein Wert sein, der ermittelt wird durch Messen einer Differenz zwischen einem Zeitpunkt, zu welchem eine vorbestimmte Operation in jedem der Vielzahl von Prozessoren gestartet wird, und einem Zeitpunkt, zu welchem die vorbestimmte Operation abgeschlossen ist.
-
Das Fehlerauftrittssignal kann ein Signal beinhalten, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetzsignal.
-
Die Vielzahl von Prozessoren und der Fehlerdetektionsprozessor können durch einen Bus miteinander verbunden sein.
-
Figurenliste
-
Ausführungsformen können aus der nachfolgenden Beschreibung in Zusammenschau mit den beigefügten Zeichnungen detaillierter verstanden werden, in welchen:
- 1 ein Blockdiagramm eines konventionellen Fehlerdetektionssystems eines Prozessors zeigt;
- 2 ein Blockdiagramm eines Mehrprozessor-Detektionssystems gemäß einer Ausführungsform der vorliegenden Erfindung ist;
- 3 den Betrieb eines Mehrprozessor-Detektionssystems gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 4 ein Flussdiagramm eines Mehrprozessor-Fehlerdetektionsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
- 5 ein Flussdiagramm eines Mehrprozessor-Fehlerdetektionsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung ist.
-
DETAILLIERTE BESCHREIBUNG
-
Nachfolgend wird eine bevorzugte Ausführungsform der vorliegenden Erfindung im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. In den Zeichnungen beziehen sich gleiche Bezugszeichen auf gleiche Elemente und die Größe jeder Komponente in den Zeichnungen kann aus Gründen der Klarheit der Erläuterung übertrieben sein.
-
2 ist ein Blockdiagramm eines Mehrprozessor-Detektionssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Das Fehlerdetektionssystem 200 gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet eine Eingabeeinheit 220, einen Fehlerdetektionsprozessor 210 und eine Vielzahl von Prozessoren 230 bis 250.
-
Das Fehlerdetektionssystem 200 gemäß einer Ausführungsform der vorliegenden Erfindung beinhaltet weiter einen Bus, der die Vielzahl von Prozessoren 230 bis 250 mit dem Fehlerdetektionsprozessor 210 verbindet.
-
Die Eingabeeinheit 220 stellt die Systembetriebsanfragezeit basierend auf der externen Eingabe ein.
-
Jeder der Vielzahl von Prozessoren 230 bis 250 führt eine vorbestimmte Operation durch.
-
Der Fehlerdetektionsprozessor 210 detektiert einen Fehler jeder der Vielzahl von Prozessoren 230 bis 250. Spezifisch sendet der Fehlerdetektionsprozessor 210 ein Fehlerdetektionssignal an einen vorbestimmten ersten Prozessor von der Vielzahl von Prozessoren 230 bis 250.
-
Der vorbestimmte erste Prozessor führt eine vorbestimmte Operation durch und aktualisiert ein Fehlerdetektionssignal, um eine Betriebsleistungs-Verbrauchszeit zu beinhalten, die erforderlich ist, eine vorbestimmte Operation durchzuführen. Die Betriebsleistungs-Verbrauchszeit bezieht sich auf einen Wert, der als eine Differenz zwischen einem Zeitpunkt gemessen wird, zu welchem eine vorbestimmte Operation in jedem der Vielzahl von Prozessoren 230 bis 250, die den vorbestimmten ersten Prozessor beinhalten, durchgeführt wird, und einem Zeitpunkt, zu welchem die vorbestimmte Operation abgeschlossen ist.
-
Die Vielzahl von Prozessoren 230 bis 250 führt sequentiell den oben beschriebenen vorbestimmten Betrieb durch und aktualisiert ein Fehlerdetektionssignal.
-
Der Fehlerdetektionsprozessor 210 empfängt ein aktualisiertes Fehlerdetektionssignal aus einem vorbestimmten zweiten Prozessor der Vielzahl von Prozessoren 230 bis 250. Das aktualisierte Fehlerdetektionssignal beinhaltet jede Betriebsleistungs-Verbrauchszeit, die durch jeden der Vielzahl von Prozessoren 230 bis 250 aufgezeichnet ist.
-
Der Fehlerdetektionsprozessor 210 bestimmt, ob die Betriebsverarbeitungszeit der Vielzahl von Prozessoren 230 bis 250 innerhalb der Betriebsanfragezeit verarbeitet wird, basierend auf dem aktualisierten Fehlerdetektionssignal. Die Betriebsverarbeitungszeit bedeutet, dass die Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren 230 bis 250 und die Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt addiert werden.
-
Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, inkrementiert der Fehlerdetektionsprozessor 210 den Fehlerzähler um einen vorbestimmten Wert. Wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, sendet der Fehlerdetektionsprozessor 210 ein Fehlerauftrittssignal an zumindest einen, der den Fehler verursachte, der Vielzahl von Prozessoren 230 bis 250. Das Fehlerauftrittssignal beinhaltet ein Signal, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetz-Signal.
-
Wenn das Fehlerdetektionssystem 200 gemäß einer Ausführungsform der vorliegenden Erfindung ein System ist, in welchem die Betriebsgeschwindigkeit wichtig ist und die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, aufgrund der Betriebsleistungs-Verbrauchszeit, inkrementiert der Fehlerdetektionsprozessor 210 den Fehlerzähler durch Gewichtung des vorbestimmten Werts.
-
Wenn das Fehlerdetektionssystem 200 gemäß einer Ausführungsform der vorliegenden Erfindung ein System ist, in welchem Kommunikationsgeschwindigkeit wichtig ist und der Grund, warum die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, ein Fehler ist, der auf der Kommunikationszeit basiert, inkrementiert der Fehlerdetektionsprozessor 210 den Fehlerzähler durch Gewichtung des vorbestimmten Werts.
-
Wenn das Fehlerdetektionssystem gemäß einer anderen Ausführungsform der vorliegenden Erfindung ein System ist, in welchem Betriebsgeschwindigkeit wichtig ist, berechnet der Fehlerdetektionsprozessor eine Betriebsverarbeitungszeit durch Addieren eines Wertes, der durch Addieren eines vorbestimmten Gewichts zu der Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und einer Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt erhalten wird. Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, inkrementiert der Fehlerdetektionsprozessor den Fehlerzähler um einen vorbestimmten Wert. Wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, sendet der Fehlerdetektionsprozessor ein Fehlerauftrittsignal an zumindest denn einen, der den Fehler verursachte, der Vielzahl von Prozessoren. Das Fehlerauftrittsignal beinhaltet ein Signal, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetz-Signal.
-
Wenn das Fehlerdetektionssystem gemäß einer anderen Ausführungsform der vorliegenden Erfindung ein System ist, in welchem eine Kommunikationsgeschwindigkeit wichtig ist, berechnet der Fehlerdetektionsprozessor die Betriebsverarbeitungszeit durch Addieren eines Werts, der durch Zuweisen einer vorbestimmten Gewichtung zur Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt erhalten wird, und die Betriebsleistungs-Verbrauchszeit jeder der Vielzahl von Prozessoren miteinander. Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, inkrementiert der Fehlerdetektionsprozessor den Fehlerzähler um einen vorbestimmten Wert. Wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, sendet der Fehlerdetektionsprozessor ein Fehlerauftrittsignal an zumindest einen, der den Fehler der Vielzahl von Prozessoren verursachte. Das Fehlerauftrittsignal beinhaltet ein Signal, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetz-Signal.
-
3 zeigt den Betrieb eines Mehrprozessor-Detektionssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Im illustrierten Beispiel beinhaltet das Fehlerdetektionssystem einen Fehlerdetektionsprozessor 310 und drei Prozessoren 320 bis 340. Obwohl diese drei Prozessoren im illustrierten Beispiel gezeigt sind, wird es für Fachleute auf dem Gebiet ersichtlich sein, dass das Fehlerdetektionssystem jegliche Anzahl von Prozessoren abhängig vom Systemdsign enthalten kann.
-
Der Fehlerdetektionsprozessor 310 gemäß einer Ausführungsform der vorliegenden Erfindung überträgt ein Fehlerdetektionssignal an den ersten Prozessor 320. Das Fehlerdetektionssignal wird über ein Verfahren des Verwendens eines „reservierten“ Bereichs eines vorbestimmten Kommunikationsdatenprotokolls erzeugt, unter Verwendung von Datenbits in einem vorbestimmten Kommunikationsdatenprotokoll, Hinzufügen einiger Bits zu einem vorbestimmten Kommunikationsdatenprotokoll oder Zuweisen von zusätzlichen Pins zum Fehlerdetektionssystem.
-
Der erste Prozessor 320 gemäß einer Ausführungsform der vorliegenden Erfindung führt Operationen #1 durch, welches eine vorbestimmte Operation ist. Der erste Prozessor 320 aktualisiert das Fehlerdetektionssignal, so dass es eine Betriebsleistungs-Verbrauchszeit 2 enthält, die erforderlich ist, um Operation #1 durchzuführen. Die Betriebsleistungs-Verbrauchszeit 2 ist ein Wert, der durch Messen einer Differenz zwischen einem Zeitpunkt, zu welchem der erste Prozessor 320 beginnt, die Operation #1 durchzuführen, und einem Zeitpunkt, zu welchem Operation #1 abgeschlossen ist, erhalten wird. Der erste Prozessor 320 sendet das aktualisierte Fehlerdetektionssignal an den zweiten Prozessor 330.
-
Der zweite Prozessor 330 und der dritte Prozessor 340 gemäß einer Ausführungsform der vorliegenden Erfindung aktualisieren jedes Fehlerdetektionssignal, um eine vorbestimmte Operation durchzuführen, und jede Betriebsleitung, wie oben beschrieben, und beinhalten die Betriebsleistungs-Verbrauchszeiten 3 und 4.
-
Der dritte Prozessor 340 sendet das aktualisierte Fehlerdetektionssignal an den Fehlerdetektionsprozessor 310.
-
Der Fehlerdetektionsprozessor 310 empfängt das aktualisierte Fehlerdetektionssignal aus den dritten Prozessor 340. Das aktualisierte Fehlerdetektionssignal beinhaltet jede durch jeden der Vielzahl von Prozessoren 320 bis 340 aufgezeichnete Betriebsleistungsverbrauchszeit.
-
Der Fehlerdetektionsprozessor 310 bestimmt, ob die Betriebsverarbeitungszeit der Vielzahl von Prozessoren 320 bis 340 innerhalb der Betriebsanfragezeit prozessiert wird, basierend auf dem aktualisierten Fehlerdetektionssignal. Die Betriebsverarbeitungszeit bedeutet, dass die Betriebsleistungs-Verbrauchszeit jeder Vielzahl von Prozessoren 320 bis 340 und die Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt addiert werden. Im gezeigten Beispiel bedeutet die Betriebsleistungs-Verbrauchszeit „2+3+4“ und bedeutet die Kommunikationszeit „1+5“.
-
Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, inkrementiert der Fehlerdetektionsprozessor 310 den Fehlerzähler um einen vorbestimmten Wert. Wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, sendet der Fehlerdetektionsprozessor 310 ein Fehlerauftrittsignal an zumindest einen, der den Fehler verursachte, von der Vielzahl von Prozessoren 320 bis 340. Das Fehlerauftrittsignal beinhaltet ein Signal, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetz-Signal.
-
Wenn das Fehlerdetektionssystem ein System ist, in welchem Betriebsgeschwindigkeit wichtig ist und die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, aufgrund der Betriebsleistungs-Verbrauchszeit, inkrementiert der Fehlerdetektionsprozessor 310 den Fehlerzähler durch Gewichten des vorbestimmten Werts.
-
Wenn das Fehlerdetektionssystem ein System ist, in welchem Kommunikationsgeschwindigkeit wichtig ist und der Grund, warum die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit prozessiert wird, ein Fehler ist, basierend auf der Kommunikationszeit, inkrementiert der Fehlerdetektionsprozessor 310 den Fehlerzähler durch Gewichten des vorbestimmten Werts.
-
4 ist ein Flussdiagramm eines Mehrprozessor-Fehlerdetektionsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Im Schritt 410 stellt das Fehlerdetektionssystem 200 die Systembetriebsanfragezeit basierend auf der externen Eingabe ein.
-
Im Schritt 420 sendet das Fehlerdetektionssystem 200 ein Fehlerdetektionssignal an einen vorbestimmten ersten Prozessor aus der Vielzahl von Prozessoren durch einen Fehlerdetektionsprozessor.
-
Im Schritt 430 führt das Fehlerdetektionssystem 200 einen vorbestimmten Betrieb durch jeden der Vielzahl von Prozessoren durch.
-
Im Schritt 440 aktualisiert das Fehlerdetektionssystem 200 das Fehlerdetektionssignal, so dass es die Betriebsleistungs-Verbrauchszeit enthält, die erforderlich ist, um die vorbestimmte Operation durch jeden der Vielzahl von Prozessoren durchzuführen. Die Betriebsleistungs-Verbrauchszeit ist ein Wert, der durch Messen einer Differenz zwischen einem Zeitpunkt, zu welchem jeder der Vielzahl von Prozessoren beginnt, eine vorbestimmte Operation durchzuführen, bis zu einem Zeitpunkt, zu welchem die vorbestimmte Operation abgeschlossen ist, ermittelt wird.
-
Im Schritt 450 empfängt das Fehlerdetektionssystem 200 das aktualisierte Fehlerdetektionssignal aus einem vorbestimmten zweiten Prozessor von der Vielzahl von Prozessoren durch einen Fehlerdetektionsprozessor. Das aktualisierte Fehlerdetektionssignal beinhaltet die durch jeden der Vielzahl von Prozessoren aufgezeichnete Betriebsleistungs-Verbrauchszeit.
-
Im Schritt 460 bestimmt das Fehlerdetektionssystem 200, ob die Betriebsverarbeitungszeit der Vielzahl von Prozessoren innerhalb der Betriebsanfragezeit prozessiert wird, basierend auf dem aktualisierten Fehlerdetektionssignal durch den Fehlerdetektionsprozessor. Die Betriebsverarbeitungszeit bedeutet, dass die Betriebsleistungs-Verbrauchszeit jedes der Vielzahl von Prozessoren und die Kommunikationszeit ab dem Fehlerdetektionssignal-Sendezeitpunkt bis zum aktualisierten Fehlerdetektionssignal-Empfangszeitpunkt addiert werden.
-
Wenn die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, schreitet das Fehlerdetektionssystem 200 zu Schritt 520 vor und wird später unter Bezugnahme auf 5 beschrieben.
-
Die Vielzahl von Prozessoren und die Fehlerdetektionsprozessoren sind über einen Bus miteinander verbunden.
-
5 ist ein Flussdiagramm eines Mehrprozessor-Fehlerdetektionsverfahrens gemäß einer Ausführungsform der vorliegenden Erfindung.
-
Im Schritt 520 inkrementiert das Fehlerdetektionssystem 200 den Fehlerzähler um einen vorbestimmten Wert.
-
Wenn das Fehlerdetektionssystem 200 ein System ist, in welchem die Betriebsgeschwindigkeit wichtig ist und die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, aufgrund der Betriebsleistungs-Verbrauchszeit, inkrementiert das Fehlerdetektionssystem 200 den Fehlerzähler durch Gewichten des vorbestimmten Werts.
-
Wenn das Fehlerdetektionssystem 200 ein System ist, in welchem Kommunikationsgeschwindigkeit wichtig ist und der Grund, warum die Betriebsverarbeitungszeit nicht innerhalb der Betriebsanfragezeit verarbeitet wird, ein Fehler ist, der auf der Kommunikationszeit basiert, inkrementiert das Fehlerdetektionssystem 200 den Fehlerzähler durch Gewichtung des vorbestimmten Werts.
-
Im Schritt 530, wenn der Fehlerzähler einen vorbestimmten Schwellenwert übersteigt, sendet das Fehlerdetektionssystem 200 ein Fehlerauftrittsignal zumindest an einen der Vielzahl von Prozessoren. Das Fehlerauftrittsignal beinhaltet ein Signal, das einen Flag-Wert enthält, der einen Fehlerauftritt angibt, und ein Rücksetz-Signal.
-
Beispielsweise kann eine Vorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung einen mit jeder Einheit der Vorrichtung gekoppelten Bus, wie in der Zeichnung gezeigt, und zumindest einen mit dem Bus gekoppelten Prozessor enthalten, und kann einen mit dem Bus gekoppelten Speicher zum Speichern von Befehl, empfangene Nachrichten oder erzeugten Nachrichten beinhalten, und gekoppelt mit dem zumindest einen Prozessor, um die oben beschriebenen Befehle durchzuführen.
-
Gemäß der vorliegenden Erfindung ist es möglich, nicht nur einen Verarbeitungskern, in welchem ein Problem auftritt, in einem Mehrkernsystem zu identifizieren, sondern auch zu identifizieren, ob die Ursache des Problems ein Betriebsfehler oder ein Kommunikationsfehler ist.
-
Daher stellt die Mehrkern-Fehlerdetektionsvorrichtung gemäß der vorliegenden Erfindung nicht nur die Sicherheit des Betriebs des Systems sicher, sondern verbessert auch die Arbeitsleistung zum Lösen des identifizierten Problems.
-
Obwohl das Mehrprozessor-Detektionssystem und das Verfahren dafür unter Bezugnahme auf die spezifischen Ausführungsformen beschrieben worden sind, sind sie nicht darauf beschränkt. Daher versteht sich für Fachleute auf dem Gebiet leicht, das verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom Geist und Schutzumfang der vorliegenden Erfindung, die durch die angehängten Ansprüche definiert ist, abzuweichen.