Multiprozessorsysteme/Die Designs nähern sich an

Architektur von Mehrprozessorsystemen

03.03.2000
Mehrprozessorsysteme wurden in den 80er Jahren entwickelt, um die Verarbeitungsgeschwindigkeit zu erhöhen oder um im wissenschaftlichen Umfeld bestimmte Forschungsgebiete überhaupt erst angehen zu können. Weitere Vorteile solcher Architekturen sind die Skalierbarkeit der Systeme sowie eine höhere Zuverlässigkeit und Ausfallsicherheit.Von Uwe Harms*

Vor gerade einmal 15 Jahren begannen die Rechnerhersteller Cray und IBM erste Multiprozessorsysteme am Markt anzubieten, Cray die Vier-Prozessor-Supercomputer "Cray X-MP" und Cray 2 und IBM den Mainframe "S/390". IBM kündigte die Hardwareplattform im Februar 1985 an, das Betriebssystem "MVS/XA" unterstützte aber erst ab Herbst 1986 den Vierwegebetrieb. Heute bieten viele Hersteller Multiprozessorlösungen auf der Basis unterschiedlicher Prozessoren an, von Intel-Systemen über Mainframes und Risc-Rechner bis hin zu massiv-parallelen Rechnern im kommerziellen und technisch-wissenschaftlichen Umfeld.

Es waren unterschiedliche Anforderungen, die zu Multiprozessorsystemen geführt haben: Zunächst einmal war da der Wunsch nach mehr Rechenleistung, den ein einziger Prozessor nicht befriedigen kann. Nur im Zusammenspiel mehrerer Prozessoren lassen sich große kommerzielle Aufgaben wie Data Mining oder SAP-Applikationen schneller bearbeiten. Erfahrungen bei American Express zeigten, dass Mainframes mit Einzelprozessoren bei aufwändigen Analysen in Data Warehouses mehr als eine Woche benötigten, während die Aufgabe mit Parallelverarbeitung in einigen Stunden erledigt war. Auch in der Wissenschaft lassen sich neue Forschungsgebiete angehen, wenn parallele Kapazität bereitsteht. Gleichzeitig addieren sich dann auch die Speichergrößen. Außerdem können Multiprozessorsysteme sukzessive erweitert und so stets dem Benutzerbedarf angepasst werden. Ein anderer wichtiger Grund ist die Zuverlässigkeit und Ausfallsicherheit: Ein freier oder wenig ausgelasteter Prozessor kann die Aufgaben eines ausgefallenen übernehmen, so dass das Gesamtsystem immer voll funktionstüchtig ist.

Auf dem Markt sind diverse Rechnerarchitekturen erhältlich, die jeweils ihre speziellen Stärken und Schwächen haben. Im Vektorrechnerbereich bieten Hersteller wie Fujitsu-Siemens, NEC und Cray proprietäre Höchstleistungs-CMOS-Prozessoren (Complementary Metal Oxide Semiconductor) an. Andere nutzen Standard-Risc-Prozessoren, auf denen auch ihre Ein-Prozessor-Workstations beruhen. Hier lassen sich dann identische Programme auf dem kleinsten wie auf größten Rechnern ausführen. Natürlich ist für den Multiprozessorrechner eine parallelisierte Version eines Programmpakets erforderlich - im Datenbankmarkt etwa portable Systeme wie Informix, Oracle oder Sybase. Inzwischen drängen auch die Intel-basierten Mikroprozessorsysteme verstärkt in diesen Markt: Compaq beispielsweise mit bis zu acht, Unisys mit dem Cellular Multiprocessing mit immerhin 32 oder NCR mit mehr als 2000 Pentium-CPUs.

Bei den Multiprozessorsystemen haben sich verschiedene Architekturen herauskristallisiert: die massiv-parallelen Rechner (MPP), die symmetrischen Multiprozessorsysteme (SMP) und die Workstation-Cluster, die aus einzelnen Arbeitsstationen bestehen. Daneben hat sich auch das Zusammenschalten von größeren SMP-Systemen bewährt und wird von nahezu allen Herstellern angeboten.

