Server nach Maß

Wenn nicht nur die Leistung zählt

18.04.1997

Zurück in die Zukunft: Eine Studie der britischen Analysten Bloor Research machte vor wenigen Monaten Furore: "The Enterprise by other Means" prognostizierte eine signifikante Rezentralisierung der IT. Technologisch bedingt sei dieser Trend, so die Forscher, durch Thin Clients sowie durch eine breite Verfügbarkeit von Multiprocessing-Servern. DV-strategisch würden unternehmensweite Client-Server-Implementierungen, Intranets und verstärktes Engagement im elektronischen Handel eine Zentralisierung begünstigen.

Leistungsstarke Multiprozessor-Maschinen dienen als Daten- und Applikations-Server für Thin Clients und Browser-gestützte Intranet-Endgeräte. Anwendungs- und Datenlogik liegen, so Bloor weiter, zukünftig ausschließlich auf diesen Servern, eine Aufrüstung derselben ist mithin unumgänglich.

Das gilt aber nicht nur für deren Leistung. Rechnerarchitekturen werden häufig nur unter Performance-Gesichtspunkten betrachtet. Zentrale Server müssen hochverfügbar, wenn nicht gar ausfallsicher sein, soll ein permanenter Zugriff auf alle Unternehmensdaten, aber auch die kontinuierliche Abwicklung von Geschäftsprozessen über das Internet erreicht werden.

Es gibt nun mehr als nur ein Merkmal, um Rechnerarchitekturen miteinander zu vergleichen und voneinander abzugrenzen. Das macht die Sache komplizierter, als es auf den ersten Blick erscheinen mag. Wie komplex das Angebot an verschiedenen Architekturen tatsächlich ist, erschließt sich dem potentiellen Käufer meist erst dann, wenn der Anbieter mehr als nur eine Architektur in seinem Produktportfolio vorweisen kann.

Systemarchitekturen unterscheiden sich zunächst in Uniprozessor-, Cluster- und Multiprozessor-Konzepte. Multiprozessoren wiederum sind in asymmetrisches, symmetrisches und massiv-paralleles Multiprocessing zu untergliedern (ASMP, SMP, MPP).

SMP als das bekannteste Multiprocessing-System (zugleich auch das preiswerteste) ist durch gemeinsame Ressourcen gekennzeichnet, auf die alle Prozessoren zugreifen. Die CPUs sind nicht spezialisiert, die Threads - kleinere Ausführungseinheiten - eines Softwareprozesses werden gleichmäßig auf die CPUs verteilt. SMP scheint zukunftsweisend, dies wird etwa auch von IDC so gesehen.

Das gilt aber nur für das Preis-Leistungs-Verhältnis. Denn SMP hat ein inhärentes Verfügbarkeitsproblem, da es ein Shared-Everything-Konzept verfolgt. Und was geteilt wird, behindert die Skalierbarkeit und beeinflußt im Falle eines Ausfalls die Verfügbarkeit des Gesamtsystems.

Wichtig sind neben den grundlegenden Architekturen die unterschiedlichen Speicherkonzepte. Hier läßt sich grob in lokal und global vorgehaltenen Speicher unterteilen. Global verteilter Speicher (Distributed Memory), wie etwa bei SMP, steht gegen lokalen Speicher, MPP beispielsweise, der nicht nur Cache (wie SMP-Systeme), sondern auch noch einen dedizierten Speicher für jeden einzelnen Prozessor umfaßt. Auch Cluster (unter Umständen auf SMP-Basis) fallen unter die Kategorie mit lokalem Memory.

Skalierbarkeit von SMP-Maschinen ist begrenzt

Ein global verteilter Speicher wird neben SMP- auch von den Non-Uniform-Memory-Access(Numa-)Architekturen verfolgt. Lokalen Speicher gibt es bei SMP/NUMA ebenfalls, und zwar in Form von Cache-Memory, das jede CPU für sich vorhält. Spezielle Mechanismen müssen hier für Cache-Kohärenz sorgen. Sie wirken limitierend, genauso wie die Tatsache, daß SMP-Systeme nur eine einzige Kopie des Betriebssystems fahren. Daher ist die Skalierbarkeit von SMP-Maschinen begrenzt.

