Systemoptimierung - nur für das Rechenzentrum ?

22.08.1975

Dipl.-Math Horst Hünke, Leiter des Instituts für Software-Technologie der Gesellschaft für Mathematik und Datenverarbeitung St. Augustin/Schloß Birlinghoven

Die Entwicklung von Betriebssystemen und großen Anwendungssystemen ist in den letzten Jahren durch das Ziel höherer Flexibilität und einem damit verbundenem Zuwachs an Komplexität gekennzeichnet. Die Flexibilität wurde angestrebt, um eine größere Vielfalt verschiedener Aufgaben bewältigen zu können. Dieser Ansatz ist sowohl für den Verbraucher wünschenswert, da er sich bei der Beschaffung eines Systems nicht in bezug auf später hinzukommende Anwendungen einengt, wie auch von den Intentionen der Hersteller verständlich, da die Notwendigkeit zu Spezialentwicklungen für einzelne Kunden reduziert wird.

Das Streben nach Flexibilität ist jedoch nach dem heutigen Kenntnisstand über Software-Systeme nur schwer mit dem Ziel nach technischer Effizienz für einen jeden speziellen Einsatzfall in Einklang zu bringen. So kann zum Beispiel in einem Betriebssystem ein für Aufträge mit komplexen Betriebsmittelanforderungen ausgelegtes Auftragsverwaltungssystem einen Betrieb ausschließlich mit Kurzläufern ohne Betriebsmittelanforderungen nur sehr Unwirtschaftlich abwickeln.

Für spezielle Anwendungsfälle oder Einsatzarten können durch Analysen aufgrund von Hardware- und Software-Messungen Ansätze zur Optimierung des Rechensystems gefunden werden. Charakteristisch für die bisher verfolgten Ansätze ist, daß Analysen und Messungen auf der Ebene des technischen Systems erfolgen und nur schwer mit der Aufgabenstellung der jeweiligen Anwendung in Zusammenhang zu bringen sind. Dies ist verständlich denn die Entwicklung der höheren Programmiersprachen und der Anwendungssysteme hat über lange Jahre vorrangig das Ziel verfolgt, dem Programmierer immer mächtigere Ausdrucksmittel zur Verfügung zu stellen, hat also versucht die Ökonomie vornehmlich auf der Seite der Ausdruckmittel, an der Schnittstelle Benutzer-System, zu erzielen. Mit diesem Ansatz sollte der Benutzer von der Beschäftigung mit dem "Wie" entlastet werden und sich auf das "Was" konzentrieren können.

Die Optimierung aber befaßt sich mit dem "Wie" Hier können durchaus beachtliche Erfolge erzielt werden, wenn man das technische System analysiert und Engpässe aufdeckt und beseitigt, Engpässe zum Beispiel, die zurückzuführen sind auf eine unausgewogene Konfiguration des DV-Systems, auf schlecht programmierte Software-Komponenten oder, wie oben angedeutet, auf nicht ausgeschöpfte und für den Anwendungszweck nicht notwendige Flexibilität und damit erhöhte Komplexität und Laufzeit. Änderungen einzelner Teilkomponenten oder auch der Betriebsform bringen für solche Fälle Abhilfe.

Dennoch muß dieser Ansatz in seiner Wirkung beschränkt bleiben, da er nur einen Teil des Gesamtsystems berücksichtigt. Ein Indiz für die geringe Brauchbarkeit einzeln herausgegriffener Leistungsmerkmale ist die früher ungemein wichtige, heute nur noch als Hilfskriterium beigezogene Ermittlung eines Instruktions-Mixes bei der Bewertung von DV-Anlagen. Als Gesamtsystem sind sowohl das Betriebssystem nebst Anwendungssystemen sowie Programmierer und Anwender zu verstehen. Es muß daher einerseits ein neuer Maßstab und eine andere Auffassung für die Effizienz des Systems gefunden werden, worin die Belange der Benutzer berücksichtigt werden, andererseits muß durch hinreichende Überschaubarkeit der Abläufe eine Berücksichtigung der technischen Effizienz seitens des Benutzers überhaupt ermöglicht werden. Dies erfordert, daß die Qualität von Software unter vielen Aspekten beurteilt werden muß; nur wenige davon sind heute direkt meßbar, wie etwa Laufzeit und Speicherbedarf. Andere Aspekte, wie etwa Einheitlichkeit, Verständlichkeit und leichte Änderbarkeit sind, wenn auch nicht direkt meßbar, so doch für einen dauerhaften Anwendungserfolg entscheidend. Ein solcher Ansatz wird um so dringlicher, je komplexer die marktüblichen DV-Systeme werden und je mehr ihre Verwendung in einem handwerklichen Perfektionismus zu ersticken droht, der einer geringen Zahl von Spezialisten vorbehalten bleibt.

Eine Lösung des Problems kann darin gesehen werden, daß die Implementierungshilfsmittel den durch den Entwurf definierten Zweck so klar auszudrücken gestatten, daß eine Analyse der durch das Problem gegebenen Zusammenhänge und damit eine mehr als nur lokale Optimierung noch möglich ist. Sprachen und Anwendungssysteme müssen eine Schnittstelle zwischen System und Benutzer in doppelter Hinsicht bieten: sie müssen sowohl erlauben, die Problemstruktur und den Lösungsalgorithmus klar und einfach darzustellen, wie auch die für eine effiziente Implementation relevanten Eigenschaften des DV-Systems für den Anwender transparent machen.