MPP-ArchitekturHier besitzt jeder Prozessor jeweils seinen eigenen Speicher und Cache und ist mit den Nachbarn über eine schnelle Verbindung gekoppelt. Die Hersteller nutzen dabei verschiedene Verbindungstopologien: das Netz, den Würfel oder den Torus. Bei einigen Rechnerarchitekturen greifen die Prozessoren auch auf eigene Festplatten zu, bei anderen steht ein einziger Plattenpool für alle bereit. Auf den einzelnen Prozessorknoten läuft eine Kopie oder ein Kernel des Betriebssystems und verringert so die verfügbare Speichergröße für die Anwendungen. Auch die Applikation, etwa das Datenbanksystem, ist über alle oder einen Teil der Prozessoren verteilt. Die Kommunikation zwischen den Prozessoren erfolgt durch den Austausch von Nachrichten ("hole /verschicke Nachrichten"). Der Anwender muss selbst festlegen, welcher Prozessor welche Daten benötigt, außer der Softwarelieferant hat das bereits realisiert.

Diese Architektur hat den Vorteil, dass sie nahezu beliebig skalierbar ist. Es können problemlos weitere, auch leistungsstärkere Prozessoren hinzugefügt werden. Dann lassen sich auch die Ein-/ Ausgabe- und die Kommunikationsbandbreite entsprechend erhöhen. Inzwischen haben sich fast alle Parallelrechner-Hersteller von proprietären Prozessoren verabschiedet und nutzen gängige Risc- oder Intel-Mikroprozessoren. Zu dieser Klasse gehören die "Worldmark"-Server von NCR mit bis zu 2048 Pentium-II-Xeon-Chips sowie Compaq/Tandem mit den "Nonstop-Himalaya"-Hochverfügbarkeitssystemen auf MIPS- und später auf Alpha-Basis. Hier sind mehr als 4000 Knoten über das eigene, schnelle Server Net verbunden. Der Rechner ist ausfallsicher ausgelegt und verwendet die eigene, ebenfalls ausfallsichere Datenbank "Nonstop SQL/MX". Dieses System wird ausschließlich im kommerziellen, geschäftskritischen Umfeld eingesetzt.

IBM bietet seinen SP2-Rechner als Zwitter an, einmal als Parallelrechner mit eigenen Platten pro Prozessor, die dem Anwender oder dem Datenbanksystem wegen eines softwaremäßig realisierten Virtual-shared-Disk-Systems wie ein Plattensystem erscheinen. Andererseits kann die Prozessorkonfiguration auch als Workstation-Cluster angesehen werden. Neben dem proprietären Datenbanksystem DB2 bietet Big Blue weitere Datenbanksysteme an. Auch Fujitsu-Siemens-Nixdorf hat in der Reliant-Serie einen massiv-parallelen Rechner mit fast 200 Prozessoren. Hier hat jeder MIPS-Chip Zugriff auf die Platten und ist über ein Netz mit den Nachbarn verbunden. Weitere Hersteller paralleler Systeme sind unter anderem Bull, ICL und Unisys.

Im technisch-wissenschaftlichen Umfeld ist die "Cray T3D/E" als massiv-paralleles System, das auf Alpha-Prozessoren beruht, das Arbeitspferd. Es ist in einer 3D-Torus-Topologie aufgebaut. Als Nachfolgesystem plant SGI die SN1, bei der MIPS- und IA-64-Prozessoren verwendet werden.

KommunikationssystemDie Achillesferse eines massiv-parallelen Rechners ist das interne Kommunikationssystem, das einerseits schnell sein, andererseits aber auch mit der Zahl der Prozessoren oder Knoten wachsen muss. Bei der Cray T3E leistet das dreidimensionale Torus-Netz mit den Verbindungen vom Prozessor zu seinen sechs Nachbarn jeweils 650 MB/s, also insgesamt fast 4 GB/s. Daneben muss auch die Ein-/Ausgabe berücksichtigt werden, da bei voll ausgebauten Rechnern Speichergrößen im Terabyte-Bereich auftreten. Hier hat Cray den Gigaring eingeführt, der im Vollduplexbetrieb eine Übertragungsrate von 1,6 GB/s erreicht.

