Vergleich der SORT-Programme

Wer sortiert effektiver?

18.04.1975

MÜNCHEN - In letzter Zeit sind einige Möglichkeiten bekannt geworden, Rechenzentren effektiver zu nutzen. Das geschieht einerseits durch gleichmäßigere Auslastung der Anlage

andererseits durch den Einsatz von Software, die effektiver ist, d. h. das gleiche für weniger Geld in kürzerer Zeit leistet als andere, insbesondere die von den Herstellern mitgelieferten Standardprogramme. Ein Beispiel dafür sind die Sortierprogramme, die von verschiedenen Häusern angeboten werden.

"In meinem Rechenzentrum ist die Anlage 40 Prozent der Zeit mit Sortieren beschäftigt. Das kostet bei einer Monatsmiete von 50 000 Mark ungefähr 15 000 Mark. Wenn das Sortieren auf die Hälfte der Zeit zu reduzieren ist, wenn ich außerdem nur zwei Platten benutze statt deren sechs und damit in anderen Partitions voll fahren kann und so den Durchsatz erhöhe, mache ich gut und gern 20 000 Mark gut . . ."

Welcher Rechenzentrumsleiter hat diese Überlegung bereits angestellt?

Mehr als 50 Prozent Sortierarbeiten nicht selten

Es gibt Rechenzentren, in denen diese Sortierarbeiten bis zu 70 Prozent ihrer gesamten Arbeit ausmachen. Die Zentraleinheiten sind damit kaum ausgelastet, trotzdem ist die Anlage für andere Arbeiten blockiert: Sortierarbeiten sind in hohem Maße ein-/ausgabeintensiv, belegen also Kanäle, Magnetbänder und -platten sowie deren Steuerungen.

Die Platten müssen aber noch für andere Jobs zur Verfügung stehen, diese können dann nicht weiterarbeiten, so daß die Anlage insgesamt weniger an Programm durchlaufen läßt, als es eigentlich von ihrer Leistungsfähigkeit her zu erwarten wäre.

Die konventionellen Sorts entstanden zu einer Zeit, als wenig Arbeitsspeicher, aber viel Zeit zur Verfügung stand.

Heute - zumal unter Multiprogramming - bestehen umgekehrte Erfordernisse, da große Platten und gegebenenfalls viel Arbeitsspeicher verfügbar sind.

Mindestens zwei der bisher auf dem Markt angebotenen Sorts sind darauf zugeschnitten:

- CA-Sort von Computer-Associates hergestellt und vertrieben.

- Syncsort von Whithlow Computer Systems entwickelt und von Gemini vertrieben. Mit beiden sollen sich die Sortierzeiten im Schnitt halbieren lassen.

Schlüssel und Satz getrennt behandeln

Diese Sorts arbeiten mit algorithmischen Ordnungs- und Zugriffsverfahren. Dabei werden die Datensatzschlüssel (Index) vom übrigen Satz getrennt bearbeitet: Man lese Datensätze ungeordnet in den Rechenspeicher und dupliziere jeweils den Schlüssel. Man schreibe den Schlüssel in eine Adreßliste und den Datensatz irgendwohin auf die Platte. Man trage zusätzlich zum Schlüssel in der Adreßliste die physische Adresse des Datensatzes ein.

Für Dateien bis zu etwa 65 000 Sätzen sind für den Index zwei Bytes in codierter Form ausreichend, für die Angabe der Adresse weitere zwei Bytes.

Bei größeren Dateien sind 6 Bytes notwendig.

Bei 100 000 Datensätzen sind für die Adreßliste 600 000 Bytes oder 6 Zylinder auf einer 48-Millionen-Bytes-Platte belegt.

Nun bestehen zwei Möglichkeiten:

- Für die Stand-Alone-Sortierung werden die 40 Spuren schön nacheinander aufsteigend oder absteigend sortiert. Die Zeit dafür ist abhängig von dem zur Verfügung gestellten Rechenraum und von dem gewählten Verfahren. Sie dürfte jedoch im Bereich weniger Sekunden liegen, wenn man intern das algorithmische Verfahren und extern ein Polyphasen-Merging anwenden kann.

