System-Management/Bundesministerium kümmert sich um parallele Software

High Performance Computing fordert das System-Management

27.09.1996

Für den Anwender stellt sich die Frage: Wie bekomme ich möglichst schnell meine Ergebnisse, ohne mich um Systemadministration oder Ressourcenverwaltung kümmern zu müssen?

Im kommerziellen Bereich stand bisher die Ressource I/O, also das Speichern von und der Zugriff auf Daten, im Vordergrund. Von dort gingen entscheidende Umwälzungen und Veränderungen aus. Datenbanken stellen Speicherkapazitäten über Standard-Schnittstellen für Anwendungen zur Verfügung.

Mit dem beginnenden Aufstieg des High Performance und Parallel Computing richtet sich nun das Augenmerk zunehmend auf das Verwalten und Verteilen der Rechenleistung. Eine neue Generation von CPU-intensiven Anwendungen forciert eine Konzentration auf das Management der Computing Power: So gewinnt in der Industrie virtuelles Prototyping immer mehr an Bedeutung. Dabei werden Fertigungsschritte so weit wie möglich durch Simulationen ersetzt. Im Media-Bereich ist es das Rendering, die Berechnung von zwei- und dreidimensionalen hochauflösenden grafischen Darstellungen, die viel Rechenzeit kostet. Eine Verkürzung der Entwicklungszyklen ist ein klarer Wettbewerbsvorteil. Deshalb werden Mehrprozessorsysteme angeschafft und Workstation Cluster gebildet. Das High Performance Computing erhält damit einen entscheidenden Auftrieb.

Es stellt aber auch neue Herausforderungen an das System-Management: Im Teilbereich Performance-Management gewinnt das verteilte Workload-Management zunehmend an Bedeutung. Auch an das Scheduling der Benutzeranforderungen werden immer höhere Ansprüche gestellt: Nur ein intelligentes Scheduling der Benutzeranforderungen führt zu profitablem Ressourcen-Management. Diese Anforderungen stehen oft im Zusammenhang mit den Applikationen. Stand bisher vor allem die Hardware im Mittelpunkt, so wird die Aufmerksamkeit in Zukunft den Anwendern gelten.

Was erwarten Anwender in diesem Bereich vom System-Management? Zunächst geht es um das optimale Nutzen und Verteilen der verwalteten Ressourcen.

Dies sind die klassischen Aufgaben von RJMS (Resource and Job Management Systems). Im allgemeinen werden die Benutzeranforderungen durch Bilden von Jobklassen oder Queues kategorisiert, was dem Anwender den Überblick über die zur Verfügung stehenden Computing-Ressourcen erleichtert und einen einheitlichen Zugang dazu bietet. Die meisten Systeme können zudem Anforderungsprofile differenziert erfassen, etwa eine abgestufte Rechteverwaltung sowie Abhängigkeiten von zeitlichen Vorgaben oder zwischen einzelnen Rechenjobs.

Diese Aufgaben haben Batchsysteme auf Mainframes wahrgenommen. In Client-Server-Architekturen sind außerdem Rechnerknoten in ein heterogenes Netz einzubinden. Verteiltes Workload-Management umfaßt die Messung der aktuellen Last über Lastsensoren sowie auch das Load-Balancing, also den Lastausgleich zwischen Systemkomponenten. Ist die Last zu hoch, werden neue Jobs auf dem jeweiligen Knoten nicht mehr gestartet. Es lassen sich sogar laufende Rechenjobs auf andere Maschinen migrieren, wenn Checkpointing-Mechanismen vorhanden sind. Diese erlauben an bestimmten Stellen einen Abbruch des Jobs und einen Neustart auf einem anderen Host.

Spezialanforderungen flexibel abbilden

Oft hängt die Einsetzbarkeit eines RJMS davon ab, ob es die speziellen Ansprüche eines Projekts erfüllt. Dazu müssen sich auch Spezialanforderungen flexibel abbilden lassen, etwa die Definition von abteilungs- oder projektspezifischen Ressourcen. Daneben werden externe Schnittstellen mit der steigenden Integration von Systemumgebungen immer wichtiger. Beim Job-Management sind dies die Interfaces zur Lastmessung und zum Scheduling.

Verkürzte Entwicklungszeiten sind inzwischen durch virtuelles Prototyping zu erzielen. Im industriellen Bereich werden zunehmend Simulationen durchgeführt, um die Kosten für technische Realisierungen zu reduzieren. Die hierfür genutzten Applikationen profitieren von einer optimalen Verwaltung von Speicher- und Computing-Ressourcen: Sie sind meist in hohem Grad parallelisiert. Kommt jedoch eine Komponente eines parallelen Rechenjobs auf einem überlasteten Rechnerknoten zur Ausführung, so gehen andere Programmteile, die auf deren Daten aufbauen, in einen Wartezustand. Der Zeitverlust erhöht sich entsprechend. Der durch die Parallelisierung erhoffte Geschwindigkeitsgewinn geht durch unausgeglichene Lastverteilung verloren.

