Superrechner

Superrechner
Superrechner

Welche Eigenschaften sollte ein Superrechner haben, der besonders schnell ist? Wie sollte sein Speicher aufgebaut sein? Inwieweit weicht er von herkömmlichen Rechnerarchitekturen ab? Wie kann dies an den Beispielen der Grundrechenarten und der Matrizenmultiplikation verdeutlicht werden?

Im Folgenden wird mit einer Bit-Länge von 64 gerechnet. Diese kann in der Praxis aber höher sein. Grundlage sind u. a. besonders schnelle Zählleitungen, die bei der Addition bitweise eingesetzt werden. Eine Zählleitung wird z. B. von Teilchen wie Photonen oder Elektronen in einem geeigneten Medium durchflossen, auf das es hier aber nicht ankommt, da nur das theoretische Konzept geschildert wird. Diese zählen die Anzahl gesetzter gleichwertiger Bits von mehreren aneinander liegenden Binärzahlen.

Entscheidend ist die hohe Geschwindigkeit der Teilchen. Die 64 Anzahlen pro Bit werden wieder als Binärzahlen gespeichert und (bitweise verschoben) addiert. Da dies parallel geschieht, wird eine Additionsgeschwindigkeit von \(2^{32}\) Binärzahlen mit Bit-Länge 32 in \(\mathcal{O}(1)\) erreicht. Subtraktionen werden über das Zweierkomplement realisiert. Fortgesetzte Addition ermöglicht Multiplikation und über die Inversenbildung die Division. Ein hierarchischer Speicher ermöglicht schnelle Vergleiche (s. Funkrechnen).

Zur schnellen Multiplikation zweier o. B. d. A. quadratischer Matrizen mit jeweils \(2^n\) Einträgen für \(n \in {}^{\nu}\mathbb{N}\) werden diese durch simultane Replikation (d. h. gleichzeitiges Versenden und Speichern) in eine Speicherkugel geschrieben. In deren Knoten, in denen beide Einträge von jeweils einer Matrix gespeichert ist, findet die Multiplikation in \(\mathcal{O}(1)\) statt. Anschließend werden die Einträge einer Zeile wie oben geschildert über Zählleitungen parallel in \(\mathcal{O}(1)\) addiert, was die Ergebnismatrix berechnet.

Hierbei befindet sich die Wurzel in der innersten Schale, deren Blätter in der nächstäußeren Schale usf. Die Schalen sind drehbar gelagert, um Abnutzungs- bzw. Überanspruchungseffekten der innersten Knoten vorzubeugen. Die Kontakte (Pins) befinden sich in ebenfalls drehbar gelagerten eigenen Schalen. Die Speicheradressen werden verwaltet wie in einem virtuellen Speicher, der rechnerisch auch einem Speicherwürfel entsprechen kann. Von Zeit zu Zeit werden die Schalen gedreht, auch bei Ausfällen.

Das vorgestellte Speicherkonzept ist ebenfalls für andere Hardwarekomponenten geeignet wie Festplatten. Es ermöglicht kürzere Wege als das herkömmliche. Dies ist vorteilhaft für die Indizierung von Datenbanktabellen, Schwarmerkundungen und Threads. Die austauschbare kugelförmige Wurzeleinheit ist mehrfach redundant ausgelegt, um ein vernünftiges Ausfallkonzept zu haben. Um an sie von außen zu gelangen, lässt sich der Speicher aufklappen. Von der jeweiligen Wurzel geht je ein Speicherbaum aus.

Insgesamt ist so (virtuell) ein einziger Speicherbaum adressierbar (sogenannte Speicherdualität). Dies erlaubt schnelle Sortierverfahren wie Bitsort (s. Theoretische Informatik). Dazu sind die Speicherzellen eventuell als einfachere Prozessoreinheiten mit eigener Intelligenz zu realisieren. Aus technischen oder rechnerischen Gründen können sie auch doppelt ausgelegt sein. Dieses Konzept kann in reduzierter Form bei PCs verwendet werden. Auf jeden Fall ergibt sich ein deutlicher Geschwindigkeitsgewinn.

© 2023 by Boris Haase

Seitenbeginn