RechenleistungDie Rechenleistung (auch Datenverarbeitungsleistung oder Performanz, englisch computing power oder performance genannt) ist ein Maß für Rechenmaschinen und Datenverarbeitungs- (kurz DV-Systeme) oder informationstechnische Systeme (kurz IT-Systeme). In der Regel steht dabei die Datenverarbeitungsgeschwindigkeit (für die Berechnungen pro Zeitspanne), umgangssprachlich auch kurz Geschwindigkeit oder Schnelligkeit genannt, der eingesetzten Maschinenteile (wie zum Beispiel der oder die Haupt- und Grafikprozessor-Einheiten) sowie die Geschwindigkeit einzelner Anwendungen (wie zum Beispiel Simulationsberechnungen oder die Bearbeitung großer Datenbankverwaltungen) im Mittelpunkt der Betrachtung und seltener auch die Rechenleistung ganzer IT-Systeme, wie etwa Großrechner oder der Verbund derselben in sogenannten Supercomputern.[1] Darüber hinaus wird mit der Leistung auch die physikalische Leistung eines IT-Systems beschrieben, wobei die verrichtete Arbeitsmenge oder die aufgewendete Energie pro Zeitspanne betrachtet wird.[2] Weitere EingrenzungenIm Sinne von „wie schnell“ bedeutet Leistung, 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 Hintergrundauftrages. „Wie schnell“ kann aber auch die Frage sein, wie viele Aufträge das DV-System pro Zeitspanne erledigen kann. Dies ist der Auftragsdurchsatz. Neben dieser Beschreibung wird der Begriff auch für andere Eigenschaften wie Funktionalität, Energieeffizienz oder Zuverlässigkeit verwendet.[3] Komponenten- und SystemleistungKomponentenleistungKomponentenleistung 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ätschaft, 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. SystemleistungMit Systemleistung wird die Leistung eines kompletten DV-Systems bezeichnet, das aus einer Vielzahl von Komponenten bestehen kann. Entsprechende Teile der DV-Systeme können einzelne Softwarekomponenten (Anwendungssoftware und Betriebssystem), Rechner (zum Beispiel Dateiserver), Rechnernetze (zum Beispiel Computercluster) oder spezielle Geräte (zum Beispiel Switches) sein. Weiterhin kommt es darauf an, wie effizient Algorithmen implementiert sind und wie die Hard- und Software konfiguriert ist. 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. 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. Kenngrößen und LeistungskriterienEs gibt eine große Anzahl von Kenngrößen, welche zur Leistungsbewertung herangezogen werden. In vielen Fällen sagen diese Kennzahlen nur wenig über die tatsächliche Leistungsfähigkeit des Systems aus.[1]
Messung versus VorhersageDV-Leistung wird mit Leistungsgrößen beschrieben. Zur Ermittlung von Zahlenwerten solcher Größen gibt es die folgenden Wege: MessungMessung (englisch measurement) ist die experimentelle Bestimmung von DV-Leistungswerten mit dem real aufgebauten DV-System. Der dem System zugeführte Auftragsstrom kann von realen Benutzern erzeugt werden (reale Last) oder durch einen Benutzersimulator (simulative Last). Die simulative Last kann eine individuelle Last meist im Rahmen eines Lasttests sein oder eine standardisierte Last für ein Benchmark-Vergleich. Es wird zwischen Software-Messung und Hardware-Messung unterschieden.
VorhersageVorhersage ist eine Vorgehensweise, bei der die Zahlenwerte von DV-Leistungsgrößen mittels mathematisch-analytischer Verfahren oder mittels Simulationsverfahren bestimmt werden. Anders als bei den Messmethoden muss bei der berechnenden Leistungsbewertung kein reales System vorhanden sein. 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. Besonders in der Kommunikationstechnik bietet es sich an, das System als Graph zu modellieren (graphentheoretische Beschreibung). Die Komponenten werden als Knoten dargestellt. Verbindungen zwischen den Komponenten werden als Kanten repräsentiert. Jede Kante hat eine Maximalkapazität, welche nicht überschritten werden darf und einen aktuellen Fluss. Das entstandene Netzwerk lässt sich nun bewerten, indem der größtmögliche Fluss zwischen zwei Komponenten bestimmt wird. Wird das paarweise für alle Knoten durchgeführt, so lassen sich langsame Komponenten ausfindig machen. Eine verkehrstheoretische Beschreibung (Verkehrstheoretisches Modell) geht von einer Warteschlange mit Aufträgen aus, welche von einer Bedienstation abgearbeitet wird. Die Aufträge erreichen die Warteschlange mit einer mittleren Ankunftsrate und verlassen die Bedienstation mit einer mittleren Bedienrate . Die Verkehrsintensität wird durch den Quotienten beschrieben. Das System arbeitet nur vernünftig, solange ist. Andernfalls kommt es zum Überlauf. Mit diesem Modell lassen sich verschiedene Systeme darstellen. Ein Rechner ohne Pipelining mit nur einem Prozessor bekommt als Verteilungsfunktion eine negative Exponentialverteilung. Pipeline-Prozessoren mit Stufen werden mit der Erlang-Verteilung modelliert. Für Multiprozessorsysteme nutzt man eine Hyperexponentialverteilung -ter Ordnung
Ein weiterer Versuch, die Leistung von Prozessoren analytisch zu vergleichen, sind Mixes und Kernprogramme. Diese Versuche sind allerdings relativ aufwändig und werden heute kaum noch verwendet.[4][5][6] Dabei werden die Befehlsausführungszeit von unterschiedlichen Befehlstypen nach der erwarteten relativen Häufigkeit ihres Auftretens summiert und als mittlere Befehlsausführungszeit bewertet (Befehltmixe). Kernprogramme sind hingegen Lösungen für typische, abgebgrenzte Aufgaben, die für den zu bewertenden Rechner geschrieben werden. Sie werden jedoch nicht zur Ausführung gebracht. Ziel ist es, die Ausführungszeit auf Grundlage der einzelnen Befehlsausführungszeiten zu bestimmen. Bewertung der DV-LeistungLeistungswerte (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:
Benchmark und LasttestWährend das Ziel des Lasttests ist, einen Nachweis zu erbringen ob die zu erwartende Last in geforderter Zeit abgearbeitet werden kann, ist es das Ziel des Benchmarks eine Kennzahl zu ermitteln die zwischen verschiedenen Systemen verglichen werden kann.[7] Der Lasttest kann so gestaltet sein, dass reale Benutzer den Laststrom erzeugen (reale Last). Der Laststrom kann aber auch durch einen Simulator, welcher die gesamte Benutzerschaft detailliert simuliert, erzeugt werden (simulative Last). Ein Benchmark verwendet stets eine standardisierte, simulative Last um die Ergebnisse vergleichen zu können. Um genauere Ergebnisse zu erreichen, muss eine Messsoftware eingesetzt werden, welche das Auftragsgeschehen genau protokolliert und nach Beendigung des Versuchs die Auswertung (Ermittlung der DV-Leistungsgrößen) vornimmt. 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. LeistungsdatenbankenFachzeitschriften und -magazine veröffentlichen regelmäßig Rankings zur Leistungsfähigkeit von Rechnersystemen oder -komponenten. Diese werden durch Kennzahlen oder Benchmarks bestimmt. Eine sehr bekannte Datenbank, die TOP500, listet die 500 leistungsfähigsten Superrechner der Welt auf. Hierzu wird der LINPACK-Benchmark verwendet.[8] StandardsIn sich vollständige Vorschläge zur Benchmark-Methodik und zu DV-Leistungsgrößen machen die Normen DIN 66273 „Messung und Bewertung der Leistung von DV-Systemen“ und ISO 14756 „Messung und Bewertung der Leistung und der Software-Effizienz von DV-Systemen“. 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. Der Application Response Measurement (ARM), ist ein Standard der Open Group und dient zur Leistungsmessung von Transaktionen aus der Sicht des Benutzers. Variable LeistungIn der Regel ist die Leistung eines informationstechnischen Systems konstant. Jedoch kann aus Gründen der Abwärtskompatibilität oder um Energie zu sparen eine Verringerung der Leistung zweckmäßig sein. Die Turbo-Taste sorgte bei PCs der 8086er bis Pentium-Ära für Abwärtskompatibilität zum IBM-Standard. Dieses erfolgte oft durch Verringerung des Taktes, aber auch durch Abschalten des Level-1-Cache oder eine Verringerung der Taktfrequenz des Front Side Bus. In modernen Notebooks hingegen reduzieren Technologien wie PowerNow!, Cool’n’Quiet oder Intel-SpeedStep-Technologie die Leistung, wenn diese nicht gebraucht wird, um die knappen Energieressourcen in den Akkumulatoren zu schonen. Dieses kann durch Verringerung des Taktes oder der Kernspannung bzw. Abschaltung einzelner Prozessoren bei Mehrprozessorsystemen geschehen. Literatur
Weblinks
Einzelnachweise
|