Industrie- und Echtzeitrechner/Kanal, Bus und Switch in unterschiedlichen Architekturen Drei Rangierer zwischen den CPUs machen den Daten Beine

19.05.1995

Von Karl-Ferdinand Daemisch*

Schon 1967 aufgestellt, gilt Gene Amdahls Gesetz noch immer: "Jeder Computer ist nur so schnell wie die langsamste seiner Komponenten." Kritischer Punkt ist die Art und die Struktur ihrer internen Verschaltung. Systeme fuer Echtzeitverarbeitung, wissenschaftliche Nutzer oder fuer anspruchsvolle kommerzielle Anwendungen sind von der Architektur der Speicher-, I/O- und Prozessorverbindungen abhaengig.

Die extremste Herausforderung in der Entwicklung von Multiprozessor-Computern (MP) stellt die optimale Durchbildung der systeminternen Datentransfers ueber den Engpass der Kanaele, Busse oder Switches dar. Sie bestimmt die gesamte Leistung eines Systems nachhaltiger als hohe Prozessortaktraten oder schnelle Speicherbausteine.

Der Markt massiv-paralleler Systeme gilt als sehr lukrativ. Immerhin schaetzt die Gartner Group fuer den kommerziellen Sektor ein Umsatzwachstum des Bestands von heute einer Milliarde Dollar auf fuenf Milliarden Dollar im Jahr 1998. Es ist ein Unix-Markt mit Microkernel-Implementierungen sowie spezifischen Real-time- Ergaenzungen. Dominierendes Derivat ist SVR4.2/MP. Horizontale Software-Angebote sind die besonders auf hohe Parallelisierung ausgerichteten, relationalen Datenbanken. Genutzt werden die MP- Systeme in Anwendungen des Warehousing- und Decision-Support- Bereichs, der hohe Online-Transaktionsraten erfordert.

Der herkoemmliche Bus hat laengst ausgedient

Die Input-/Output-Komponenten, die Verbindungen zu externen Kommunikationseinrichtungen und Platten sowie der Transfer zwischen Hauptspeicher, Cache und Prozessor bestimmen den Durchsatz. Damit ist ursaechlich der Overhead durch die Verwaltung der Halbleiterspeicher des Memory und der Caches verbunden. Traditionelle Systeme implementierten Hochgeschwindigkeitsbusse, auf denen CPUs und I/O-Komponenten um die Zugriffe konkurrieren. So verschieden die Hersteller, so unterschiedlich fallen ihre implementierten Loesungen aus.

Neuere Architekturen stuetzen sich - etwa bei Convex - auf die verwandten, internen Steuerungssysteme der Crossbar- und - bei Concurrent - der Crosspoint-Technologien. Pyramid verbindet Crossbar-Gitter mit einigen Elementen des Crosspoint. Mit massiv- parallelisierbarer Technik setzt Encore dagegen auf ein anderes Konzept: die fuer den Hersteller patentierte Memory-Channel- Architektur. Crossbar gilt als teuer, zumal Convex - als einziger Anbieter - auf den Einsatz der gegenueber Silicon deutlich schnelleren, aber auch kostspieligeren Gallium-Arsenid-Tech-

nologie nicht nur in Prozessoren, sondern auch im Crossbar setzt.

Die Problemstellung ist bei globalem Shared Memory (enggekoppelte Multiprozessoren) die gleiche wie bei (lose gekoppelten) Distributed-Memory-Systemen, die auf Messaging-Verkehr basieren. Hier verfuegen die mehrfachen Verarbeitungsknoten zusaetzlich ueber lokalen Speicher. In noch hoeherem Mass trifft dies fuer massiv- parallele Systeme zu. Die relativ junge Speichervariante Distributed Shared Memory (DSM) baut logische Shared-Memory- Modelle auf physikalisch verteiltem Speicher auf.

