Massiv-paralleles System fuer komplexe RDBMS Goldrush-Megaserver von ICL auf Standard-Unix-Betriebssystemen Von Klaus Gaffkus*

02.09.1994

ICL hat sich schon frueh an der Forschung und Entwicklung von Parallelrechnern beteiligt. So ist der Goldrush Megaserver das Resultat aus dem, von ESPRIT-II unterstuetzten, "European Declarative System" (EDS)- Forschungsprojekt.

Der Goldrush Megaserver nutzt eine verteilte Parallelrechnerarchitektur fuer eine linear skalierbare Leistungssteigerung. Bis zu 6000 Transaktionen pro Sekunde koennen mit Goldrush erzielt werden. Dabei werden nicht nur hohe Durchsatzleistungen fuer typische OLTP-Transaktionen durch sehr viele Benutzer, sondern auch gleichzeitig schnelle Antwortzeiten auf komplexe "Decision Support"-Anwendungen und MIS-Abfragen auf die gleichen, aktuellen Daten sichergestellt.

Die Basis-Hardwarearchitektur von Goldrush besteht aus unabhaengigen Verarbeitungselementen mit eigenem Hauptspeicher und direkt angeschlossenen Festplatten.

Jedes dieser Elemente besteht aus zwei mit 66 Megahertz getakteten Hypersparc-Prozessoren mit integriertem Gleitkommarechner und einem eigenem 256 MB grossen Hauptspeicher sowie einem 8 KB "High Speed Instruction Cache" und einem 256 KB

"First Level Cache".

Abhaengig von der jeweiligen Aufgabe unterscheidet man drei verschiedene Typen von Verarbeitungselementen:

- Processing Element (PE) mit jeweils zwei FAST-SCSI-II-Interfaces (je 20MB/sec.) zum direkten Anschluss von bis zu 12 Festplatten. Die PEs dienen der selbstaendigen Verarbeitung der SQL-Anfragen und der Verwaltung der Daten.

- Communication Element (CE) mit zwei FDDI (100 Mbps) LAN- Verbindungen fuer die externe Kommunikation mit den Anwendungs- Servern und Clients.

- Management Element (ME) zur globalen Systemverwaltung und Administration inklusive einer Fernwartungseinrichtung.

Bis zu 64 Elemente sind beliebig kombinierbar, um eine optimal an die jeweiligen Kundenanforderungen angepasste Konfiguration zu gewaehrleisten.

Bei massiv-parallelen Systemen muss eine hohe Interprozessorkommunikation stattfinden, um entsprechende Aufgaben auf die einzelnen Prozessoren verteilen zu koennen. Im Esprit-II- EDS-Projekt wurde deshalb gemeinschaftlich ein geeignetes Interprozessorkommunikationsnetzwerk, das sogenannte Deltanet, entwickelt, das alle Prozessoren direkt miteinander verbindet.

Diese Technologie erlaubt einen maximalen Durchsatz von 16 GB pro Sekunde. Ein spezielles "Leight-Weight"-Protokoll sorgt fuer einen minimalen Verwaltungsaufwand innerhalb der Interprozesskommunikation.

Als Platten kommen Standard 3,5-Zoll-SCSI-Laufwerke zum Einsatz. Derzeit kann man zwischen 1 GB oder 2 GB grossen Laufwerken waehlen. Laufwerke mit 4 GB Fassungsvermoegen sind in Vorbereitung. Momentan koennen bis zu 726 Laufwerke mit einer Gesamtkapazitaet von 1,2 TB direkt angeschlossen und verwaltet werden.

Die einzelnen Platten werden an einen speziellen SCSI-Backplane angeschlossen, der eine einfache Installation, Erweiterung und leichte Wartung ("hot pull") ermoeglicht.

Alle Verarbeitungselemente

(PE, CE und ME) laufen unter ihrem eigenen Betriebssystem und sind vollkommen unabhaengig voneinander. Als Betriebssystem wird Unix System V, Release 4, eingesetzt. Zur Optimierung der Prozessorauslastung wird der multithreading "Chorus-MiX"-Kernel eingesetzt.

Um eine hohe Verfuegbarkeit, Sicherheit und ein schnelles Recovery zu gewaehrleisten, kommt generell das "Veritas"-Dateisystem (VxFS) und der Volume Manager (VxVM) zum Einsatz. Jedes Processing Element (PE) verwaltet sein eigenes, direkt angeschlossenes Dateisystem, welches sich aber fuer den Benutzer beziehungsweise dem Verwalter als ein globales Dateisystem darstellt.

