Wie "frisieren" Sie Ihre Programme?

25.06.1976

Mit Programm-Tuning ist es wie mit der Mixed-Hardware: Manche EDV- : Chefs können die ständigen guten Ratschläge schon gar nicht mehr hören - gerade weit sie selber wissen, daß sie durchaus betroffen sind.

Was aber die Tuning-Experten der Firmen BASF, MBB, SKF und HDV über ihre "Frisier-Erfolge" berichten, dürfte doch zu einem Meinungsumschwung führen.

Lothar Erhard, Leiter der Abteilung Datenverarbeitungstechniken, SKF, Schweinfurt

Wir unterscheiden bei Software-Tuning das Tuning der System -Software und Tuning der Anwendungssoftware. Für den Komplex Tuning von Anwendungssoftware benutzen wir Auswertungen aus SMF-Daten sowie schwerpunktmäßig das Software Produkt PPI, vertrieben durch die Firma CPP. Dieser Monitor stellt in vom Benutzer festzulegenden Zeitintervallen fest, an welchen Stellen das Anwendungsprogramm zum Meßzeitpunkt aktiv ist. Die Auswertung dieser Informationen gibt dann Hinweise über Instruktionen oder Programmteile, die besonders CPU-intensiv sind bzw. wo zeitaufwendige I/ Os veranlaßt werden. In vielen Fällen können aus diesen Informationen mit geringem Programmieraufwand nennenswerte Laufzetverkürzungen erzielt werden. Zum Beispiel konnten wir die Elapsed-Time eines Programms von drei auf eine Stunde verkürzen, nachdem eine kleinere Datei mit vielen Random-Zugriffen im Hauptspeicher zwischengespeichert wurde. In anderen Fällen wird die CPU-Zeit reduziert durch Optimieren der Tabellenverarbeitung und ähnliche Maßnahmen. Neben diesen Möglichkeiten, Software systematisch mit Hilfsprogrammen zu "frisieren", ist jedoch erforderlich, daß Systemspezialisten, und eigentlich alle Mitarbeiter der Datenverarbeitung durch Beobachtungen und, Überlegungen Schwachstellen erkennen und Tuning-Maßnahmen ergreifen oder veranlassen. Von besonderer Bedeutung sind natürlich auch Erfahrungsberichte anderer EDV-Benutzer. Nachdem wir zum Beispiel aufgrund eines Hinweises einer befreundeten Firma und durch eigene Systemmessungen festgestellt hatten, daß ein EXCP bei VS/ 1 etwa fünf Millisekunden CPU-Zeit kostet, haben wir enorme Tuning-Erfolge dadurch erzielt, daß die Blockung aller sequentiellen Dateien wesentlich erhöht wurde.

Wolfgang Hüttel Leiter Systemprogrammierung, Hamburger Datenverarbeitung, Hamburg

In unserem Haus wird als Programm-Tuning nur das PPI von Bool und Babage eingesetzt. Die Verfahrensweise im Umgang mit diesen Programmen ist allen Programmierern bekannt- das Tuning wird auch vom jeweiligen Autor vorgenommen. Bei Programm-Neuentwicklungen ist eine PPI-Überprüfung vor Übergabe an das Rechenzentrum obligatorisch. Zwei weitere hauptsächliche Anlässe, ein Tuning zu initiieren, sind

1. die Anforderungen des Rechenzentrums, um zum Beispiel lange Laufzeiten zu verkürzen,

2. die Hitliste der monatlichen SMF-Auswertung, die die Programm-Aktivitäten analysiert.

Leider reichen noch zu oft die personellen Kapazitäten nicht aus. um allen Tuning-Anstößen nachgehen zu können. Die Ansatzpunkte für, das Programm-Tuning werden durch PPI reichhaltig und ausführlich dem Programmierer präsentiert Programmaktivitäten, Dateiwartezeiten, Modulaktivitäten, Instruktions- und Wartezeiten innerhalb von Programmteilen und andere. Erfolge bei der Programm-Optimierung stellen sich laut Aussagen unserer Programmierer insbesondere bei Verbesserungen der Tabellenverarbeitung, Veränderungen der Dateiblockungs- und Pufferungsfaktoren und Datenkonvertierungen dezimal binär ein. Programmschwächen durch extensives Open Close-Handling oder Allocation-Aufwand durch VCOC-Verwaltung können häufig durch kleinere Programmänderungen abgestellt werden. Je öfter Tuning-Maßnahmen mit Erfolg durchgeführt wurden, desto mehr werden die Erkenntnisse daraus bei Neuentwicklungen bereits in der Planungsphase berücksichtigt und es entstehen optimalere Problemlösungen.