In puncto Verfügbarkeit ist die Bewertung einfach: Ist lokaler Speicher vorhanden, in dem eine lokale Kopie des Betriebssystems läuft, bedeutet dies Redundanz und dies wiederum Verfügbarkeit. MPP-Maschinen sind somit erheblich zuverlässiger als die Vergleichsmodelle der SMP-Fraktion.

Der Zugriff auf den Speicher ist ein weiteres wichtiges Unterscheidungsmerkmal. Numa (als sinnvolle Erweiterung) basiert auf SMP-Rechnern. Numa-Rechner verwenden in der Regel SMP-Blöcke als Bauelemente.

Hier gibt es zwar auch einen gemeinsamen Speicher, aber keinen einheitlich schnellen Zugang. Verschieden lange Zugriffszeiten der CPUs auf die Speicher der jeweils anderen Blöcke machen den Unterschied zu SMP aus - daher der Name Numa. Aber der Speicher bleibt gemeinsam adressierbar, und es gibt darin nur eine Kopie des Betriebssystems.

Der Vorteil des Ansatzes liegt in seiner besseren Hardwareskalierbarkeit gegenüber SMP - bei gleichem Programmiermodell. Anwendungen müssen demnach nicht umgeschrieben werden, zumindest sofern eine einzige Kopie des Betriebssystems gefahren wird. Dies ist heute in der Regel der Fall (eng gekoppelte Numa), auch wenn eine Lösung mit mehreren Kopien des Betriebssystems vorstellbar ist (lose gekoppelte Numa) und für Verfügbarkeit sowie Skalierbarkeit vorteilhafter wäre. Leider entstehen auch die gleichen Probleme wie bei SMP, das in dieser Nomenklatur einen Uma-Zugriff (Uniform Memory Access) aufweist. Aufgrund mangelhafter Redundanz von Betriebssystem, Speicher und Peripherie ist die Verfügbarkeit geringer als bei einem Shared-Nothing-Konzept (MPP).

Ein Cluster - der Zusammenschluß mehrerer, eigenständiger und vollständiger Maschinen - ist in hohem Grade verfügbar, da hier alles redundant ist. Die Komponenten müssen nicht von gleich hoher Qualität sein oder identische Leistungsmerkmale aufweisen. Daher ist ein Cluster nicht unbedingt die teuerste Lösung (aber auch nicht immer die schnellste). Dieser Ansatz bietet sich immer dann an, wenn schon mehrere Rechner vorhanden sind.

Durch das asymmetrische Cluster-Konzept ist die Integration verschiedener Komponenten möglich, etwa einer großen Maschine für den täglichen Workload und einer kleineren, um den unwahrscheinlichen Fall eines Systemabsturzes abzusichern. Dies ist eine sehr ökonomische Lösung. Allerdings haben auch Cluster ihre Beschränkungen. Standard-Cluster-APIs müssen vorhanden sein, damit ein Cluster als Multiprozessor einsetzbar ist und nicht nur als Hochverfügbarkeitslösung in Frage kommt.

"Norma" - eine weitere Speicherzugriffskategorie - bedeutet "No Remote Memory Access". Hier gibt es keine Möglichkeit, daß eine CPU auf den Memory einer anderen zugreift. MPP-Systeme wie die RS/6000 SP mit lokalem Speicher für jede CPU verfolgen dieses Konzept. Daher wird von MPP-Rechnern das Message-Passing-Prinzip (notwendig für den internen Austausch der Speicherinhalte) unterstützt. Jeder lokale Speicher hält eine eigene Kopie des Betriebssystems vor. So ist das Gesamtsystem in seiner Stabilität nicht gefährdet, wenn ein oder mehrere Knoten ausfallen.

Ein relativ neuer Ansatz ist schließlich "MPP-Coma". Die Abkürzung steht für "Cache Memory Access". Es handelt sich dabei um eine Modifizierung von MPP-Konzepten in bezug auf den Speicherzugriff. Ein Software-Hardware-Layer als Ergänzung des Betriebssystems sorgt dafür, daß Kopien der Daten von CPU 1 im lokalen Speicher von CPU 2 vorgehalten sind, wenn diese dort benötigt werden. Ein Virtual Memory Manager beherrscht je einen Coma-Knoten, es gibt dort jeweils eine Betriebssystem-Kopie.