Grundsaetzlich versuchen alle Loesungen, die dem Systembus immanenten Beschraenkungen traditioneller Multiprozessor- Architekturen aufzuheben. Ueber ihn greifen CPUs und I/Os auf das globale, sowohl von den CPU- wie den I/O-Daten benutzte Shared- Memory zu. Hoehere Taktraten und/oder groessere Bandbreite koennen den Bus zwar beschleunigen, damit werden aber diese Baugruppen groesser und teurer. Diese Loesung eignet sich zum Beispiel kaum fuer komplexe Echtzeitanwendungen.

Die Datenkohaerenz ist bei einem Crossbar schwierig

Die bereits laenger verfuegbare Crossbar-Technologie benutzt - in traditioneller Multiprozessor-Technik - das Schema des globalen, verteilten Memory. Jede CPU kann auf jeden, aus Programmsicht einheitlichen Speicher zugreifen. Dessen Bandbreite laesst sich linear skalieren, wobei sich die Prozessoren in ihrer Performance nicht gegenseitig beeinflussen. Weitere hinzugefuegte CPUs wirken daher als echter Leistungszuwachs. Das Betreiben von Prozessen, die in einer CPU und einem Speicherbereich isoliert sind, ist moeglich.

Crossbar-Nachteile liegen vor allem in der grossen Komplexitaet und den hohen Latenzzeiten des Speicherzugriffs. Nicht Teil der Technologie - und daher problematisch - ist das Kohaerenthalten des Cache. Eine Crossbar-Erweiterung ist so gut wie ausgeschlossen.

Convex ueberwindet teilweise diese Grenzen durch seine neuere CTI- Modifikation (Coherent Toroidal Interconnect) der Crossbar- Architektur. So wird in einer gitterartigen Struktur dem globalen noch lokales Memory hinzugefuegt. Damit kann jeder Prozessor auf seinen eigenen wie auf den globalen Speicher zugreifen. Die neuere Crossbar-Technologie arbeitet mit dieser Variante und gewinnt den Vorteil der niedrigen Latenzzeit beim Lokalspeicher.

Probleme dagegen, wie etwa die Cache-Kohaerenz oder die mangelnde Erweiterbarkeit, bleiben jedoch bestehen. Beim Crossbar-Modell mit lokalem Speicher wird die Idee des globalen Shared-Memory prinzipiell sogar verlassen. Jede CPU kann zwar jedes Speichersubsystem, nicht jedoch den lokalen Speicher einer anderen CPU nutzen. Somit geraet bei dieser Loesung der Overhead der Memory- Kontrolle zum Flaschenhals.

Pyramid umgeht mit seiner unter dem Siemens-Nixdorf-Dach aus Meshine in RM1000 umbenannten "Mesh-Interconnection"-Maschine prinzipiell das "Shared-everything"-Konzept. Darauf arbeitet etwa Oracle 7 mit "parallel everything": Query, Daten-Load, Indexierung, Backup und Recovery. Jeder Prozessor erhaelt bei dieser Technologie, neben Betriebssystem-Kopie, eigenem Memory, Cache und Kommunikations-Interface, zusaetzlich zwei schnelle SCSI- 2-Busse. In eine Gitterstruktur werden bei der Aufstockung also komplette Knoten eingefuegt. Damit erscheint das auf Message- Routing basierende Netz wie eine Kombination aus Crossbar und Crosspoint.

Der Crosspoint ist eine Entwicklung von Concurrent

Die Crosspoint-Loesung, eine von Concurrent entwickelte, "Ultrasmart" genannte Crossbar-Variante, geht einen anderen Weg. Kernstueck dieser Architektur ist ein schneller Hardwareschalter zwischen den mit lokalem Memory ausgestatteten CPUs und den I/O- Kanaelen. Der Ansatz vermeidet zum einen den Engpass einer einzigen mit verschiedenen Prozessen belasteten Ressource, den Systembus. Zum anderen werden die Crossbar-Probleme umgangen. Crosspoint setzt auf vielfache, voneinander unabhaengige Punkt-zu-Punkt- Verbindungen hoher Geschwindigkeit zwischen gleichfalls eigenstaendigen Schalt-Ports.