Lastausgleich auf das Lastprofil zugeschnitten

Das Projekt Sempa (Software-Engineering-Methoden für parallele Anwendungen im wissenschaftlich-technischen Bereich) des Bundesministeriums für Bildung, Wissenschaft, Forschung und Technologie (BMBF) adressiert dieses Problem für das parallele Strömungsberechnungsprogramm Tascflow. Projektziel ist hier die Integration der Anwendung mit dem Ressourcenverwaltungssystem Codine. Zusätzlich soll in das Anwendungsprogramm ein dynamischer Lastausgleich integriert werden, der dann genau auf dessen Lastprofil zugeschnitten ist. Die Daten über die Belegung von Betriebsmitteln erhält die Anwendung von Codine.

Die Integration mit der Strömungsberechnungsanwendung wird realisiert, indem das Job-Management-Programm eine automatische Ressourcenvergabe bereitstellt sowie Dienste, die eine Steuerung der Lastverwaltung und des Konfigurationsmanagements auf Anwendungsebene ermöglichen. Ziel ist es, das Verwaltungssystem zu einem prototypischen Ressourcenverwaltungssystem für parallele Programme weiterzuentwickeln, das auch noch über eine Schnittstelle zur parallelen Anwendung verfügt (siehe Abbildung 1).

Den Projektpartnern von der TU München, der Universität Stuttgart, der ASC, Holzkirchen, und der Genias Software GmbH, Regensburg, ist es wichtig, auf diese Weise Voraussetzungen für die Nutzung von paralleler Software auch auf kommerzieller Basis zu schaffen.

Der Anwender will nicht zusätzlich zu den Applikationen auch noch die benötigten Ressourcen verwalten. Idealerweise möchte der Benutzer innerhalb eines Programms eine rechenintensive Aktion als Job starten. Ebenso einfach soll das Monitoring des Jobs und das Einbringen der Ergebnisse sein. Man wünscht sich ein "single system image", das nicht nur die Heterogenität verschiedener Betriebssystem-Welten verbirgt, sondern auch System und Anwendung möglichst integriert. Das Konzept vom virtuellen Mainframe steht hier im Raum, der dem Anwender ein heterogenes Netz von Rechnern in Form einer einzigen leistungsfähigen allgemeinen Computing-Ressource zeigt.

Meist nehmen spezialisierte und oft auch plattformabhängige Einzelanwendungen Managementaufgaben wahr. Der Trend geht jedoch über Management-Toolsets hin zur Einbindung in Management-Frameworks und zur Integration in standardisierte Managementarchitekturen. Die Einbindung eines RJMS in Standard-Management-Umgebungen wie zum Beispiel HP Openview hat entscheidende Vorteile: Es erleichtert die einheitliche Verwaltung der Rechner. Speziell das Accounting erfährt eine Verbesserung, wenn Daten über den Rechenzeitverbrauch an das Management-System geliefert werden.

Job-Management bedeutet immer, einen Ausgleich zwischen den Wünschen des Anwenders, der Ressourcenauslastung und der lokalen Management-Policy zu schaffen (siehe Abbildung 2). Sollen Ressourcen auf der Basis einer Prioritätsskala, einer Fair-Share- oder einer Deadline-Strategie allokiert werden? Von Management-Anwendungen wird gefordert, daß sie Management-Strategien dynamisch abbilden können. Gerade beim Ressourcen-Management profitieren die Anwender von der Durchsetzung einer einheitlichen Policy.

Aus den Anforderungen kristallisiert sich ein zukünftiges Bild von Job- und Ressourcen-Management als Bindeglied zwischen Anwendung und Management-Framework heraus, dem eine Schlüsselrolle beim effizienten Einsatz der DV in den Unternehmen zukommt. Schon heute erkennen zum Beispiel die Anwender von High-Performance- und Parallel-Computing-Systemen, wie wichtig einzelne Komponenten des System-Managements für das effiziente Betreiben dieser komplexen (und teueren) Rechnerressourcen sind.

Angeklickt

Mit dem Aufstieg des Parallel Computing richtet sich das Augenmerk zunehmend auf die Verwaltung und Verteilung der Rechenleistung. Gleichzeitig gewinnt im industriellen Sektor das virtuelle Prototyping an Bedeutung. In Media-Unternehmen ist es das Rendering, das viel Rechenzeit kostet. Für beide Bereiche ist eine Verkürzung der Entwicklungszyklen ein Wettbewerbsvorteil, weshalb sie Mehrprozessorsysteme anschaffen. Das bedeutet aber, daß das System-Management neue Anforderungen erfüllen muß. Ein kleines Gremium von Entwicklern aus Wissenschaft und Wirtschaft hat für diesen Sektor eine Zusammenarbeit gestartet.

*Michaela Kurz ist Systemanalytikerin bei der Genias Software GmbH in Neutraubling bei Regensburg.