Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER NODE ARCHITECTURE COMPRISING A DEDICATED MIDDLEWARE PROCESSOR
Document Type and Number:
WIPO Patent Application WO/2001/065369
Kind Code:
A2
Abstract:
The essential aim of the invention is, by providing each of the respectively separate computers for executing the application software and the middleware software with an interface which is located between these computers and which is precisely defined in the time domain and range of values, to decouple both of these subsystems to a large extent, and thus to improve the development and the temporal foreseeability of real-time applications.

Inventors:
KOPETZ HERMANN (AT)
Application Number:
PCT/AT2001/000058
Publication Date:
September 07, 2001
Filing Date:
March 01, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FTS COMPUTERTECHNIK GMBH (AT)
KOPETZ HERMANN (AT)
International Classes:
G06F15/17; (IPC1-7): G06F9/54; G06F11/16
Other References:
GUL N. KHAN: "Fault-Tolerant Architecture for High Performance Embedded System Applications" INTERNET DOCUMENT: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, VLSI IN COMPUTERS AND PROCESSORS, ICCD'98, 5. - 7. Oktober 1998, Seiten 384-389, XP002178447 Austin, Texas, États-Unis d'Amérique
NIELSEN P ET AL: "A PARALLEL COMPUTATION AND CONTROL COMPUTER FOR MICROROBOTICS" PROCEEDINGS OF THE AMERICAN CONTROL CONFERENCE. PITTSBURGH, JUNE 21 - 23, 1989, NEW YORK, IEEE, US, Bd. 1 CONF. 8, 21. Juni 1989 (1989-06-21), Seiten 472-477, XP000093251
Attorney, Agent or Firm:
Matschnig, Franz (Siebensterngasse 54 Wien, AT)
Download PDF:
Claims:
PATENTANSPRÜCHE
1. Multicomputerknotenrechner für ein verteiltes Computersystem, dadurch gekenn zeichnet, dass er folgende Einheiten umfasst : mindestens einen HostComputer (140,240) mit dedizierter CPU und dediziertem Speicher, mindestens einen MiddlewareComputer (120,220) mit dedizierter CPU und dediziertem Speicher, und mindestens ein mit dem MiddlewareComputer (120,220) verbundenes Kommunikationssystem (101), das über mindestens einen Kommunikationskanal mit ande ren Knotenrechnern des verteilten Computersystems verbunden ist, wobei zwischen dem HostComputer (240) und dem MiddlewareComputer (220) eine Schnittstelle (230) vorgese hen ist, welche aus einer dualported Speicherschnittstelle (DPRAM) besteht, auf die der MiddlewareComputer (220) während a priori spezifizierter Zeitintervalle lesend oder schreibend zugreift und auf die der HostComputer (240) außerhalb dieser a priori spezifi zierten Zeitintervalle lesend oder schreibend zugreifen kann, und wobei die Schnittstelle (230) zwischen dem HostComputer (240) und dem MiddlewareComputer (220) zusätzlich eine ausgezeichnete Speicherzelle, die Zeitzelle (231), enthält, in die der Middleware Computer (220) periodisch die aktuelle Zeit schreibt.
2. Knotenrechner nach Anspruch 1, dadurch gekennzeichnet, dass in der Schnittstelle (230) zwischen dem HostComputer (240) und dem MiddlewareComputer (220) eine weite re ausgezeichnete Speicherstelle (232) vorhanden ist, in welche der HostComputer (240) einen Zeitwert eintragen kann und wo von der Hardware ein Interruptsignal für den Host Computer (240) generiert wird, sobald der Inhalt der Zeitzelle (231) dem Zeitwert in dieser ausgezeichneten Speicherstelle (232) entspricht.
3. Knotenrechner nach Anspruch 1, dadurch gekennzeichnet, dass das Kommunikati onssystem (100) die globale Zeit aufbaut und der Inhalt der Zeitzelle (231) in der Schnittstelle (230) zwischen dem HostComputer (240) und dem MiddlewareComputer (220) direkt von einem lokalen Kommunikationskontroller (200) des Kommunikationssystems periodisch über eine Hardwaresignalleitung (221) aktualisiert wird.
4. Knotenrechner nach Anspruch einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der MiddlewareComputer (220) die globale Zeit von einer externen Zeitbasis einliest.
5. Knotenrechner nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als HostComputer (240) ein commercialoftheshelf (COTS) Computer verwendet wird, der über eine Standardschnittstelle mit dem MiddlewareComputer verbunden ist.
6. Knotenrechner nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Schnittstelle (230) zwischen dem MiddlewareComputer (220) und dem HostComputer (240) als serielle Nachrichtenschnittstelle ausgeführt ist, über die der MiddlewareComputer (220) zu a priori festgelegten Zeitpunkten Nachrichten sendet, die in einer ausgezeichneten Adresse den aktuellen Zeitwert (231) enthalten.
7. Knotenrechner nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass bei der Einführung von Fehlertoleranz durch Replizierung der Knotenrechner die Schnittstelle (230) zwischen dem MiddlewareComputer (220) und HostComputer (240) weder in ihrem Zeitverhalten noch in ihrem Werteverhalten gegenüber der nicht fehlertoleranten Konfigura tion geändert wird.
Description:
RECHNERKNOTENARCHITEKTUR MIT DEDIZIERTEM MIDDLEWARE PROZESSOR Die Erfindung betrifft einen Multicomputerknotenrechner für ein verteiltes Computersys- tem.

