- Performance (Informatik)
-
Das Wort Leistung (engl. performance /pə'fɔ:məns/) wird in der Informatik verwendet, um das Vermögen eines Datenverarbeitungssystems (kurz: DV-System) zu beschreiben, Aufgaben allgemein (Funktionalität) oder auf bestimmte Weise (schnell, gleichzeitig, ununterbrochen usw.) auszuführen.
Inhaltsverzeichnis
Wortbedeutung
- Anzahl an komplexen Funktionen
Leistung kennzeichnet die Menge der von einem DV-System ausführbaren Tätigkeiten, ähnlich dem Leistungskatalog eines Dienstleistungsunternehmens. Ein DV-System gilt in diesem Zusammenhang als sehr leistungsfähig, wenn es einer großen Anzahl komplexer Funktionen fähig ist; es gilt als weniger leistungsfähig, wenn es über einen nur kleinen Funktionsumfang verfügt.
- Zuverlässigkeit
Eine zweite Bedeutung von Leistung bezieht sich auf den Aspekt, wie beständig das DV-System seine Funktionen bereitstellt, etwa wie lange es im Mittel ohne Unterbrechung (Störung) arbeitet und wie verlässlich seine Ergebnisse - beispielsweise Rechenergebnisse, Ergebnisse einer Datenbank-Recherche – inhaltlich richtig sind. Dies sind Zuverlässigkeitseigenschaften.
- Geschwindigkeit
Schließlich wird unter Leistung verstanden, wie schnell ein DV-System arbeitet. Zum Beispiel bedeutet die Frage „wie schnell“, wie lange das DV-System zur Erledigung eines Bearbeitungsauftrages braucht. Ein solcher Auftrag kann etwa die Online-Reaktion auf einen Mausklick sein oder aber auch die Abwicklung eines großen Hintergrundauftrags. Dies ist die Auftragserledigungszeit. „Wie schnell“ kann aber auch die Frage sein, wie viele Aufträge das DV-System pro Zeiteinheit erledigen kann. Dies ist der Auftragsdurchsatz. Die Bedeutung von Leistung im Sinne von „wie schnell“ ist in der Informatik die am meisten verwendete und wird durch die Bezeichnung DV-Leistung (engl. computer performance) präzisiert. Eine Kennzahl hierfür ist die so genannte Response ratio.
Messung versus Vorhersage
DV-Leistung wird mit Leistungsgrößen beschrieben. Zur Ermittlung von Zahlenwerten solcher Größen gibt es zwei unterschiedliche Wege:
- Messung (engl. measurement)
Messung ist die experimentelle Bestimmung von DV-Leistungswerten mit dem real aufgebauten DV-System. Hierbei ist zu unterscheiden, ob der dem System zugeführte Auftragsstrom von realen Benutzern erzeugt wird (reale Last) oder durch einen Benutzersimulator (simulative Last).
- Vorhersage (engl. prediction)
Dies ist eine Vorgehensweise, bei der die Zahlenwerte von DV-Leistungsgrößen mittels mathematisch-analytischer Verfahren oder mittels Simulationsverfahren bestimmt werden. Bei den analytischen Verfahren werden das DV-System und seine Benutzer durch ein mathematisches Modell dargestellt und die DV-Leistungswerte rein rechnerisch ermittelt. Bei den Simulationsverfahren werden sowohl das DV-System wie auch seine Benutzer simuliert und aus diesem simulierten Geschehen die Zahlenwerte der DV-Leistungsgrößen bestimmt. Sowohl bei den analytischen Verfahren wie auch bei den Simulationsverfahren sind die Ergebnisse im Allgemeinen nur Näherungs- bzw. Schätzwerte. Sie haben im Gegensatz zu Werten aus Messungen mit einem realen DV-System den Charakter einer Vorhersage beziehungsweise Vorausberechnung (engl. prediction methods).
Bewertung der DV-Leistung
Leistungswerte (egal ob mittels Messung oder mittels Vorhersagemethoden ermittelt) sind Zahlenwerte physikalischer Größen, die zwar wichtig und interessant sind, die aber für sich allein gesehen noch keine Aussage zu der wichtigen Frage machen, ob das DV-System die (Leistungs-)Bedürfnisse seiner Benutzerschaft erfüllt. Diese Bedürfnisse müssen also zahlenmäßig definiert werden.
Sodann muss ein Vergleich dieser (geforderten) Werte mit den vom DV-System erbrachten Leistungswerten durchgeführt werden. Das Ergebnis dieses Vergleichs ist die Aussage, ob das DV-System ausreichend ist, um die Benutzerbedürfnisse zu befriedigen. Dies ist die Bewertung. Damit kommt man zu dem von den Benutzern letztendlich benötigtem Ergebnis „nicht ausreichend“, „ausreichend“, „übererfüllt“ usw. Die Skala einer solchen Endaussage könnte auch detaillierter gewählt werden.
Hingewiesen sei noch auf folgende Sachverhalte:
- Die Werte von DV-Leistungsgrößen eines betrachteten Systems sind konkrete Zahlen. Sie würden sich nur ändern, wenn das System geändert würde (zum Beispiel durch den Austausch von Hardwarekomponenten, wie den Prozessor oder eine Speichereinheit oder von Softwarekomponenten, etwa die Betriebssystemversion und/oder von Anwendungssoftware mit anderer Software-Effizienz).
- Dagegen sind die Bewertungsergebnisse von der Benutzerschaft, auf die bei der Bewertung Bezug genommen wird, abhängig. So kann beispielsweise die Bewertung eines betrachteten DV-Systems für die Benutzerschaft A sehr gut ausfallen, während dasselbe System für die Benutzerschaft B unbefriedigend ist.
Komponenten- und Systemleistung
Komponentenleistung
Komponentenleistung bezeichnet die Leistung einer einzelnen Komponente eines DV-Systems, beispielsweise des Prozessors, des Hauptspeichers oder der Netzwerk-Verbindung. Die Benutzerschaft einer Komponente ist die sie umgebende Geräteschaft, etwa die maschinenbefehlserzeugende Umgebung des Prozessors, die speicherzugriffserzeugende Umgebung eines Speichersystems oder die Datentransportaufträge erzeugende Menge von Knoten in einem Rechnernetz. Die DV-Leistung von Komponenten beschreibt man mit Leistungsgrößen wie Verteilung der Auftragserledigungszeit, Durchsatzraten von Aufträgen oder mittlere Antwortzeit. Gegebenenfalls werden solche Größen noch nach Auftragsarten differenziert, zum Beispiel Schreib- und Leseaufträge bei Speichersystemen. Mit Komponentenleistung wird in diesem Fall die Menge aller Leistungsgrößen bezeichnet. Zur Beurteilung, ob die Komponente eine zufriedenstellende Leistung hat, ist eine Bewertung vorzunehmen, die die ermittelten Leistungswerte den von der Benutzerschaft (also der maschinellen Umgebung der Komponente) geforderten Werten der gewählten Leistungsgrößen gegenüberstellt.
Systemleistung
Mit Systemleistung wird die Leistung eines kompletten DV-Systems bezeichnet, das aus einer Vielzahl von Komponenten bestehen kann. Entsprechende DV-Systeme können einzelne Applikationen (zum Beispiel ein HTTP-Daemon), Rechner (zum Beispiel Dateiserver), Rechnernetze (zum Beispiel Computercluster) oder spezielle Geräte (zum Beispiel Switches) sein. Die Benutzerschaft kann sowohl aus menschlichen Benutzern („normale” Benutzer, Administratoren, …) als auch aus weiteren DV-Systemen bestehen. Der Web-Auftritt der Wikipedia wird beispielsweise sowohl von menschlichen Benutzern als auch von anderen DV-Systemen wie Suchmaschinen verwendet. Die DV-Leistung eines solchen Systems beschreibt man – ebenso wie bei der Komponentenleistung – mit Leistungsgrößen wie Antwortzeit-Verteilung, mittlere Antwortzeit, Durchsatzrate und Ähnlichem. Zweckmäßigerweise detailliert man diese Größen noch nach den verschiedenen Auftragsarten, die in dem von der gesamten Benutzerschaft erzeugten Auftragsstrom vorkommen. Mit Systemleistung bezeichnet man die Menge aller gemessenen und vorhergesagten Leistungsgrößen. Auch bei der Systemleistung dienen zur Leistungsbewertung in der Regel Soll- und Schwellwerte, mit denen die gemessenen oder vorhergesagten Ist-Werte verglichen werden.
Es wurde wiederholt versucht, Systemleistung aus den bekannten Komponentenleistungen zu berechnen. Die Erfahrung zeigt, dass die Zusammenhänge im Allgemeinen zu komplex sind, so dass dies nicht gelingt. Verlässliche Systemleistungswerte erhält man nur aus Messungen oder (mit Einschränkungen) aus Vorhersagen (prediction methods).
Aktuelle und maximale Leistung
Bei einer Ermittlung von DV-Leistungswerten (sowohl im Falle einer Messung wie auch beim Einsatz von analytischen Verfahren oder von Simulationsverfahren) steht einem betrachteten DV-System eine betrachtete Benutzerschaft gegenüber. Die ermittelten Leistungswerte gelten für die aktuelle Paarung Messobjekt-Benutzerschaft. Dies ist die aktuelle DV-Leistung. Sie ändert sich, wenn man die Benutzerschaft ändert. Sie ist also keine feststehende Leistungsaussage über das Messobjekt. Um einen Vergleich mit dem Auto zu wagen, könnte man sagen, dass die aktuelle DV-Leistung der vom Motor in einer definierten Fahrsituation abgegebenen mechanischen Leistung entspricht.
Sehr oft wird aber gewünscht, den maximal möglichen Leistungswert des Messobjektes zu erfahren. Um den obigen Vergleich nochmals zu wagen, könnte man sagen, dass diese maximale DV-Leistung der dem Motor möglichen maximalen mechanischen Leistung, welche in den Fahrzeugpapieren eingetragen ist, entspricht. Dass ein solcher Maximalwert der DV-Leistung existiert, ist meist nicht sichergestellt. Die naive Vorstellung ist, den Laststrom schrittweise zu steigern „bis eine gewisse Grenze erreicht ist“. Aber wie ist diese Grenze definierbar? Es könnte zum Beispiel je ein Maximalwert der mittleren Antwortzeit für bestimmte Auftragsarten festgelegt werden und gleichzeitig ein Mindestwert für den Durchsatz. Ob diese Werte für alle möglichen Benutzerschaften des Messobjektes gültig/sinnvoll sind, ist die Frage. Zu definieren, was die Maximalleistung des betrachteten Messobjektes ist, gelingt im Allgemeinen nur mit großen Einschränkungen. Man muss sich also im Klaren darüber sein, dass die so oft gewünschte Angabe einer Maximalleistung wegen grundsätzlicher Probleme nicht oder nur sehr eingeschränkt möglich ist. Der mathematische Hintergrund für dieses Problem ist, dass die DV-Leistung kein Skalar, sondern ein Werte-Tupel ist. Für ein solches existiert – im Gegensatz zum Skalar – im Prinzip kein Maximalwert.
Benchmark und Lasttest
Den Messversuch zur Bestimmung von DV-Leistungswerten eines betrachteten DV-Systems nennt man Benchmark oder auch Lasttest. Ein Benchmark hat als erstes die gewünschten Leistungsgrößen zu definieren, dann die Benutzerschaft und schließlich die von dieser verlangten funktionalen Fähigkeiten des Messobjektes „DV-System“. In weiterer Detaillierung beschreibt der Benchmark das Mengengerüst des von den Benutzern erzeugten Laststromes, die von der System- und Anwendungssoftware des DV-Systems zu erbringenden Funktionen, die zur Datenspeicherung benötigten Kapazitäten usw. Weiterhin hat der Benchmark die von der Benutzerschaft verlangten DV-Leistungswerte (Benutzerbedürfnissse) anzugeben und festzulegen, wie die Leistungsbewertung zu erfolgen hat.
Der Benchmark muss eine Messsoftware zur Verfügung stellen, die das Auftragsgeschehen genau protokolliert und nach Beendigung des Versuchs die Auswertung (Ermittlung der DV-Leistungsgrößen) vornimmt. Er kann so gestaltet sein, dass reale Benutzer den Laststrom erzeugen (reale Last). Der Benchmark kann aber auch so vorgehen, dass der Laststrom durch einen Simulator, welcher die gesamte Benutzerschaft detailliert simuliert, erzeugt wird (simulative Last). In diesem Falle muss der Benchmark (zusätzlich) den Benutzersimulator zur Verfügung stellen. Von dessen Qualitäten hängt es ab, ob der erzeugte Laststrom den Vorgaben entspricht. Es muss für jeden einzelnen Messversuch eine Kontrolle stattfinden, ob dies der Fall war. Wenn nein, dann ist das Benchmarkergebnis wertlos.
Im Laufe der Zeit ist eine enorme Menge von (Computer-) Benchmarks entwickelt und beschrieben worden, sowohl auf der wissenschaftlichen Ebene, wie auch von der Industrie und der Wirtschaft. Diese Benchmarks haben fast alle unterschiedliche Prinzipien und DV-Leistungsgrößen, sodass Messergebnisse im Allgemeinen nicht vergleichbar sind. Viele dieser Benchmarks hatten eine nur kurze Aktualität und sind wieder verschwunden. Viele weitere sind zwar noch bekannt, sind aber nur lückenhaft dokumentiert, sodass sie nicht mehr eingesetzt werden können. Viele Benchmarks unterliegen Lizenzbestimmungen und sind also kostenpflichtig. Nur wenige Benchmarks sind im Sinne von „open source“ frei verfügbar und ausreichend dokumentiert.
In sich vollständige Vorschläge zur Benchmark-Methodik und zu DV-Leistungsgrößen machen die Normen DIN 66273 und ISO 14756. Die ISO-Norm hat die Prinzipien von DIN 66273 übernommen und erweitert. Messungen, die nach DIN 66273 durchgeführt worden sind, sind auch konform zu ISO 14756. Die ISO-Norm erweitert das Anwendungsfeld über die Messung und Bewertung der DV-Leistung hinaus auf die Messung der (Laufzeit-) Effizienz von System- und/oder Anwendungssoftware. Die DIN-Norm normt die Benchmark-Methodik, verzichtet wegen der Kurzlebigkeit von Benchmarks aber darauf, konkrete Benchmarks zu definieren. Die ISO-Norm enthält darüber hinaus jedoch noch Beispiele vollständiger Benchmarks.
Anmerkungen
- Eine Größe, die früher viel verwendet wurde um die Leistung eines Computers zu charakterisieren, ist die (mittlere) Anzahl ausführbarer Maschinenbefehle pro Zeiteinheit (MIPS = million instructions per second). Diese Größe ist eine Komponentenleistungsgröße und keine Systemleistungsgröße. Sie ist ein gutes Beispiel dafür, dass Komponentenleistungsgrößen im Allgemeinen nicht geeignet sind, die den Benutzer interessierende Systemleistung zu beschreiben. Der Grund ist, dass es in weitem Maße von der Rechnerarchitektur (insbesondere dem Maschinenbefehlssatz) abhängt, wie viele Maschinenbefehle ausgeführt werden müssen, um einen von einem Benutzer gewünschten Datenverarbeitungsvorgang durchzuführen.
- Zum Vergleich der Leistung von Computern wurde in der Vergangenheit oft auf die Taktfrequenz verwiesen. Diese ist jedoch weder eine Systemleistungsgröße noch eine Komponentenleistungsgröße, sondern betrifft eine noch weiter innen liegende Schicht. Faktoren wie Prozessorarchitektur, Anzahl der Prozessorkerne, Geschwindigkeit der internen Busse, Speichergröße (Cache und Arbeitsspeicher) und andere beeinflussen die Leistung erheblich. Ein Vergleich nur über die Taktfrequenz ist irreführend.
- Gelegentlich taucht der Begriff Latenzzeit auf. Dies ist ein anderer Ausdruck für Reaktionszeit (Auftragsbearbeitungszeit nach einem Interrupt) mit der Nebenbedingung, dass ein gewisser oberer Wert nicht überschritten wird. Es ist die garantierte maximale Antwortzeit. Sie ist eine von vielen Varianten von Systemleistungsgrößen. In Termen der ISO-Norm ausgedrückt ist die Latenzzeit die Zeitklassengrenze (ISO: time class limit) der Zeitklasse Nr.1 (ISO: time class 1) der Durchlaufzeitforderung (ISO: timeliness function) der Auftragsart (ISO: task type) „Reaktion auf einen Interrupt“. Diese Durchlaufzeitforderung hat nur eine einzige Zeitklasse.
Literatur
Standardwerke
- D. Ferrari: Computer Systems Performance Evaluation, Prentice-Hall Inc., Englewood Cliffs, New Yersey, 1978, ISBN 0-13-165126-9
- D. Ferrari, G. Serazzi, A.Zeigner: Measurement and Tuning of Computer Systems, Prentice-Hall Inc., Englewood Cliffs, New Yersey, 1983, ISBN 0-13-568519-2
- R. Jain: The Art of Computer Systems Performance Analysis, John Wiley, New York, 1991, ISBN 0-471-50336-3
- G. Bolch: Leistungsbewertung von Rechensystemen mittels analytischer Warteschlangenmodelle, Leitfäden und Monographien der Informatik, B. G. Teubner, Stuttgart,1989, ISBN 3-519-02279-6
Neuere Werke
- H. Langendörfer: Leistungsanalyse von Rechensystemen (Messen, Modellieren, Simulation), C. Hanser, München, Wien, 1992, ISBN 3-446-15646-1
- A. O. Allen: Introduction to Computer Performance Analysis with Mathematica, AP Professional, Harcourt Brace & Company Publishers, Boston, 1994, ISBN 0-12-051070-7
- W. Dirlewanger: Messung und Bewertung der DV-Leistung auf Basis der Norm DIN 66273, Hüthig, Heidelberg, 1994, ISBN 3-7785-2147-0
- M. Haas, W. Zorn: Methodische Leistungsanalyse von Rechensystemen, R. Oldenbourg, München, Wien, 1995, ISBN 3-486-20779-2
- C. Jones: Applied Software Measurement, Assuring Productivity and Quality, McGraw-Hill, New York, 2nd Ed, 1996, ISBN 0-07-032826-9
- W. Dirlewanger: Measurement and Rating of Computer Systems Performance and of Software Efficiency – An Introduction to the ISO/IEC 14756 Method and a Guide to its Applications, Online Verlag Kassel-University-Press-GmbH, Kassel, 2006, www.upress.uni-kassel.de, ISBN 3-89958-233-0 und ISBN 978-3-89958-233-8
Siehe auch
- Anzahl an komplexen Funktionen
Wikimedia Foundation.