Superserver statt Mainframes/Scale-up und Speed-up mit verschiedenen Methoden Die Technik von Cluster, SMP und MPP in einem System vereint

10.11.1995

Die bekannten Methoden der Parallelisierung von Rechenoperationen bringen unterschiedliche Verbesserungen hinsichtlich Ausbaufaehigkeit und Leistungssteigerung - und sie bergen jeweils andere Einschraenkungen. Ulrich Richartz* fuehrt diese Faktoren auf und begruendet, warum Bull den Weg der Integration der verschiedenen Techniken eingeschlagen hat.

Wo Unix-Systeme auch fuer unternehmenskritische Anwendungen zum Einsatz kommen, sind die Ansprueche an die Verfuegbarkeit dieser Systeme sehr hoch. Waehrend OLTP-Mechanismen und ausfallsichere Plattenspeichersubsysteme die Datenintegritaet und -verfuegbarkeit gewaehrleisten koennen, muessen auch die Ausfallzeiten des Gesamtsystems auf ein Minimum reduziert werden. Eine weitere wesentliche Anforderung an ein High-end-Unix-System ist eine gesteigerte Systemleistung. Sie laesst sich durch ein Parallelisieren der Aufgaben erreichen.

Zwei Wege der Leistungssteigerung

Mit "Scale-up" und "Speed-up" unterscheidet man zwei grundsaetzliche Wege der Leistungssteigerung: Scale-up beschreibt die Eigenschaft, bei einer Systemerweiterung mehr beziehungsweise umfangreichere Aufgaben als vorher ausfuehren zu koennen. Typisches Beispiel hierfuer sind OLTP-Umgebungen, die im Fall einer Systemerweiterung mehr Benutzer als zuvor gleichzeitig unterstuetzen.

Speed-up bedeutet, dass nach einer Systemerweiterung eine gegebene Aufgabe schneller als vorher ausgefuehrt wird. Diese Eigenschaft gewinnt mit dem zunehmenden Einsatz von Unix-Systemen im Decision- Support, bei dem komplexe Datenbankabfragen in kurzer Zeit erfolgen muessen, immer mehr an Bedeutung.

Um eine solche Leistungssteigerung durch Aufgabenparallelisierung zu erreichen, gibt es verschiedene technische Ansaetze, die jeweils unterschiedliche Vor- und Nachteile aufweisen. Es erscheint daher sinnvoll, zunaechst die verschiedenen Ansaetze im Hinblick auf Leistung - beziehungsweise Skalierbarkeit - und Verfuegbarkeit zu betrachten.

Symmetrische Multiprozessoren (SMP) sind dadurch gekennzeichnet, dass mehrere Prozessoren auf gemeinsame Ressourcen wie Hauptspeicher, Platten und I/O-Kanaele zugreifen und dass nur eine Instanz des Betriebssystems gleichzeitig ausgefuehrt wird. Vorteile von SMP-Systemen sind die einfache und kostenguenstige Aufruestbarkeit sowie die Verfuegbarkeit von Anwendungen, da die SMP-Architektur fuer diese transparent ist.

Ein Scale-up laesst sich auf SMP-Systemen ohne Anpassung der Anwendung realisieren, waehrend ein Speed-up in der Regel Eingriffe in die Anwendung erfordert, zum Beispiel die Parallelisierung von Aufgaben durch Multithreading. Ein Nachteil von SMP-Loesungen ist die beschraenkte Skalierbarkeit, da die Zahl der Prozessoren durch die Kapazitaet des System-Busses limitiert ist.

Die "Escala"-Familie von Bull ist ein typischer Vertreter dieses SMP-Ansatzes: Bis zu acht Power-PC-Prozessoren arbeiten heute in diesen Systemen. Eine Leistungssteigerung laesst sich zweidimensional durch Hinzufuegen weiterer Prozessoren (Scale-up) oder durch Austausch gegen Prozessoren einer neuen Generation wie Power-PC 604 und 620 (Speed-up) realisieren. Escala verwendet das Betriebssystem AIX und kann somit die hierfuer verfuegbaren Anwendungen ohne Modifikationen ausfuehren.