In einem verteilten fehlertoleranten Echtzeitcomputersystem, bestehend aus einer Anzahl von Knotenrechnern und einem Echtzeitkommunikationssystem, müssen von den Knoten- rechnern die Ausführung der Anwendungssoftware und diverse Verwaltungsaufgaben, die "Middlewareaufgaben", beispielsweise aie Ansteuerung der Peripherie, die Verwaltung der Nachrichten, das Netzwerkmanagement etc. wahrgenommen werden. Durch die vielen im- pliziten Wechselwirkungen zwischen diesen nur schwach abhängigen Aufgaben wird die zeitliche Vorhersehbarkeit der Ausführungszeiten der Anwendungssoftware wesentlich beeinträchtigt. In der Literatur [siehe z. B. Anceaume, E., et. al. (1998). HADES : A Middleware Supportfor Distributed Safeft-Critical Real-Time Applications. Proc. of the 18th Distributed Compu- ter System Conference (DCS 18), IEEE Press. pp. 344-351 ; Janka, R. (1999). A Ne Development Framework Based on Efficient Middleware for Real-Time Embedded Heterogenous Multicomputers.

Proc. of Engeneering of Computer Based Systems (ECBS 99), IEEE Press. pp. 261-268 ; Kim, K.

(1998). ROAFTS : A Middleware Architechure for Real-time Object-Oriented Adaptive Fault- Tolerance Support. Proc. of the 3rd International High Assurance System Engineering Symposium, IEEE Press. pp. 50-57] wird vorgeschlagen, die Middleware-Software in eigenen Software- objekten abzukapseln, um eine Entkopplung zwischen der Middleware-Software und der Anwendungssoftware zu erreichen. Diese Entkopplung ist im zeitlichen Bereich unvollstän- dig, da die gleiche CPU die zeitlich geschachtelte Ausführung der Anwendungssoftware und die der Middleware-Software vornehmen muss und durch die gemeinsame Verwen- dung von Ressourcen, wie etwa einem Cache-Speicher der CPU, zusätzliche ungewollte Ab- hängigkeiten entstehen.

Es ist eine Aufgabe der Erfindung, in Echtzeitcomputersystemen eine möglichst weitgehen- de Entkopplung zwischen der Middleware-Software und der Anwendersoftware zu errei- chen.

Diese Aufgabe wird mit einem eingangs erwähnten Multicomputerknotenrechner gelöst, der erfindungsgemäß folgende Einheiten umfasst : mindestens einen Host-Computer mit dedi- zierter CPU und dediziertem Speicher, mindestens einen Middleware-Computer mit dedi- zierter CPU und dediziertem Speicher, und mindestens ein mit dem Middleware-Computer verbundenes Kommunikationssystem, das über mindestens einen Kommunikationskanal mit anderen Knotenrechnern des verteilten Computersystems verbunden ist, wobei zwi- schen dem Host-Computer und dem Middleware-Computer eine Schnittstelle vorgesehen ist, welche aus einer dual-ported Speicherschnittstelle (DPRAM) besteht, auf die der Midd- leware-Computer während a priori spezifizierter Zeitintervalle lesend oder schreibend zu- greift und auf die der Host-Computer außerhalb dieser a priori spezifizierten Zeitintervalle lesend oder schreibend zugreifen kann, und wobei die Schnittstelle zwischen dem Host- Computer und dem Middleware-Computer zusätzlich eine ausgezeichnete Speicherzelle, die Zeitzelle, enthält, in die der Middleware-Computer periodisch die aktuelle Zeit schreibt.