Jedes PE hat ausserdem seinen eigenen RDBMS-Backend geladen. Ein speziell entwickelter "Distributed Lock Manager"

(DML) verwaltet die entsprechenden Zugriffe bezienungsweise der DML erkennt auftretende "Deadlock"- Situationen ueber PEs hinweg und kann diese aufloesen.

Eine umfangreiche System-Managementsoftware hilft dem Systemverwalter die komplexe Struktur des Goldrush Megaservers mittels einer graphischen Oberflaeche zu verwalten. Dabei kann der aktuelle Status jedes Goldrush-Elementes, der einzelnen Dateisysteme, der verschiedenen RDBMS-und Kommunikations-Services angezeigt und global kontrolliert werden ("Single System Image").

Alle auftretenden Systemfehler werden in einer Log-Datei festgehalten, ausgewertet, und es koennen sogar automatische Service-Calls generiert werden.

Da jede PE, CE beziehungsweise ME ihre eigene Software geladen hat, spielt die SW-Verteilung der SW-Update eine zentrale Rolle. Bei dem Goldrush MegaServer kann die SW-Verteilung automatisch erfolgen. Es kann beispielsweise eine PE mit einer neuen Version geladen, ausgetestet und aktiviert werden, und im Fehlerfall kann wieder auf die alte Version zurueckgegriffen werden.

Die Management-Software erlaubt es ausserdem, unterschiedliche Services etwa auch verschiedener RDBMS dedizierten PEs zuzuordnen (etwa PE ein bis fuenf fuer den Produktivbetrieb und PE sechs bis acht fuer die Entwicklung und den Testbetrieb).

Ein Goldrush-Megaserver kann sowohl lokal ueber das Management- Element als auch remote von einem zentralen Service-Center administriert und kontrolliert werden. Ferndiagnose-Einrichtungen werden unterstuetzt.

Momentan werden die relationalen Datenbanken Oracle7

(inklusive der Parallel Query Option), Ingres und Adabas unterstuetzt (Informix und Sybase sind in Vorbereitung).

Der Goldrush-Datenbankserver laesst sich in alle Client-Server- Umgebungen integrieren, die offene SQL- und Kommunikationsstandards unterstuetzen. Clients koennen Mainframes, Unix-Abteilungsrechner und PCs sein. Dabei werden sowohl TCP/IP als auch OSI-Protokolle unterstuetzt.

Goldrush garantiert eine hohe Verfuegbarkeit, indem alle wichtigen Hardware-Komponenten n+1 ausgelegt sind und das Betriebssystem eine automatische Fehlerbehebung, Re-Konfiguration und die Wiederherstellung fehlerhafter Plattenspiegel unterstuetzt. Festplatten koennen bei laufendem Betrieb ausgetauscht ("hot pull") bzw. hinzugefuegt werden. Falls eine PE oder CE im Betrieb ausfaellt, werden die jeweiligen Aktivitaeten dynamisch einem anderen Verarbeitungselement zugeordnet. Fehlerhafte Plattenlaufwerke werden bei laufendem Betrieb von dem noch verfuegbaren Plattenspiegel auf einen Pool von Ersatzplatten kopiert und automatisch rekonfiguriert.

Die hohe Leistung des Goldrush Megaserver ermoeglicht es erstmalig, komplexe RDBMS-Anwendungen (OLTP und MIS) mit bis zu TB-grossen Datenvolumen durch mehrere tausend Benutzer einzusetzen.

Auch werden dadurch erstmalig neue, bisher undenkbare Anwendungen, speziell im Multimedia-Bereich (Home Shopping, Home Banking oder Video-on-demand), realisierbar. Entsprechende Spezial-(ATM)- Coupler und eine spezielle Mediaserver-Software sind in der Entwicklung.

Ein Goldrush-Einstiegsmodell besteht aus acht selbstaendig arbeitenden Verarbeitungselementen mit jeweils einem eigenen Hypersparc-Doppelprozessor mit 256MB Speicher sowie zwei

FDDI-Anschluessen und hat eine Plattenkapazitaet von bis zu 120 GB. Das vorlaeufig groesste System hat eine Leistung von 6000 TPS und besteht aus 64 Doppelprozessoren, mindestens acht FDDI- Anschluessen und hat eine Plattenkapazitaet von maximal 1,2 TB.