Gezielter Zugriff

Im Ergebnis hat man anschließend auf den 6 Zylindern die aufsteigend sortierte Folge der Datensatzschlüssel mit den physikalischen Adressen der Datensätze, und es ist einfach, jetzt einen Satz nach dem anderen gezielt zu greifen und auf eine andere Peripherieeinheit, zum Beispiel ein langsamer gehendes Band oder eine Platte zu schreiben.

- Mit dieser Technik ist es auch möglich, - und darauf wird wiederum bei der Beschreibung des CA-Sort deutlich hingewiesen - das Sortmodul als Zugriffsmodul oder den ganzen Sort als "Zugriffssort" zu benutzen. Man kommt dann dazu, den Sort nicht selbständig laufen zu lassen, sondern in ein Benutzerprogramm einzubetten, das heißt im Benutzerprogramm würde man den Einleselauf an den Anfang stellen, dann die Adressen sortieren und dann die Sätze immer gerade so aus der Datei holen, wie man sie braucht. Man spart den Lauf, bei dem die Datei ausgelesen wird, und man spart das erneute Einlegen für ein Benutzerprogramm. Die hohen Einsparungen bei den Ein-/ Ausgabe-Zugriffen (EXCPs) um 30 bis 70 Prozent erklären sich daraus. Außerdem ist für Dateien dieser Größe nur ein Kanal notwendig, das heißt der Sortierer blockiert nicht mehrere Kanaleinheiten und hindert damit nicht andere Programme in ihrer Ausführung. Natürlich ist der für ein derartiges Programm benutzte Rechenspeicherplatz gering, einmal abgesehen von der Größe des Arbeitsbereichs für die Zwischensortierung der Schlüssel, der nur vorübergehend benötigt wird. Ein solches Sortierverfahren benötigt auch nicht zusammenhängende Bereiche auf der Arbeitsplatte, weil es eigentlich völlig egal ist, auf welcher Platteneinheit und welchem Zylinder ein bestimmter Satz steht, wenn man nur seine Adresse kennt.

Die Qual der Wahl

Es ist schwierig, zu sagen, welchem der beiden Systeme Syncsort oder Ca-Sort man den Vorteil geben sollte (siehe Tabelle).

Beide Systeme sind kompatibel mit IBM-Sort SM 1 und SM 023.

Bei Syncsort gibt es dann die Möglichkeit, eine optimale Ressourcen-Zuteilung zu machen, das heißt Peripherie und Arbeitsspeicher in bezug auf die Dateilänge, die Datensatzlänge und den Vorsortierungsgrad optimal einzuteilen, ehe man mit dem Sortierlauf beginnt. Dazu gehört auch ein Programm, das den Vorsortierungsgrad aus einem Teil der Datei bestimmt. Ein weiteres Programm ermittelt aus einer Untermenge der Datei mit variablen Satzlängen die mittlere Satzlänge und stellt die Verteilung in einem Histogramm dar. Die Werte können dann zu einer Verbesserung beitragen, wenn aus Gründen der Synchronisierung der Zugriffe Sortierklassen bei den gespeicherten Sätzen geschaffen werden und die Größe dieser Sortierklassen vorausbestimmt werden soll. Im Manual für den CA-Sort wird dagegen nur ein Diagramm mitgeliefert, anhand dessen die Bestimmungen des Optimums für den benutzten Kernspeicherraum aufgrund von Datensatzlänge und Dateilänge möglich ist.

Preise

Die Fünf-Jahreslizenz für den Syncsort kostet etwa 32 000 Mark. Der CA-Sort ist zu kaufen für IBM-DOS mit 17 000 Mark, für IBM OS/VS mit 22 000 Mark. Bisher sind circa 100 Systeme dieser Art in Deutschland im Einsatz Gemessen an den beträchtlichen Einsparungen an Rechenzeit und der Erhöhung des Durchsatzes der Anlage ist solches Geld sicher gut angelegt.