Manfred Dziewas, Leiter des Rechenzentrums Messerschmitt-Bölkow-Blohm GmbH, Ottobrunn b.München

Seit Ende 1971 beschäftigen wir uns mit Hard- und Software-Tuning. Heute können wir eine Durchsatz-Verbesserung von etwa 300 Prozent verzeichnen, davon konnte der überwiegende Teil durch Software-Tuning erzielt werden. Allein 40 Prozent dieser Verbesserung haben wir durch eine Umverteilung der auf Platten- und Trommelspeicher gehaltenen Systembestände und Systemprogramme erreicht. Bei unserem Verwaltungs- und Sicherungssystem für auf Platten und Bandeinheit gespeicherte Daten haben wir die von IBM gelieferten Routinen teilweise durch selbstgeschrieben ( Routinen ersetzt und damit der Zugriff zu den Katalogdaten erheblich beschleunigt.

Weitere Einsparungen. die etwa 15 Prozent der Gesamt-Verbesserungen ausmachen führen wir auf eine Automatisierung des Job Scheduling zurück. Das von uns selbst erstellte Programm ersetzt weitgehend den Konsol-Operator. Mit Erfolg setzen wir außerdem die Pakete TSA und PPE ein und konnten bei einigen - vor allem in PL1 geschriebenen Anwendungen Laufzeitreduzierungen von 90 Prozent erzielen. Seit dem Einsatz dieser Pakete vor etwa zwei Jahren müßten weit über 200 Programme auf der Basis der durch PPE gewonnenen Ablaufdaten optimiert haben.

Und damit wir auf diese Liste noch weitere Pluspunkte setzen können, stehen wir jetzt kurz vor dem Einsatz der Pakete Namic I und II.

Herbert Frey, Leiter "Interne Kontrolle" in der DV, BASF AG, Ludwigshafen

Bei einer Mannschaft von mehr als 100 Programmierern kommt man um das Software-Tuning nicht mehr herum. Aus diesem Grund haben wir uns 1972 entschlossen, das Programmpaket PPE zu kaufen, um das Programm-Tuning zu automatisieren. Mit diesem Verfahren konnten wir teilweise sensationelle, Erfolge erzielen und in einem einzelnen Fall eine einfache Verbesserung der Programmlaufzeit erreichen. In einem Rechenzentrum wie dem der BASF mit rund 30000 Batchs in der Routineverarbeitung und mehreren Nicht-IBM-Systemen konnte die Programmprüfung nicht mehr manuell erfolgen, zumal ein in Frage kommendes Programm sehr konsequent und diffiziert durchsucht werden muß, um bestimmte Schwachstellen herauszufinden.

Um das Software-Tuning konsequent einsetzen zu können, gibt es in unserem Haus eine sogenannte Hitliste. Sie beinhaltet Programme, die anhand der SMF-Daten aus dem IBM-Betriebsystem ermittelt wurden:

Programme mit der größten benötigten Region, der längsten Laufzeit, der längsten CPU-Zeit, den meisten Plattenzugriffen, den meisten Bandzugriffen, Hieraus ergibt sich die Basis, um PPE anzusetzen. Wir erhalten so zum Beispiel Auskünfte, daß ein bestimmtes Programm eine unsinnig große Performance-Schleife beinhaltet oder daß ein System unnötige Loops dreht. An diesen Punkten, können wir in das Programm einsteigen und etwa durch eine andere Programmierweise Abhilfe schaffen.

Der Einsatz des Tuning-Paketes hatte sich bereits nach einem Vierteljahr amortisiert - vor allem durch das Tunen von älteren Programmen.