Die vorliegende Erfindung schlägt eine Knotenrechnerarchitektur vor, bei welcher die An- wendungssoftware auf einem dedizierten Host-Computer ausgeführt wird, der über eine a priori voll spezifizierte zeitgesteuerte Datenschnittstelle mit einem Middleware-Computer verbunden ist. Die Verwaltungsaufgaben können in einer solchen Architektur von dem Middleware-Computer abgewickelt werden, der die von der Anwendung benötigten Daten rechtzeitig in die Datenschnittstelle schreibt bzw. von dieser liest.

Durch die Auslagerung der Anwendungsaufgaben auf einen dedizierten Host-Computer, mit einer im Wert-und Zeitbereich präzise definierten Datenschnittstelle zum Middleware- Computer lassen sich folgende Vorteile realisieren : (i) Sobald die Schnittstelle zwischen Host-Computer und Middleware-Computer spezi- fiziert ist, kann die Anwendungssoftware unabhängig vom Rest des Systems entwickelt und getestet werden. Dadurch lässt sich die Entwicklungszeit von großen Systemen reduzieren.

(ii) Die Wiederverwendbarkeit einer einmal getesteten Anwendersoftware in unter- schiedlichen Systemumgebungen ist gegeben, wenn die gegebene Schnittstellenspezifikation zwischen Host-Computer und Middleware-Computer eingehalten wird.

(iii) Die von der Anwendungssoftware entkoppelte Middleware-Software kann weitge- hend automatisch durch Softwarewerkzeuge erstellt werden.

Die Erfindung samt ihren Vorteilen wird im folgenden an Hand von Ausführungsbeispielen näher erläutert, die in der Zeichnung näher erläutert sind. In dieser zeigen Fig. 1 die Struktur eines verteilten Computersystems mit vier Knotenrechnern, und Fig. 2 die Struktur eines Multicomputerknotenrechners, bestehend aus einem Host Compu- ter, einem Middleware-Computer, einer Kommunikationskontrolleinheit und dem An- schluss von Prozessperipherie.

Im folgenden wird eine Realisierung des neuen Verfahrens an einem Beispiel mit vier Multi- computerknotenrechnern, die über einen gemeinsamen Bus kommunizieren, gezeigt.

Die Fig. 1 zeigt ein System von vier Multicomputerknotenrechnern, die über einen gemein- samen Bus 101 Daten austauschen. Jeder Knotenrechner verfügt über einen Kommunikati- onskontroller 100 zum gemeinsamen Bus 101, einen Prozess I/O Controller 110, der mit den Sensoren und Aktuatoren 111 verbunden ist, sowie einen Middleware-Computer 120 mit eigener CPU und Speicher und einen Hostcomputer 140.

Weiters zeigt die Fig. 2 den inneren Aufbau eines Multicomputerknotenrechners. Der Kom- munikationskontroller 200 ist mit dem gemeinsamen Bus 101 über eine Stichleitung 201 ver- bunden. Der I/O Kontroller 210 liest und schreibt über Leitungen 211 oder über einen Feld- bus die Signale zu den Sensoren und Aktuatoren 111. Beide Kontroller, der Kommunikati- onskontroller 200 und der I/O Kontroller 210, werden vom Middleware-Computer 220 ge- steuert. Der Middleware-Computer 220 verfügt über einen eigenen Speicher und eine eigene CPU und die notwendige Software. Eine Datenschnittstelle 230 zwischen dem Middleware- Computer 220 und dem Host-Computer 240 wird durch einen gemeinsamen Speicherbereich ("dual ported RAM"), der von beiden Computern angesprochen werden kann, gebildet. In einer Datenstruktur 225 ist angegeben, wann der Middleware-Computer 220 in die Daten- schnittstelle 230 zum Host-Computer 240 schreiben darf und wann er aus dieser Schnittstelle 230 lesen darf. Analog ist in einer Datenstruktur 235 angegeben, wann der Host-Computer 240 in die Datenschnittstelle 230 schreiben und wann er aus dieser Schnittstelle lesen darf.

