Fehlende Methodik auf der Tuning Szene?

20.05.1977

Robert Senger Dipl.-Informatiker Fried. Krupp GmbH Krupp Gemeinschaftsbetriebe Datenverarbeitung, Köln

Die Möglichkeiten und die Notwendigkeit von Leistungsmessung und Tuning werden den Anwendern in zunehmendem Maße bewußt. Eine kürzlich in der BRD durchgeführte Befragung*) ergab, daß etwa 20 Prozent aller Rechenzentren Leistungsmessungen durchführen. Zunächst ein Blick auf den "Stand der Kunst": Das Thema Monitoring und Tuning läßt sich in die Bereiche Logbuchführung und -auswertung, Software-Monitore, Hardware-Monitore und schließlich analytische Modelle und Simulation einteilen.

Programme zur Auswertung der Logdaten des Betriebssystems (zum Beispiel SMF) gibt es vom Hersteller oder von Softwarehäusern, zum Teil werden sie von den Anwendern selbst erstellt. Die Quantität und Qualität sowohl der Logdaten als auch der auf dem Softwaremarkt angebotenen Auswertungsprogramme hat sich in den letzten Jahren erfreulicherweise deutlich verbessert.

Software-Monitore gehen zwei Schritte weiter: Zum einen liefern sie zusätzliche Leistungsdaten über die Software beziehungsweise die Auslastung der Hardware-Komponenten, die das Logbuch nicht liefern kann (oder will?), in bestimmten Zeitabständen (time driven) oder abhängig von bestimmten Ereignissen (event driven). Zum anderen ermöglichen sie, wenn sie gut sind, Momentaufnahmen des aktuellen Zustands im Rechner. Damit ist nicht nur eine nachträgliche Analyse möglich, wenn das Kind bereits in den Brunnen gefallen ist, sondern sogar das Erkennen von drohenden Konfliktsituationen und rechtzeitiges Eingreifen. Komfortable Monitore stellen dem Operator für diesen Zweck zusätzliche Kommandos zur Verfügung.

Wichtig scheint noch der Hinweis, daß man Monitore nicht nur auf System-, sondern natürlich auch auf Anwendungsprogramme ansetzen kann.

Hardware-Monitore messen eine Ebene tiefer, das heißt, sie registrieren Zustände oder Veränderungen von Zuständen direkt durch Abgreifen der entsprechenden Signale. Der Vorteil des Hardware-Monitors liegt in seiner Unabhängigkeit vom zu messenden System, die daher auch eine genaue Bestimmung von Overheads ermöglicht. Reduktion und Interpretation der anfallenden Meßdaten erfordern jedoch spezielles Know-how, das vor allem in kleineren Rechenzentren nicht immer verfügbar sein dürfte.

Analytische Modelle und Simulationsmodelle sind ein weiteres Hilfsmittel für Effizienzbetrachtungen. Simulationssprachen und Simulationssysteme stehen zwar zur Verfügung, Aufwand, Unsicherheit über die Gültigkeit der gewonnenen Aussagen und fehlendes Know-how verurteilen diese jedoch vorläufig zu einem Mauerblümchendasein.

Ein Blick auf den Markt zeigt, daß das Angebot an Instrumenten zur Leistungsmessung reichhaltig und qualitativ sehr zufriedenstellend ist.

Rechenzentren, die bereits Monitore verwenden, melden erstaunliche Erfolge von der Tuning-Front.

Ein Blick in die Monitoring-Praxis zeigt jedoch, daß dies nur die Spitze eines Eisbergs zu sein scheint, in dem noch gewaltige Rationalisierungs-Reserven schlummern.

Denn: Die Instrumente für Leistungsmessung und Tuning sind zwar vorhanden, es fehlt jedoch an der Methodik, die es dem Anwender gestatten würde, seine Situation systematisch zu analysieren und Schwachstellen zu beseitigen. Eine solche Methodik müßte dem Anwender Hilfestellung geben von der Auswahl der Meßgrößen und Meßpunkte bis hin zu Gestaltungsempfehlungen für seine speziellen Anforderungen. Das Ziel-/Leistungs-/Kostenprofil des individuellen Rechenzentrums wäre zu berücksichtigen, um Subsystemoptimierung zu verhindern. Programm-Tuning führt zum Beispiel früher oder später unweigerlich zu Konflikten mit modernen Programmiertechniken.

Ebenfalls mit einzubeziehen wäre eine ständige Beobachtung der Hardware- und Software-Entwicklungstendenzen, denn neue Hardware-Komponenten, neue Compiler oder Betriebssystemwechsel stellen den einmal aus einer Vielzahl von Beobachtungen und Messungen gewonnenen Satz von Tuning-Regeln ständig in Frage. Schließlich sind als Rahmen des Ganzen differenzierte Aussagen zur Wirtschaftlichkeit und Wirksamkeit von Monitoring und Tuning zu fordern.

Trotz der fehlenden Methodik lassen sich jedoch aus der Beobachtung der Tuning-Szene einige Empfehlungen ableiten:

- Die mit den Logdaten vorliegende Information wird oft nicht erschöpfend ausgewertet. Vor dem Einsatz eines Monitors sollte stets die gründliche Analyse der Logdaten stehen. Danach können wenn notwendig, gezielte Messungen mit einem Monitor durchgeführt werden.

- Das oberste Gebot für alle Effizienzmessungen und Tuningmaßnahmen ist die peinlich genaue Dokumentation der Ausgangsbedingungen, Meßergebnisse und Veränderungen.

Es ist zu empfehlen, ein Tuning-Logbuch zu führen, an Hand dessen man verfolgen kann, wie man zu den "optimalen" Werten für Systemparameter kam.

- Der erste Schritt des Monitoring und Tuning sollte darauf zielen, Konfliktsituationen, wie etwa Thrashing oder Contention, zu vermeiden, also einen störungsfreien Betriebsablauf zu erreichen.

Die schönsten Früchte sind sicherlich durch Tuning von Anwendungsprogrammen zu ernten. Ungeklärt ist nur noch, ob der Chef-Optimierer dem strukturierenden und modularisierenden Chef-Programmierer danach noch in die Augen sehen kann.