Der lokale und der globale Speicher stellen sich dem Programm als einheitlich dar, da die Organisation das globale Konzept traditioneller Multiprozessor-Rechner nachvollzieht. Die Cache- Kohaerenz wird durch den Eintrag eines Sieben-Bit-Steuerworts fuer jede 32-Bit-Zeile des Cache in ein bestimmtes Directory sichergestellt. Die Erweiterbarkeit liegt an den I/O-Ports, an denen sich weitere Systemknoten anschliessen lassen. Hier kann das Prozess-Management jedoch zum Engpass werden.

Encore will die bekannten Probleme mit RMS loesen

Abweichend davon arbeitet das Reflective Memory System (RMS) von Encore. In jedem Rechnerknoten findet sich neben lokalem Memory eine weitere Speicherkarte mit einem Anschluss an den RMS. Wird ein Inhalt in diesem Speicher geaendert, "reflektiert" dies - ueber eine zusaetzliche Logik - auf alle am Bus angeschlossenen Speichereinheiten, ohne Beteiligung einer CPU oder eines Knotens. Die Koppelung der Systeme erfolgt deterministisch und kennt keine Rueckwirkung oder Latenzzeiten.

Das schnelle Memory ist der Kanal: Das Konzept basiert auf globalem Speicheradressraum, aber lokalem Mapping pro Board. Die Architektur trennt aus dem Speicher zu uebertragende Daten vom Empfangsprozess, wobei der Austausch ueber den eigenen Speicher des Kanals erfolgt. Die bereits dritte Generation des Memory-Channels arbeitet mit Hardware-unterstuetztem Block-Mode sowie Direct Memory Access (DMA) auf dem Knoten-Board und erreicht mit neuer Bus- Steuerlogik eine Dauertransferrate von ueber 103 MB/s.

Auch hier ist das Problem der auf verschiedene CPU-Chips verteilten Prozesse und das Kohaerenthalten der Daten im Speicher und in den Caches zu loesen. Der aktive Bus mit eigener Logik sorgt fuer die Kohaerenz der Speicher. Auch das Routing von I/O auf einen Speicher oder umgekehrt auf die Knoten erfolgt ueber eigene I/O- Handler. Encore definiert Knoten als vier eng gekoppelte, jeweils mit eigenem Cache versehene sowie mit Shared-Memory ausgestattete Prozessoren. Zwei bis neun Knoten lassen sich ueber den 425 Mbit/s schnellen RMS-Bus koppeln.

Die Architektur verbindet den Speicher im Knoten ebenfalls ueber den Memory-Channel. Vom Knoten ist dies so unabhaengig wie die Kommunikationsverwaltung. Somit waechst durch Skalieren des Memory- Channels dessen I/O-Leistung und Bandbreite ohne zusaetzliche komplexe Verbindungen. Am RMS sind ausserdem blockartig ausgebildete Subsysteme fuer das I/O- und das Daten-Management angebunden, die jeweils bestimmte Funktionen ausfuehren.

Der Kanal selbst ist wie die Knoten durch Bus-zu-Bus-Repeater auf Kupfer-, Koax- oder Glasfaserverbindungen skalierbar. Dies ist moeglich, da er keine passive Leitung darstellt, sondern eigene Intelligenz aufweist. Darauf beruht laut Encore-Messungen eine fast linear steigende Leistungskurve des Systems, wenn es um neue Knoten erweitert wird. Dieses Konzept erkennen auch andere Hersteller an. DEC lizenzierte RMS im Rahmen eines OEM-Vertrags fuer die ausfallsichere Verbindung zweier redundant geschalteten APX-Systeme. Eine 1994 nochmals erweiterte Allianz mit Amdahl umfasst nun Entwicklung und Vertrieb einer Familie von Storage- Produkten, die auf der Encore-Technologie basiert.