Vielfältige Applikationssoftware verfügbar

Unix und Multiprocessing: Hochleistung ist kein Problem

03.11.1989

Die meisten Anwender haben es noch gar nicht gemerkt, daß sie bereits mit einem Multiprozessor-System arbeiten. Denn neben der CPU werkeln parallel noch einige andere Prozessoren in modernen Personal Computern, Workstations, Arbeitsplatzrechnern oder wie immer die "Denkmaschinen" genannt werden. Nicht alleine den Typ und Zyklus der CPU sollte man deshalb auch als Leistungskriterium eines Rechnersystems herausstellen, sondern auch an die etwa zur Steuerung der Peripherie assistierenden Prozessoren denken. Die Technologie ist schon alt: Großsysteme wenden sie seit Jahr und Tag an.

Mit den Personal Computern setzte sich als erstes universelles Betriebssystem MS-DOS durch. Danach erst kann Unix - seinerzeit noch ein knochentrockenes Operatingsystem, das zusätzlich mit einer sogenannten Shell ausgestattet wurde, um den Umgang damit zu erleichtern. Für den Durchschnittsanwender jedoch sind diese Shells immer noch sehr schwer bekömmlich. Dem folgten eine Reihe Ableitungen von Unix, mal mit mehr, mal mit weniger Ur-Unix. Vor allem aber wurden PCs dadurch mehrplatzfähig.

Probleme mit der Datenintegration

Zwar gestatten mittlerweile diverse Netzwerke den Mehrplatz-PC-Einsatz unter MS-DOS, noch die Klagen häuften sich. Es gab Probleme mit der Datenintegration und Ausfallzeiten, die sich typischerweise alle zwei Wochen auf einen Arbeitstag erstreckten. Den kostenintensive Einsatz von Netzwerk-Spezialisten wurde somit unerläßlich.

Kein Wunder also, daß man Unix als das Mehrplatz-Operatingsystem vorzog. Darüber hinaus waren anfangs Merkmale wie Filesharing - das heißt die parallele Nutzung von Dateien - nicht so selbstverständlich. Hier hat sich in jüngster Zeit jedoch einiges getan. Datenbankanbieter haben erhebliche Anstrengungen unternommen, sich auf Transaktionsverarbeitung auszurichten. Das ist verbunden mit dem hohen Grad an Standardisierung innerhalb von Unix. Diese Bemühungen bieten heute die Grundlage für neue Systemkonzepte, die alle Komponenten vereinigen: Parallelprocessing, Telekommunikation mit einem erheblichen Teilnehmerkreis und die interaktive Nutzung von relationalen Datenbanken.

Eine sollte man allerdings anmerken: Wenn sich auch der Aufwand mit der Nutzung von Parallelprocessing-Computern nicht erhöht, so stellt die sich durch Parallelrechner ergebende Leistungskomponente für den Bloß-PC-Freak keine geeignete Alternative dar. Sie zahlt erst voll und ganz im professionellen Einsatz leistungsstarker, hochausgebauter Mehrprozessor-Rechner aus.

Zwischen Parallel- und Multiprocessing bestehen erhebliche Unterscheide. So bedeute Multiprocessing in der Regel den Betrieb eines Rechnersystems mit mehreren CPUs, die - meist unabhängig voreinander - dedizierte Aufgaben beschleunigt lösen. Dabei braucht sich ein Programmierer oder Benutzer nicht um diese Aufgabenverteilung unter den CPUs zu kümmern; eine Segmentierung der entsprechenden Programme ist im Gegensatz zu Parallelprocessing nicht erforderlich.

Ein System mit mindestens zwei CPUs gilt als eng gekoppelt, wenn alle Prozessoren über einen Hochgeschwindigkeits-Systembus auf einen gemeinsamen Hauptspeicher zugreifen. Die Verteilung der Aufgaben ist in diesem Falle einfacher als bei einem lose gekoppelten System, wo jeder CPU ein eigener Hauptspeicher zur Verfügung steht. Die Aufgabenverteilung ist bei lose gekoppelten Systemen deutlich aufwendiger. Dafür ist die Zahl der Prozessoren nahezu beliebig erweiterbar. Multi- oder Parallelprocessing unter Unix bringt dadurch den Vorteil, daß für dieses Betriebssystem vielfältige und erprobte Applikationssoftware bereitsteht.

Bei dem Einsatz von zwei und mehr CPUs in einem Rechner kennen wir auch das Verhältnis Master zu Slave, einer asymmetrischen Konfiguration. Sie bietet den Vorteil, daß die Rechenarbeit einerseits und die Peripheriesteuerung andererseits jeweils einem Prozessor klar zugewiesen ist. Der nicht zu unterschätzende Nachteil solcher Konfigurationen besteht darin, daß die Leistungsgrenzen schneller erreicht werden: Alles hängt von der Power der Master-CPU ab. Ist sie in ihrer Leistungsfähigkeit ausgelastet, nutzen Leistungsreserven bei den Slave-Prozessoren herzlich wenig.

Demgegenüber sind in einer symmetrischen Konfiguration sämtliche Prozessoren gleich. Alle müssen in der Lage sein, alle Aufgaben zu übernehmen - von der Peripheriesteuerung bis zur Programmabarbeitung. Der Vorteil symmetrischer Konfigurationen ist die eindeutig höhere Anzahl von möglichen Prozessoren. Eine größere Zahl von Benutzern können parallel bedient werden.