ProgrammiermodelleFür den Nutzer einer Applikation, etwa eines parallelen Datenbanksystems, sind die Möglichkeiten eines massiv-parallelen Systems aufgrund der schnelleren Verarbeitung durchaus zu spüren. Tätig werden muss er nicht, der Hersteller hat das Programmsystem schon parallelisiert.

Ein technisch-wissenschaftlicher Programmierer muss sich hingegen selbst um die Datenverteilung und die Kommunikation kümmern. Entweder nutzt er die explizite Parallelität bei verteiltem Speicher durch Message Passing, MPI, MPI-2 (Message Passing Interface) oder PVM (Parallel Virtual Machine). Die Prozessoren tauschen über "Send" und "Receive" Nachrichten und Daten aus. Ein anderer Ansatz nutzt die implizite Parallelität durch HPF (High Performance Fortran).

SMP-Systeme - symmetrische MultiprozessorenBei dieser Technologie greifen alle Prozessoren auf einen gemeinsamen Speicher (Shared Memory) zu. Oft sind sie, beispielsweise bei Intel-Prozessoren oder den Low-end Risc-Workstations, über einen schnellen Bus mit dem Speicher verbunden. Hier kann dann die Bandbreite zum Engpass werden. Bei den "teuren" Systemen verwenden die Hersteller Crossbars oder Switches, um einen schnellen Zugriff zu ermöglichen. Jeder Prozessor sieht den gesamten Speicher als eine Einheit. Diese Technologie ist inzwischen sehr ausgereift und weit verbreitet.

Das Programmiermodell ist für den Anwender sehr einfach, er kommuniziert und synchronisiert im gemeinsamen Speicher. Dazu muss er keine Nachrichten versenden und empfangen. Der intelligente Compiler übernimmt wesentliche Aufgaben der Selbst-Parallelisierung. Auch kommerzielle Programmsysteme wie Datenbanken lassen sich damit relativ einfach portieren.

Da die Anwender SMP-Systeme für kommerzielle und auch technisch-wissenschaftliche Applikationen nutzen, ergibt sich ein größerer Umsatz als bei rein wissenschaftlichen Anforderungen. Nach eigenen Angaben hat Hewlett-Packard weltweit etwa 3000 Rechner von der "V-Class", auch mit CC-Numa (Cache-coherent Non-Uniform Memory Access), mit mehr als acht Prozessoren pro SMP verkauft. Ein Knoten kann bis zu 32 PA-Risc-Prozessoren enthalten. Sun Microsystems hat mehr als 1500 "E10000"-Maschinen vermarktet, wovon etwa 100 in Deutschland stehen. Das Unternehmen ist vor allem im kommerziellen Umfeld erfolgreich, in der Telekommunikation oder auch bei Retailern. Ein Knoten besteht aus maximal 64 Ultra-Sparc-Bausteinen. SGI konzentriert sich mehr auf den technisch-wissenschaftlichen Markt und hat hier von den großen CC-Numa-Rechnern "Origin 2000" mit mehr als acht Prozessoren über 1000 installiert, in Racks mit bis zu 16 Prozessoren seit 1997 etwa 3000. Im ASCI-Projekt (Accelerated Strategic Computing Initiative) zur Simulation von Atombombenversuchen hat SGI 48 solcher Rechner mit jeweils 128 Prozessor-SMP-Rechnern verknüpft - also ein 6144-Prozessor-System. Compaq hat auf der Systems in München die "GS320" vorgestellt, die auch auf der CeBIT rechnen wird und sich aus 32 Alpha-CPUs zusammensetzt.

