Das Zusammenspiel der Komponenten eines DV-Systems macht die Performance aus (Teil I):Präventiv-Tuning durch analytische Verfahren

14.11.1980

Der Begriff "Tuning" wird im allgemeinen in Verbindung mit Aktivitäten verwendet, die dann einsetzen, wenn ein System, dessen Funktionalität erwiesenermaßen erbracht wurde, in seinem leistungsmäßigen Verhalten verbessert werden soll. So wie der Duden "Tuning" als "nachträgliches Einstellen eines Motors" definiert, so wird in DV-Kreisen häufig die Summe der Maßnahmen darunter verstanden, von denen man sich erhofft, daß sie im nachhinein deutliche Performance-Verbesserungen - sei es an einzelnen Anwendungsprogrammen, OS-Komponenten oder ganzen Systemen - bewirken.

Solche Maßnahmen können Programmoptimierungen sein, können aus Dateiumverteilungen - bestehen oder in Konfigurationsänderungen oder -vergrößerungen resultieren. Was man sich verspricht, sind

- kürzere Antwortzeiten im Online-Bereich,

- höhere Durchsatzraten oder

- geringere Verweilzeiten von Batch-Arbeiten.

Doch ebensowenig wie durch Tuning aus einem Geländewagen nachträglich eine Sportlimousine wird, ebensowenig wird aus einem leistungsschwachen DV-System ein Superrechner.

DV-Systemauswahl vorentscheidend

Wesentlich ist, daß man vorher weiß, was für Anforderungen man an eine Komponente oder ein System stellt, daß man weiß, ob man einen Geländewagen oder eine Sportlimousine benötigt.

Ist für einen Anwender charakteristisch, daß die Masse seiner Programme Ein-/Ausgabe-intensiv ist, so hilft ihm kein noch so ausgefeiltes Tunen seiner Programme, wenn seine DV-Systemauswahl sich leistungsmäßig an einer hohen MIPS-(Millions-of-lnstructions-per-Second) oder KOPS-(Kilo-Operations-per-Second-) Rate der CPU orientierte und die Plattenperipherie über schwache Kenndaten verfügt.

Das angeführte Beispiel mag trivial erscheinen. Doch welche DV-lnstallation vermag schon Aussagen zum Profil der ablaufenden Arbeitslast zu machen? An welcher Installation ist bekannt, in welcher Größenordnung sich die Ein-/Ausgaberate eines bestimmten Profils bewegt? Wo werden Überlegungen angestellt, wie sich die Modularität von Plattensystemen, deren Auslastung und Zugriffszeiten, der Effekt von Zweikanalanschlüssen auf das Leistungsverhalten auswirkt?

Mit Sicherheit sind es die wenigsten Installationen, die konkrete Antworten zu diesen Fragen geben können. Zwar weiß man mittlerweile, daß es Theorien und Modelle gibt, um die leistungsmäßigen Zusammenhänge an einem DV-System zu ermitteln:

Man kennt seit den ersten James-Martin-Werken das Bankschalter-Beispiel als anschauliche Erklärung von Warteschlangen, Auslastungen und Bedienungszeiten von DV-Komponenten zur Genüge. Und selbst in "Datamation" (Joe M. Wiley, Februar 1977) stöhnte ein Autor bereits über "Just Enough Queuing Theory"!

Doch betrachtet man die Praxis, so stellt man fest, daß eine große Zurückhaltung, wenn nicht gar Scheu besteht, diese Warteschlangenformeln einzusetzen, um Leistungsaussagen zu ermitteln: Aussagen, die es ermöglichen, Programm- und Systemverhalten im voraus zu erkennen und gezielt zu beeinflussen und sich dadurch nachträgliche Tuning-Maßnahmen weitestgehend zu ersparen.

Auch heute noch - und man muß dazu nur die Neuankündigung von DV-Systemen in der Fachpresse anschauen - wird lieber mit freistehenden Einzelkennzahlen wie MIPS, KOPS, Zugriffszeit etc. operiert. Dies ist zwar einfacher als die Verwendung einer Formel, in der mehrere Größen funktional verknüpft sind, jedoch die Aussagekraft solcher einzelnen Kennzahlen ist dementsprechend gering.