Master-Slave-Konfigurationen kennen nur eine statische Verteilung der Arbeitslast. Symmetrische Systeme erlauben hingegen eine dynamische Lastverteilung über das Gesamtsystem: Ein paralleles Unix weist dem nächsten zur Bearbeitung stehenden Job jeweils eine CPU zu. Dadurch unterliegt keiner der Prozessoren einer durchsatzbegrenzenden Belastung wie ein Master-Slave-System. Ein weiteres Plus symmetrischer Konfigurationen liegt in ihrer hohen Ausfallsicherheit, nicht zuletzt weil jeder Prozessor jeden anderen ersetzen kann.

Im September 1984 stellte Sequent Computer Systems ihnen ersten Parallelrechner vor, die Balance-Serie. Auf Basis der Mikroprozessoren von National Semiconductor wurde damals erstmals ein System mit einer Leistungsbreite eingeführt, die an manchen damaligen Großrechner heranreichte. Jedoch wurde die Forderung nach Industriestandard-Mikroprozessoren wie Intel 80386 immer stärker. Die aktuelle Symmetrie-Serie bietet hier heutzutage bis zu dreißig 80386-Prozessoren.

Die Rechner laufen auf einem Unix-Betriebssystemderivat, das die Parallelverarbeitung unterstützt - im Fall von Sequent Dynix. Es wurde auf Basis der Berkeley-Version 4.2 und Unix System V entwickelt. Applikationen, die unter einer der beiden Unix-Versionen arbeiten, arbeiten problemlos auch unter Dynix. Dieses für die Parallelverarbeitung optimierte Betriebssystem gestaltet die parallele Hardware-Architektur für die Anwendungen völlig transparent. es steuert gleichzeitig die Verteilung der Arbeiten auf alle Prozessoren.

Spezielle Eingriffe durch einen Programmierer sind hierfür nicht notwendig. Diesem stehen Fortran-, C-, Pascal- und Ada-Compiler Programmiertools und Kommunikationssoftware zur Verfügung. Zu bemerken gilt, daß relationale Datenbanken wie Oracle, Ingres, Unify oder Informix in hohem Maße für den Einsatz in parallelen Architekturen geeignet sind, weil die Struktur dieser Datenbanken auf Tabellen beruhen.

Einen wesentlichen Punkt für parallele Rechner stellt die Kommunikation dar: Heterogene Systeme werden über Ethernet verbunden, kombiniert mit TCP/IP-Software. Dynix bietet Funktionen wie Remote-Login und File-Transfer. Dynix wird durch Sun Microsystems Network File System (NFS) voll unterstützt. Die NFS-Option innerhalb Dynix gestattet Anwendern, Dateien über eine Vielzahl Maschinen unterschiedlicher Größe und Konfiguration, die unter ebenso unterschiedlichen Betriebssystemen oder Netzwerken arbeiten, zu verteilen. Hierzu können File Server oder Grafikstationen zählen. Der Dateizugriff erscheint dem Anwender stets wie der Zugriff auf seine lokale Datei. Dynix enthält weiterhin Funktionen für ein präzises Performance-Tuning. Speziellen Anforderungen aus dem kommerziellen Umfeld, wie die Sicherung von Großen Datenmengen, wird Dynix durch entsprechende Utilities gerecht.

Parallelrechner haben sich besonders ins Alltag bewährt, in denen Datenbankanwendungen erheblichen Umfangs und hohe Systemzuverlässigkeit erforderlich waren. Sie wurden etwa bei der Hotel-Reservierung, Bürokommunikation von Großunternehmen, in Bibliotheksinformationssystemen, für Policen-Datenbanken bei Versicherungen, im Telemarketing, der Lagerverwaltung und Material-Planung, beim Portofolio-Management und der Patienten-Vorsorge eingesetzt. Sie bewährten sich in der Vergangenheit auch bei vielen Applikationen in Forschung und Entwicklung, wie zum Beispiel Rechnerarchitektur-Simulationen bei der ETH in Zürich oder im Bereich der Künstlichen Intelligenz.

Hoher Grad an Verfügbarkeit gefordert

Die Parallel-Computing-Technologie ist für alle Anwendungsbereiche interessant, die viele aufteilbare Aufgaben zu lösen haben, bei denen eine hohe Zahl Benutzer unterstützt werden soll, die Leistung sowie Durchsatz fordern. Ein hoher Grad an Verfügbarkeit und leichte Erweiterungsmöglichkeiten sind weitere wichtige Kriterien. Den eher technisch-wissenschaftlichen Bereich haben sich Unix und Parallel-Processing schon seit einiger Zeit erobert. Kommerzielle Anwender andererseits wenden sich verstärkt der Online-Transaktionsverarbeitung auf Basis relationaler Datenbanken zu. Alte Batch-Anwendungen werden zunehmend durch neue interaktive Lösungen ersetzt. Den Anwendern eröffnet sich mit den Möglichkeiten des Parallelprocessing eine Alternative, die ein hohes Maß an Ausfallsicherheit und Flexibilität bietet.

*Thomas Woywod ist Marketingleiter bei Sequent Computer Systems GmbH in München.