IBMs Parallelrechner "RS/6000 SP" verbindet über seine zentrale Schaltstelle den Switch, die SMP-Knoten, aber auch Datenbankrechner als externen Knoten. Damit lassen sich unterschiedliche Systeme flexibel kombinieren. Auch neue SMP-Systeme mit der aktuellen Prozessortechnik können an existierende Rechner angeschlossen werden. Der Switch soll in diesem Jahr von 300 MB/s pro Knoten ("Colony"-Switch") auf 4 GB/s Spitzenleistung erhöht und direkt an den System-Bus angeschlossen werden. Im Rahmen des ASCI-Programms folgt im Jahr 2002 der "Federation"-Switch mit 32 GB/s Bandbreite.

IBM hat nach eigenen Angaben etwa 6000 SP-Rechner mit 55000 Knoten sprich SMPs verkauft. 70 Prozent der Rechner mit 50 Prozent der Knoten werden in der kommerziellen DV genutzt, 30 Prozent im technisch-wissenschaftlichen Umfeld.

Vorteil dieses Multiprozessortyps ist die Möglichkeit, die Prozessoren auch als einzelne Workstation einzusetzen oder mehrere Prozessoren zu partitionieren. Als Einzelprozessorsystem kann dann die breite Palette von vorhandenen Anwenderprogrammen für einzelne Workstations auch hier genutzt werden. Ein SMP-System lässt sich auch in Prozessorgruppen unterteilen und kann dann in voneinander abgeschotteten Partitionen verschiedene Aufgaben erledigen oder neue Betriebssystemversionen testen.

Die SMP-Lösungen haben ihre Leistungsfähigkeit und Skalierbarkeit schon in vielen Bereichen als Datenbank-, R/3-Applikations- oder als Computer-Server bewiesen. Beim SAP-R/3-SD-Benchmark (Sales and Distribution) hält schon seit Jahren der SMP-Rechner die Spitzenposition. Ein Nachteil war bisher die begrenzte Anzahl der Prozessoren pro SMP. Aufgrund des Speicherzugriffs ließen sich nicht unbegrenzt viele Chips an den Bus oder das Verbindungsnetzwerk, den Crossbar, anhängen. Inzwischen hat SGI eine Schallgrenze durchbrochen und vermarktet 128-Wege-Systeme - aber auch größere. In diesem Marktsegment tummelt sich nun, was im Workstation-Bereich Rang und Namen hat. Neben den bereits genannten findet man unter anderem Fujitsu-Siemens mit der "Reliant"- und der neuen "Sparc64"-Serie, die unter Solaris arbeitet. Derzeit bietet der Hersteller Modelle mit bis zu acht Prozessoren an, noch in diesem Jahr sollen es bis zu 128 werden.

BetriebssystemeAlle SMP-Anbieter im Unix-Umfeld verwenden 64-Bit-Betriebssysteme, um auch die Anforderungen der Datenbankanwender zu erfüllen und durch größere Hauptspeicher dort Teile der Datenbank zu verarbeiten und insgesamt schneller zu werden. Auch die Betriebssysteme müssen die Parallelverarbeitungstechniken unterstützen. So muss über eine Barriere, an der alle parallelen Tasks anhalten, synchronisiert werden können. Auch das parallele Betreiben aller Prozessoren soll möglich sein.

Cluster von SMPsUm auf höhere Prozessorzahlen zu kommen - wie bei SGI im ASCI-Projekt - koppeln die Hersteller auch SMPs über schnelle Interconnects zu Multinode-Lösungen. Hier nutzen sie unterschiedliche Technologien. Hewlett-Packard hat CTI (Coherent Toroidal Interface) implementiert, das auf dem IEEE-Standard SCI (Scalable Coherent Interface) beruht. Jeder Link bietet eine Transferrate von 3,8 GB/s, während jeder Port des "8x8 Non-blocking Crossbar", den sich zwei CPUs teilen, eine Übertragungsrate von 1,9 GB/s bietet. Die Transferrate zwischen den SMP-Komplexen reduziert sich also gegenüber der internen (vom Hauptspeicher zum Prozessor), so dass die Kommunikation langsamer abläuft. Bei Hewlett-Packard und SGI lassen sich mehrere SMPs mittels eines speziellen Interconnects zu einem Gesamtsystem zusammenfassen, auf dem im Gegensatz zur klassischen Cluster-Technologie nur ein Betriebssystem läuft (Single System Image). Da die Speicherzugriffsgeschwindigkeit damit variabel wird, werden diese Systeme auch als Numa (Non-Uniform Memory Access)-Architekturen bezeichnet.

Workstation-Cluster und Cluster of WorkstationsEinzelne Workstations werden über ein lokales Netz gekoppelt und lassen sich dann als Parallel-Server oder eben als einzelnes System einsetzen. Aufgrund der geringen Netzwerkbandbreite, verglichen mit den internen Übertragungsraten bei MPP oder SMP, können nur wenige Prozessoren effektiv zur Parallelverarbeitung herangezogen werden. Daher bezeichnet man Workstation-Cluster oft auch als Parallelrechner für Arme. Dagegen lassen sich derartige Systeme effektiv nachts oder am Wochenende für Batch-Jobs einsetzen, wenn die Ingenieure nicht interaktiv arbeiten. Zum Verteilen der Jobs werden üblicherweise Lastverteilungsprogramme wie LSF von Science + Computing in Tübingen, eingesetzt. Damit sollen alle Arbeitsstationen gleichmäßig ausgelastet werden.

Ein neuer Trend schwappt jetzt aus den USA nach Europa: Cluster aus einzelnen handelsüblichen Workstations. Diese werden mit System Area Networks (SAN) eng gekoppelt und können aufgrund der hohen internen Übertragungsraten als Parallelrechner angesehen werden. Hier bietet Compaq die SC-Serie mit Alpha-Servern ES40 mit vier Alpha-Prozessoren als Knoten und einer Spitzenleistung von 5,3 Gflops (Giga-floating Point Operations per Second) an. Die einzelnen Workstations sind mit einem Quadrics-SAN-QSnet gekoppelt, mit einer Bandbreite von etwa 300 MB/s und einer Latenz von wenigen Mikrosekunden. Hiermit will Compaq in den Markt der massiv-parallelen Systeme wie SGI/Cray T3E eindringen. Fujitsu-Siemens offeriert die "Hpc-Line" mit Intel-Pentium-Bausteinen. Diese sind über den IEEE-Standard SCI von Scali gekoppelt. Auch hier erreicht man eine Bandbreite im Gigabit/s-Bereich bei wenigen Mikrosekunden Latenz. Ein SAN von Myrinet wird in Forschungsprojekten mit PCs eingesetzt, auch dessen Daten sind mit denen von SCI vergleichbar.

Multiprocessing mit Windows NTNeben den Unix-Systemen positionieren sich jetzt auch moderate Multiprozessorlösungen mit Intel-Prozessoren und Microsofts Windows NT. Compaq beispielsweise bietet bei der Proliant acht Prozessoren, auf denen Tasks parallel arbeiten können. Unisys vermarktet die CMP-Architektur (Cellular Multiprocessing) mit bis zu 32 Pentium II Xeon oder Merced, jeweils vier in einem Prozessor-Board. Sie sind über vier Crossbar-Leitungen miteinander und mit den vier Speicherkarten mit 8 GB Hauptspeicher verbunden.

* Uwe Harms ist freier Autor in München.

VektorrechnerAuch die parallelen Vektorprozessoren mit gemeinsamem Speicher sind zu den SMPs zu rechnen. Hier greifen extrem schnelle, proprietäre CMOS-Prozessoren auf einen leistungsfähigen Speicher zu. Diese Rechner werden ausschließlich im technisch-wissenschaftlichen Umfeld eingesetzt. Die Spitzenleistung der Fujistu-Siemens VPP5000 beträgt 9.6, die der NEC SX-5 8 Gflop/s pro Prozessor. Die Cray/SGI SV1 bietet nur 1 Gflop/s als Spitzenleistung. Im Gegensatz zu den früheren Zeiten sind die Preise nicht mehr so gewaltig. Ein System mit 8 Gflop/s Spitze und 8 GB Speicher kostet weniger als eine Million Mark.

MainframesGerne werden die Mainframes in diesem Umfeld vergessen, doch auch hier sind mehrere Prozessoren möglich. Die gute alte S/390-Serie der IBM erhielt eine technologische und leistungsmäßige Auffrischung und kann nun auf zwölf Zentral-, zwei E/A- und zwei Krypto-Prozessoren ausgebaut werden. Mit Parallel Sysplex lassen sich bis zu 32 Systeme mit insgesamt 384 Prozessoren clustern. Auch Fujitsu-Siemens bietet bei den BS2000-Rechnern zwölf Prozessoren an, bei den Mips-basierten BS2000 können von den acht vorhandenen bis zu vier Prozessoren mit diesem Betriebssystem arbeiten. Ähnliche Prozessorzahlen gelten für Amdahl und Hitachi/Comparex.

CC-NUMA

Cache-coherent Non Uniform Memory AccessUm die Speicherzugriffe der CPU zu beschleunigen, werden Kopien der Speicherdaten in den Daten- oder Befehlscaches der einzelnen CPUs abgelegt. Alle diese Kopien werden vom Rechnersystem kohärent gehalten, also sind überall identische Daten vorhanden. Um nun Daten im Cache zu verändern, muss der Prozessor exklusiv zugreifen dürfen. Das modifizierte Element wird dann in den Speicher zurückgeschrieben. Alle anderen Caches müssen danach aktualisiert werden. Es darf nicht passieren, dass gleichzeitig zwei CPUs dieselben Daten manipulieren. Im Prinzip nutzt man Synchronisationsmechanismen, die die Daten konsistent halten. Bei einem Risc-System mit verteiltem Speicher übernimmt auch die Hardware diese Aufgaben, die Daten werden in Directories gehalten. Für den Programmierer hat das den Vorteil, dass er sich nicht immer um den Cache kümmern muss, und es werden nur unbedingt nötige Daten synchronisiert.

SMP-Systeme lassen sich nicht über eine bestimmte Anzahl von Prozessoren erweitern, da sich der Hauptspeicher aufgrund des Zugriffsengpasses nicht beliebig vergrößern lässt. Daher haben einige Hersteller wie Data General, Hewlett-Packard, Sequent und SGI einen virtuellen oder distributed Shared-Memory (DSM) realisiert. Die Rechner haben einen verteilten Speicher, der aber über Hardware- und Softwaremechanismen dem System als ein gemeinsamer erscheint. Schnelle Kommunikationseinrichtungen verringern die Latenzzeit beim Anfordern von Daten aus einem entfernten Speicher. Daneben versuchen die Systeme, die wichtigen Daten möglichst lokal zu halten. Der Programmierer muss sich nicht um das Verteilen der Daten kümmern, er hat den Vorteil eines normalen Shared-Memory gekoppelt mit den Vorteilen der Skalierbarkeit.

Abb.: Als Lösung für den Alltagsbetrieb in der kommerziellen Datenverarbeitung bieten sich spezielle MPPs und SMPs an, auf denen Standardsoftware wie SAP, Baan und parallelisierte Datenbanken verfügbar sind. Im Datamining oder bei Web-Servern wachsen das Datenvolumen und die Anforderungen sehr schnell. Deshalb gewinnt der Aspekt der sukzessiven Erweiterbarkeit besondere Bedeutung. In drei Dimensionen kann das erfolgen (siehe Grafik), nämlich bezogen auf die Prozessorzahl, die Hauptspeichergröße und die I/O-Bandbreite und Plattenkapazität. Bestehen bei Multiprozessorsystemen Möglichkeiten in allen Richtungen, kann das System vor Ort einfach vergrößert werden. Der Kunde kann mit einem kleinen System anfangen und es sukzessive ausbauen. Quelle: CW