IBM-Sort raus, CA-Sort rein:

I/O's um 80 Prozent und CPU-Zeit um 50 Prozent reduziert

09.06.1978

HAMBURG - Da der Anteil der Sortierläufe am gesamten Workload mit zirka 10 Prozent recht beträchtlich war, untersuchten wir im Herbst 1975 die Möglichkeiten, das seinerzeit eingesetzte IBM-SORT durch ein Produkt mit besserer Performance zu ersetzen. Nach Studium der Angebote der Softwarehäuser und auf Grund der bereits vorhandenen Erfahrungen anderer Installationen entschlossen wir uns, im Rahmen einer Testinstallation das von Computer Associates, Zürich, angebotene CA-SORT-II näher unter die Lupe zu nehmen.

Als Ergebnis aus über 1000 Sortierläufen, von denen zirka 200 für eine repräsentative Auswertung geeignet waren, konnten ohne besondere

Optimierungsmaßnahmen folgende Verbesserungen gegenüber dem IBM-SORT festgestellt werden:

- Reduzierung der CPU-Zeit um durchschnittlich 16 Prozent

- Reduzierung der Plattenzugriffe (WORK-EXCP's) um durchschnittlich 56 Prozent

- Reduzierung des WORK-SPACE 4 um durchschnittlich 15 Prozent.

Diese Ergebnisse waren mitbestimmend für den Austausch des IBM-SORT gegen das CA-SORT II. Die Einführung vollzog sich auf Grund der vollen Kompatibilität ohne Schwierigkeiten, so daß viele Anwender erst viel später merkten, daß ein anderes SORT-Programm eingesetzt wurde.

Ein weiterer wesentlicher Punkt unserer Entscheidung zugunsten des

CA-SORT-II war die darin enthaltene SRAM-Methode, die bisher kein anderes SORT-Programm anbietet.

SRAM ist eine Alternative zum internen SORT-Aufruf (internal invocation) in einem Programm (COBOLSORT, PLISORT) und ist, wie es der Name SRAM (SORT ACCESS METHOD) auch ausdrückt, eine Zugriffsmethode mit Sortiereigenschaft. SRAM bietet folgende Einsatzmöglichkeiten:

- SRAM ist reentrant geschrieben, unter OS-VS 1 und OS-VS 2 (SVS MVS) unabhängig von den Releasen der Betriebssysteme einsetzbar und unterstützt alle bisher bekannten DA-Einheiten der IBM.

- SRAM ist aufrufbar aus Assembler-, COBOL-, PLI- und FORTRAN-Programmen.

- Der minimale Hauptspeicherbedarf von SRAM beträgt 4 Kilobytes.

- SRAM arbeitet mit nur einem WORKFILE und ist seriell (Kaskaden-Sort) und parallel (Konkurrenz-Sort) verwendbar.

Allerdings sind beim Einsatz der SRAM-Methode auch einige Besonderheiten zu beachten:

- Die SRAM-Dateien haben die Organisationsform DAU (direct access unmovable) und können daher mit den gebräuchlichen IBM-Zugriffsmethoden nicht verarbeitet werden.

- Für SRAM-Dateien dürfen in der DD-Karte keine DCB-Angaben gemacht werden.

- Die Sortierfelder müssen innerhalb der ersten 4096 Bytes des Satzes liegen.

- Mit SRAM können nur Felder in der Darstellungsform CHARACTER PACKED DECIMAL und positiv binär auf vollen Byte-Grenzen sortiert werden.

- SRAM empfiehlt sich nicht zum Sortieren großer Dateien.

Wegen ihrer Exklusivität auf dem Softwaremarkt wurde die SRAM-Methode, bevor sie für die Anwender freigegeben wurde, eingehenden Tests mit speziell dafür erstellten Testdatenbeständen unterzogen.

Nach positivem Verlauf wurden für weitere Versuche und zur endgültigen Beurteilung Anwenderdateien unterschiedlichster Anforderung, Art und Größe verwendet. Die anfängliche Ergebnisse wurden wiederum bestätigt. Insgesamt konnten folgende Vorteile gegenüber dem herkömmlichen internen SORT-Aufruf festgestellt werden:

- Mit SRAM können nun in einem Programm mehrere Datenbestände seriell (Kaskaden-Sort) und besonders auch parallel (Konkurrenz-Sort) nach verschiedenen Kriterien sortiert werden.

- SRAM benötigt pro Sortierdatei nur ein WORK-FILE. Spezielle SORTWK-Dateien fallen fort.

- Der von SRAM benötigte Platten und Hauptspeicherbedarf ist wesentlich geringer.

- Eine deutliche Reduzierung der Ein-/Ausgabe-Aktivitäten (80 - 90 Prozent) und der CPU-Zeit (5040 Prozent) trat gegenüber herkömmlichen Methoden dann ein, wenn bei den alten Sortiermethoden alle SORT und MERGE-Phasen durchlaufe wurden.

- SRAM sortiert nicht die ihm zur Verfügung gestellten Sätze, sondern sortiert eine intern aufgebaute Adreßkette der Sätze.

- Interne Sorts sind mit der SRAM-Methode nun auch in FORTRAN-Programmen möglich ohne spezielle Unterroutinen zu verwenden.

- Die mit SRAM erzeugten Dateien unterliegen denselben Dispositions-Regelungen (DISP-Parameter) wie die mit herkömmlichen Zugriffsmethoden erzeugten Dateien.

- Die Schreibweise der für das SRAM-WORK-File benötigten Definitionen und der SRAM-Befehle ist denkbar einfach und ähnelt denen der herkömmlichen File-Definitionen und Ein-/Ausgabebefehle.

- Der Programm-Aufbau wurde mit der SRAM-Methode klarer und leichter verständlich. Die bisher benutzte Sortiertechnik machte bisweilen beim Programmaufbau dann besondere Schwierigkeiten, wenn weder SORTIN- noch SORTOUT-Dateien benutzt wurden. Das interne SORT wurde im Anwendungsprogramm quasi zur MAIN-LINE, und das Anwendungsprogramm stellte die EXIT's E 15 und E 35 dar. Dieses Umdenken fällt bei Verwendung der SRAM-Methode fort. Das Anwendungsprogramm bleibt der bestimmende Teil, und SRAM ordnet sich ihm unter.

Auf Grund der positiven Testergebnisse wurde den Anwendern in einem Seminar die SRAM-Methode als "Zugriffsmethode" dargestellt und zur Benutzung freigegeben.

Selbst die genannten Eigenheiten und Einschränkungen der SRAM-Methode haben sich beim Anwender nicht negativ ausgewirkt. Die im Vorwege erzielten Testergebnisse haben sich in der praktischen Anwendung

bestätigt. Sie sind sogar durch neue _een für den Einsatz der SRAM-Methode von den Anwendern übertroffen worden.

Durch die Möglichkeit, für SRAM-Dateien die Standard-Dispositionen der IBM zu benutzen, wurden viele Step-SORT's aufgelöst. Dabei wurden ohne nennenswerten Aufwand in dem einen Step die herkömmlichen Ausgabebefehle und in dem anderen Step die entsprechenden Eingabebefehle durch korrespondierende SRAM-Befehle ersetzt. Durch beträchtliche Performancegewinne hatte sich der Programmieraufwand sehr schnell amortisiert.

Die Entscheidung der Deutsche BP Aktiengesellschaft, das CA-SORT-II und besonders die SRAM-Methode einzusetzen, hat sieh nachträglich als richtig herausgestellt. Ein dem CASORT-II gleichwertiges Produkt wird zur Zeit auf dem Softwaremarkt nicht zu finden sein.