Denn die Leistungsfähigkeit eines DV-Systems wird nicht nur durch die Leistungsfähigkeit seiner Einzelkomponenten, sondern wesentlich durch ihr aufeinander abgestimmtes Zusammenspiel bestimmt. Obwohl die durch Kenndaten einer Einzelkomponente spezifizierten Leistungsmöglichkeiten eines Gerätes oder einer Programm-Version Aufschluß geben über eventuelle Einsatzbereiche, ist doch das Zusammenspiel von noch größerer Wichtigkeit:

- Eine schnelle CPU kann durch langsame Kanäle zu häufig in den Leerlauf (Idle-Status) gezwungen werden.

- Schwerfällige Betriebssystem-Algorithmen verschlingen Großteile der Leistung.

- Ungünstige Dateiplacierungen erhöhen die Wartezeiten beim Zugriff und reduzieren oft erheblich die Ein-/ Ausgabe-Leistung etc.

Tuningformel-Aufbau

Der Einsatz der Warteschlangenformeln ermöglicht eine einfache analytische Ermittlung solcher Abhängigkeiten und bietet damit eine fundamentierte Basis für ein wirksames Präventiv-Tuning. Welche Grundbegriffe werden dazu benötigt?

Betrachtet man eine einzelne Komponente eines Rechensystems etwa eine Zentraleinheit oder eine Plattenstation, so läßt sich das zeitliche Verhalten dieser Komponente bei der Abarbeitung von Anforderungen - bei einer Zentraleinheit sind das beispielsweise Befehle, bei einer Platte Ein-/Ausgabeoperationen - beschreiben, wenn bekannt ist, wieviel Zeit die Komponente zur Bearbeitung einer einzelnen Anforderung benötigt und wieviel Anforderungen auf eine Komponente zulaufen.

In Abbildung 1 ist eine Platte dargestellt, die für die Bearbeitung einer Ein-/Ausgabeanforderung eine Bedienungszeit Ts= 40 ms benötigt (diese Bedienungszeit gliedert sich bei einer Platte in Zugriffszeit und Übertragungszeit).

Bei a) laufen nun in zeitlichem Abstand von 80 ms, also mit einer Zwischenankunftszeit von Ta= 80 ms Ein-/Ausgabeanforderungen auf diese Platte zu. Es ist üblich, auch mit dem Kehrwert der Zwischenankunftszeit zu rechnen, der die Anzahl Anforderungen oder Ankünfte für eine Systemkomponente pro Zeiteinheit angibt und als Ankunftsrate A(?) bezeichnet wird.

A(?)= 1/Ta=12,5/s

Die Platte benötigt für die Bearbeitung einer Ein-/Ausgabeanforderung 40 ms, das bedeutet, daß sie dann weitere 40 ms frei ist, da die Anforderungen ja im Rhythmus von 80 ms eintreffen. Es ist einleuchtend, in diesem Fall von einer 50prozentigen Auslastung der Platte zu sprechen, oder allgemeiner: Die Auslastung als das Verhältnis von Bedienungszeit zu Zwischenankunftszeit oder als Produkt der Ankunftsrate mit der Bedienungszeit zu definieren.

Reduziert man nun die Zwischenankunftszeit auf 40 ms (b), so könnte die Platteneinheit bei der Verarbeitung gerade mit den Anforderungen mithalten und wäre zu 100 Prozent ausgelastet.

Zwischenankunftszeit determiniert Auslastung

Setzt man schließlich die Zwischenankunftszeit auf 20 ms herab (c), so hat die Platteneinheit gerade eine Anforderung abgearbeitet, während schon jeweils zwei weitere hinzugekommen sind, die darauf warten müssen, bedient zu werden.

In der in c) dargestellten Anordnung würden bei einer konstanten Zwischenankunftszeit von 20 ms immer mehr Anforderungen, die auf die Platte zugreifen wollen, warten müssen, bevor sie bedient werden können. Für die einzelnen Anforderungen würde die Wartezeit immer länger werden, da sich ja weitere Bedienungsanforderungen eingereiht haben. Auf Dauer gesehen wäre die Platteneinheit überlastet.

òDr Adler ist Fachberater im Bereich Luftverkehr bei Sperry Univac, Sulzbach/Taunus

Wird fortgesetz