>> Home / Real-Time / Architekuren
Produkte
Messen
Veröffentlichungen
Newsletter
Kontakte
 

 

Symmetrische, Closely-Coupled und Loosely-Coupled Systeme

Symmetrische Multiprozessor Systeme (SMPs)

Die klassische Rechnerarchitektur für komplexe Real-Time Anwendungen ist der Symmetrische Multiprozessor, ein Model, das die Hauptteile des Systems (CPUs, Speicher und I/O-Module) über einen sehr schnellen Systembus miteinander verbindet.

Die Hauptvorteile von SMP-Systemen liegen in der dynamischen Lastenverteilung (dadurch wird die gesamte CPU-Leistung ohne zusätzlichen Programmieraufwand optimal ausgenutzt), sowie dem symmetrischen Zugriff auf die System Ressourcen (dies führt zu kurzen und deterministischen Zugriffszeiten).

Allerdings ist die dynamische Lastenverteilung für Real-Time Anwendungen nur bedingt ein Vorteil. Denn einerseits kommt sie der Dynamik einer komplexen Real-Time Applikation voll entgegen, andererseits könnte sie zu undeterministischen Latenzen führen. Deswegen wird die dynamische Lastenverteilung in manchen Real-Time Applikationen wenigstens zum Teil außer Kraft gesetzt, typischerweise durch die Bindung der einzelnen Tasks an dedizierte Prozessoren.

SMP-Systeme sind nicht unbegrenzt erweiterbar. Da die Entwicklung von noch leistungsfähigeren Bussystemen mit der Entwicklung von noch leistungsfähigeren CPUs nicht Schritt halten konnte, wird mit der wachsenden Anzahl der CPUs der Systembus zum Engpaß. Dies hat zur Folge, daß der Anschluß einer zusätzlichen CPU nicht den erwarteten Leistungszuwachs bringt, er kann sogar die Leistung der übrigen CPUs negativ beeinflussen, d.h. das System ist nicht mehr skalierbar.

Da der Systembus den Engpaß darstellt, könnte man dem Ziel der absoluten Skalierbarkeit näher kommen, in dem man private Bussysteme zwischen jeder CPU und jedem Memory Modul einbaut. So z.B. verwendete Concurrent´s MAXION einen "Crosspoint", der solche private Pfade zwischen allen CPUs und allen Speichermodulen des Systems einschaltet. Andere Systeme benutzen "Crossbars", eine vereinfachte Variante des "Crosspoints", die größere CPU-Konfigurationen ermöglicht, allerdings mit Abstrichen, was die Skalierbarkeit angeht.

Grundsätzlich führen solche Lösungen zu proprietären Systemen, die sich in hohen Anschaffungs- und Wartungskosten widerspiegeln. Hinzu kommt, daß häufig die benötigte Rechenleistung einer komplexen, nicht monotonen Real-Time-Anwendung nicht genau berechnet werden kann, was zu überdimensionierten Systemen (d.h. wiederum zusätzlichen Kosten) führt. In einem solchen Fall wird die gesamte Rechenleistung eines großen SMP-Systems gar nicht optimal ausgenutzt!

Deswegen stellt sich die Frage: Wieviel Symmetrie braucht die Anwendung tatsächlich?

Closely-Coupled Systeme (CCS)

Das Closely-Coupled Konzept ist Concurrent´s sinnvolle, und gleichzeitig ökonomische Alternative zu großen Symmetrischen Multiprozessor-Systemen (SMPs).

Die meisten komplexen Real-Time-Anwendungen sind nicht monolithisch. Sie bestehen aus Aufgaben mit sehr intensiver Interaktion und anderen, die weniger oder gar nicht miteinander kommunizieren. Eine solche Anwendung könnte man logisch in Subsysteme einteilen, die auf einem Concurrent Closely-Coupled Multiprozessor-System laufen können.

Ein Closely-Coupled System entsteht durch die intelligente Kopplung von leistungsfähigen SMP-Knoten (auch SBCs – Single Board Computer genannt). Als SBCs eignen sich alle Power Hawk Series 700 Modelle.

Jeder SBC führt eine eigene Kopie des PowerMAX OS Betriebssystems sowie mehrere Tasks aus. Innerhalb des SBC ist die dynamische Lastenverteilung und die optimale Kommunikation zwischen den Tasks gewährleistet.

Die SBCs werden über ein offenes Bus-System (VMEbus) verbunden. Der erste SBC übernimmt das Boot-Laden und die File Server Funktion für die restlichen SBCs.

Während die dynamische Lastenverteilung nur für Tasks innerhalb eines SBCs möglich ist, können Tasks auf verschiedenen SBCs jedoch über die typischen Intertask-Mechanismen kommunizieren (Shared Memory, Signale, Posix.1b Message Queues, Posix.1b Semaphore), so daß die gesamte Software logisch so entwickelt werden kann, als ob sie auf einem reinen SMP laufen würde.

Standartmäßig wird der VMEbus für die Kommunikation zwischen den SBCs benutzt. Verschiedene Anschluß-Optionen für die Platten zielen darauf, Disk-Transfers vom VMEbus fern zu halten. So z.B. darf jeder SBC private Disks verwenden. Außerdem dürfen mehrere SBCs auf gemeinsame Disks über eigene SCSI-Busse anstatt über den VMEbus zugreifen.

Die direkte P0-PCI Kopplung bietet bei 264 MB/Sekunde einen zusätzlichen, sehr schnellen Kommunikationspfad zwischen den SBCs an.

Die schnellste Kommunikation zwischen den SBCs schafft das Real-Time Clock & Interrupt Module (RCIM), eine von Concurrent speziell entwickelte Platine. RCIM kann Interrupt-Signale von SBCs oder auch von externen Quellen aufnehmen und an andere SBCs weiterleiten. Dies schließt u.a. auch die Möglichkeit ein, die gesamte Applikation auf allen SBCs von einem zentralen Taktgeber zu synchronisieren bzw. bei der Anwendung der NightStar Tools, die Applikation in ihrer Gesamtheit zu steuern, zu analysieren und zu optimieren.

Loosely-Coupled Systeme (LCS)

Mehrere Closely-Coupled Systeme (Cluster) können über Ethernet verbunden werden. Concurrent nennt diese Art Kopplung "loosely-coupled", da zwischen den Clustern nur Boot-Laden und File Server Funktionen möglich sind. Dadurch entsteht eine weitere hierarchische Ebene, die sehr große Rechner-Konfigurationen ermöglicht.

Für weitere Fragen stehen selbstverständlich unsere Mitarbeiter gerne zur Verfügung.

.

 

© 2008 Concurrent Computer GmbH - Impressum