Ein Cluster ist ein Set von weniger als 100 verbundenen Systemen, die sich verschiedene Ressourcen transparent teilen.

Jedes besitzt eigene Prozessoren, Speicher, I/O-Kanaele sowie eine eigene Kopie des Betriebssystems. Aufgabe des Cluster- Betriebssystems ist die Bereitstellung eines transparenten Zugriffs auf die gemeinsamen Ressourcen und ein einheitliches System-Management.

Die Verbindung der Cluster-Knoten untereinander erfolgt heute in der Regel ueber Standardtechnologien wie Ethernet oder FDDI. Wenn alle Knoten eines Clusters einen gemeinsamen Plattenspeicher nutzen, spricht man von einem "Shared Disk Cluster".

Die Hauptvorteile der Cluster-Technologie sind die hohe Verfuegbarkeit und der gesteigerte Systemdurchsatz (Scale-up). Da in einem Cluster die Hardwarekomponenten redundant ausgelegt sind, koennen die einzelnen Knoten im Fehlerfall gegenseitig als Backup dienen.

Ein Nachteil von Clustern ist, dass sich eine Leistungssteigerung im Sinne von Speed-up nur durch Einsatz von an die Parallelisierung angepasster Software erreichen laesst. Doch die Verfuegbarkeit von speziell an diese Technologie adaptierten Datenbanken wie Oracle Parallel Server und Oracle Parallel Query Option unterstuetzt die Entwicklung solcher Software.

Von lose zu eng gekoppelten Systemen

Das neuangekuendigte System Bull Escala Powercluster, auf das weiter unten eingegangen wird, ist ein Beispiel fuer den Technologieansatz eines Shared-Disk-Clusters. Aehnlich wie geclusterte Loesungen bestehen MPP-Systeme aus mehreren Knoten mit eigenen CPUs, Speichern, I/O-Systemen und mit jeweils einer eigenen Kopie des Betriebssystems. Im Gegensatz zu Clustern sind die Knoten untereinander jedoch nicht lose ueber ein Netzwerk, sondern ueber proprietaere Hardwarekomponenten miteinander gekoppelt, die hoehere Durchsatzraten erlauben. Hierdurch sind Systeme mit bis zu 1000 Prozessorknoten denkbar. In der Regel besitzt jeder dieser Knoten auch seine eigenen Plattenbereiche ("Shared Nothing"), so dass "Message Passing" Aenderungen in einer verteilten Datenbank den anderen Knoten bekanntgeben muss.

MPP-Systeme, deren urspruenglicher Einsatzbereich das Speed-up von technisch-wissenschaftlichen Anwendungen wie Vektor- und Matrizenoperationen war, halten allmaehlich auch Einzug in kommerzielle Anwendungsumgebungen. Ebenso wie Cluster benoetigen MPP-Systeme speziell angepasste Software zur Leistungssteigerung, wobei der Entwicklungsaufwand hier noch hoeher einzustufen ist als bei Clustern.

Die hohe Verfuegbarkeit von Cluster-Systemen war nie das Entwicklungsziel von MPP-Architekturen, dennoch ist es moeglich, ueber spezielle Softwarekomponenten auch MPP-Umgebungen zu hochverfuegbaren Systemen zu machen. Ein weiterer Nachteil von MPP- Systemen gegenueber Clustern besteht darin, dass sich aufgrund des eng gekoppelten Konzepts nur gleichartige Prozessorknoten einsetzen lassen, waehrend in Clustern die Knoten auch unterschiedliche Prozessorgenerationen aufweisen koennen.

Sinnvoller als die Entscheidung fuer eine der oben beschriebenen Architekturalternativen ist deren Integration und somit die Nutzung der jeweiligen Vorteile der einzelnen Technologien:

- die Nutzung der SMP-Technologie fuer die einzelnen Knoten;

- die Nutzung der Cluster-Technologie sowie deren Vorteile einer hohen Verfuegbarkeit und Durchsatzsteigerung bis an die technologische Grenze der standardisierten Kopplungstechniken Ethernet und FDDI sowie

- die Nutzung spezieller MPP-Kopplungstechniken, wenn die Software diese unterstuetzt.