Der Vorteil gegenüber MPP liegt im einfacheren Programmiermodell, ist also preiswerter in der Software-Entwicklung. Die Kommunikation zwischen den Speichern wird nicht von der Anwendung wie bei MPP-Systemen (Message Passing), sondern vom Betriebssystem gesteuert. Bei Coma ist dafür die Systemsoftware zuständig, ebenso wie bei Numa und SMP. Coma-Rechner werden häufig mit Switches ausgestattet sein, was die Performance deutlich verbessert. Coma ist zudem ein Self-Balancing-System: Die Daten migrieren über Zeit dorthin, wo sie am häufigsten gebraucht werden. Der Vorteil hat allerdings auch seinen Preis: Die Verfügbarkeit ist etwas geringer als bei MPP-Systemen.

Welche Architektur nun "die richtige" ist, kann pauschal nicht beantwortet werden. Die Dimensionen Preis, Skalierbarkeit, Verfügbarkeit und einfache Handhabung stehen zur Betrachtung an. Die speziellen Anforderungen der Anwender müssen also sorgsam geprüft werden, bevor eine Kaufentscheidung getroffen wird. Insofern sind Anbieter, die nur eine Systemarchitektur zu bieten haben, auch kritisch zu betrachten: Denn die Anforderung, "die Arbeit muß unter allen Umständen erledigt werden", ist eventuell mit einer anderen Maschine besser zu erfüllen als die Zielvorgabe, die Arbeit so einfach oder so preiswert wie möglich auszuführen.

Der Preis ist ein Kriterium, das wohl häufig zuerst betrachtet wird, zumindest in der Relation zur erzielbaren Leistung - in diesem Fall also der Verfügbarkeit. SMP-Konzepte sind ohne Zweifel am preiswertesten. CPUs lassen sich ohne zusätzliche Rechnerkomponenten erweitern. Das wird nicht nur mit gewissen Skalierbarkeitsproblemen erkauft, sondern auch mit fehlender Hochverfügbarkeit.

Numa-Ansätze zeigen die gleichen Schwierigkeiten, sind allerdings besser skalierbar (zur Zeit um den Faktor zwei bis vier), vor allem dann, wenn sich statt eines internen Busses ein Switch zur Kommunikation einsetzen läßt - zu einem höheren Preis jedoch. Bei MPP-Rechnern ist jeder Prozessorknoten gleichsam ein eigener Rechner mit CPU, Speicher, Festplatte und Betriebssystem. Diese komplette Redundanz macht die Maschine teurer, sichert aber sehr gute Verfügbarkeitseigenschaften.

Das zeigt: SMP kennzeichnet ausschließlich die Skalierbarkeit seiner CPU-Leistung. Limitierende Faktoren sind Betriebssystem, I/O sowie die Mechanismen zur Cache-Kohärenz. Die Administration ist einfach, die Verfügbarkeit dafür nicht sehr hoch. Der Grund: nur eine Betriebssystem-Kopie sowie ein gemeinsamer Speicher für alle Prozessoren.

Cache-coherent Numa als erweitertes SMP-Modell ist besser skalierbar, allerdings schwieriger zu programmieren und in bezug auf Verfügbarkeit kaum leistungsstärker. Cluster sind höchst skalierbar und verfügbar, stellen aber an das System-Management auch hohe Ansprüche. MPP schließlich skaliert noch besser und ist äußerst verfügbar. Ohne besondere Tools bedeuten MPP-Systeme jedoch einen hohen Aufwand für das System-Management.

Coma versteht sich als eine Modifizierung von MPP. Ein Virtual Memory Manager erweitert den jeweils lokalen Speicher in einen virtuellen globalen. Hier verbinden sich die Vorteile von MPP (Skalierbarkeit und Verfügbarkeit) mit denen von SMP (einfaches Programmiermodell). Auf Anbieter, die nicht ausschließlich SMP/Numa-Architekturen im Angebot haben, sollte in Zukunft jeder IT-Verantwortliche, für den Verfügbarkeit und Skalierbarkeit Entscheidungskriterien sind, verstärkt achten.

*Dr. Joseph Reger ist Chefdesigner bei IBM Deutschland in München.