Wenn alle Kommunikationskontroller 100, die über den Bus 101 verbunden sind, gemeinsam eine globale Zeit aufbauen, so wird diese globale Zeit periodisch in ein Register 202 und über eine Signalleitung 221 gleichzeitig per Hardware in ein Register 231 in die Schnittstelle 230 zwischen Middleware-Computer 220 und Host-Computer 240 geschrieben. Ein Verfahren zum Aufbau einer globalen Zeit in einem verteilten Computersystem ist in dem europa- schen Patent EP 658 257 sowie in den US-Patenten US 4 866 606 und US 5 694 542 veröffent- licht worden. Schließlich kann die Schnittstelle 230 zwischen Middleware-Computer 220 und Host-Computer 240 noch einen Timer enthalten, der einen Hardwareinterrupt im Host- Computer 240auslöst, wenn der Inhalt der Zeitzelle 231 einen beispielsweise von dem Host- Computer 240 in die ausgezeichnete Speicherzelle 232 in der Schnittstelle 230 eingetragenen Wert erreicht.

Der Host-Computer 240 kann auch über einen seriellen Nachrichtenkanal mit dem Middle- ware-Computer 220 verbunden sein. In diesem Fall muss der Middleware-Computer zu in der Datenstruktur 225 angegebenen fixen Zeitpunkten Nachrichten über diesen seriellen Nachrichtenkanal an den Hostcomputer 240 senden. In jeder dieser Nachrichten muss in einem ausgezeichneten Feld, der Zeitzelle 231, die aktuelle Zeit eingetragen sein. Der Host- computer 240 muss zu den in der Datenstruktur 235 angegebenen Zeitpunkten Nachrichten an den Middleware-Computer 220 senden.

Der Hostcomputer 240 kann ein COTS-Computer ("commercial off the shelf") sein, wie etwa ein Personal Computer, der über eine Standardschnittstelle, beispielsweise eine PCI- Schnittstelle, mit dem Middleware-Computer 220 verbunden ist.

Im Betrieb versorgt der Middleware-Computers 220 über die Schnittstelle 230 den Hostcom- puter 240 zeitgereicht mit allen notwendigen Daten und übernimmt die Ergebnisse des Hostcomputer 240 zu vorgegebenen Zeitpunkten, um diese Ergebnisse an die anderen Kno- tenrechner oder die Prozessperipherie weiterzuleiten. Der Middleware-Computer 220 kann diese Verwaltungsaufgaben des Systems durchführen ohne die Anwendung zu beeinflussen.

Da der Host-Computer 240 die Anwendersoftware ohne Unterbrechungen ausführen kann, ist es wesentlich leichter, die maximale Ausführungszeit ("Worst-case execution time"- WCET) der Anwendungsprozesse a priori zu berechnen.

In einem fehlertoleranten System bilden eine Anzahl von replizierten Knotenrechner eine Fault-Tolerant Unit (FTU). Solange-entsprechend der Fehlerhypothese-eine Minimalzahl von Knotenrechnem einer FTU funktionieren, bleiben die Leistungen der FTU-auch im Fehlerfall-erhalten (siehe, z. B. Kopetz, H. (1997). Real-Time Systems, Design Principles for Distributed Embedded Applications ; ISBN : 0-7923-9894-7, Third printing 1999. Boston. Kluwer Academic Publishers, Seite 131). In einer solchen fehlertoleranten Konfiguration kann der Middleware-Computers 220 jedes Knotenrechners die Aufgaben der Nachrichtenreduktion und der Votierung übernehmen. Da die votierten Nachrichten an der Schnittstelle 230 zum gleichen Zeitpunkt abgegeben werden wie in nicht fehlertoleranten Systemen, sind in dieser Architektur die Mechanismen der Fehlertoleranz für den Hostcomputer 240 transparent, d. h. zur Einführung von Fehlertoleranz muss die Anwendungssoftware in dem Host-Computer 240 nicht geändert werden.