In dem Ansatz, den Bull bei der Entwicklung der "Escala Powercluster" gewaehlt hat, laesst sich der Systemdurchsatz durch die Zahl der Prozessoren ebenso skalieren wie durch die Zahl der Knoten.

Die Zahl der Prozessoren pro Knoten ist durch den SMP-Ansatz bestimmt. Da jeder Knoten ein SMP-System des Typs Bull Escala darstellt, lassen sich heute bis zu acht und zukuenftig bis zu 16 Prozessoren pro Knoten einsetzen. Jenseits dieser Prozessorzahl nimmt die Komplexitaet der Hard- und Software-Implementierung so stark zu, dass ein weiterer Ausbau nicht sinnvoll ist. Wie bei jedem Escala-SMP-System ist innerhalb der Knoten ein Wechsel auf kommende Power-PC-Generationen moeglich.

Die Zahl der Knoten ist der zweite Parameter, der die Leistung des Gesamtsystems beeinflusst. Von der eingesetzten Koppelungstechnik haengt ab, bis zu welcher Knotenzahl ein Clustering Sinn macht. Die heute eingesetzte FDDI-Technologie unterstuetzt bis zu acht Knoten.

Darueber hinaus wird Bull die einzelnen Prozessorknoten mit dem "Interconnect Serial Link" (ISL) untereinander koppeln. Der ISL, der Uebertragungsraten von bis zu 2 MB realisieren kann, stellt eine hardwaremaessige Extrapolation der SMP-Technologie "Power- Scale" der Escala-Systeme in Richtung Cluster dar. Ein spezielles Board, das in die Knotenrechner eingesetzt wird, stellt eine enge Verbindung zwischen den einzelnen Knoten her, so dass die Grenze zwischen Cluster und MPP-System verwischt.

In Verbindung mit entsprechenden Softwarekomponenten wie Oracle Parallel Server oder Informix V8 (in Entwicklung) bieten die Escala Powercluster dann eine Leistungssteigerung sowohl im Sinne von Scale-up als auch von Speed-up, so dass sie fuer OLTP und Decision-Support gleichermassen geeignet sind. Die redundante Auslegung der geclusterten Hardware ermoeglicht hoechste Systemverfuegbarkeit mit Ausfallzeiten von maximal 15 Minuten pro Jahr.

*Ulrich Richartz ist bei der Bull Ag Produkt-Manager fuer die Escala-Rechnerlinie.

Superserver statt Mainframes/Escala Powercluster von Bull im Ueberblick

Technologie und Architektur

- Cluster von bis zu vier SMP-Knoten, Aufruestung auf 16 Knoten moeglich;

- Bis zu acht Prozessoren des Typs Power-PC 601 (75 MHz) beziehungsweise Power-PC 604 (112 MHz), Aufruestung auf

Power-PC 620 moeglich;

- 1 MB Level-2-Cache pro CPU;

- bis zu 2 GB Memory pro Knoten;

- bis zu 2,5 TB Plattenspeicher pro Cluster mit Bull-"DAS"- Speichersubsystemen (Raid-Level 0, 1, 3, 5);

- 14 freie MCA-Slots pro Knoten;

- Hardwareredundanz durch Cluster-Konzept gewaehrleistet - Steuerung ueber High-Availability-Cluster- Multiprocessing

(HACMP)-Software;

- einfache Einbindung in bestehende IT-Umfelder durch Einsatz von Standardtechnologien. Vorhandene Bull-Escala-Systeme koennen als Knoten verwendet werden.

Software

- AIX-4.1-Standard-Betriebssystem;

- HACMP fuer High Availability und Cluster-Steuerung;

- Oracle Parallel Server und Oracle Parallel Query Option;

- Informix V8 in Entwicklung;

- Tuxedo und Unikix in Vorbereitung;

- Unterstuetzung von SAP R/3;

- Administration und Monitoring ueber Bull Integrated System Management (ISM).

Services

- "Bull Total Care", ein abgestuftes Serviceangebot vom Telefonsupport bis hin zur Generalunternehmerschaft bei der Realisierung komplexer Systemintegrations-Projekte.

Preis

- keine Angaben.