Benchmark (Computer)
Benchmarkings sind genormte Mess- und Bewertungsverfahren, mit deren Hilfe man die Leistung von EDV-Systemen oder Systemklassen ermitteln und diese nach bestimmten Kriterien miteinander vergleichen kann. Bekannt sind die Benchmark-Tests für die Hardware-Leistung bei Computersystemen. Benchmarks werden aber ebenfalls verwendet, um die Leistung von Programmiersprachen, mithin Interpretern sowie Compilern und deren Laufzeitsystemen auf derselben Hardware zu vergleichen. Dann spricht man von einem Software-Benchmark. Ein Benchmark im Allgemeinen ist immer ein Programm, das ein (oft aus der Mathematik stammendes, aufwendiges) Problem löst. Beispiele sind das Lösen linearer Gleichungssysteme (LINPACK) oder die Berechnung von Mersenne-Primzahlen.
Geschichte
- 1970er Jahre: Messung in MIPS und FLOPS
- Frühe 1980er Jahre: Messung in Dhrystones und Whetstones
- Seit 1989: Anwendungs-Benchmark-Tests der Standard Performance Evaluation Corporation (SPEC). Es handelt sich um eine Serie von Anwendungen (z. B. neuronale Netze, finite Elemente, Videoenkodierung usw.), die in Integer-bezogene (SPECint) und Floatingpoint-bezogene (SPECfp)-Programme eingeteilt werden. Entsprechend bildet das Endergebnis der Tests immer zwei Zahlen, die die Leistung bezogen auf eine Referenzmaschine (Benchmark) angeben. Bei Spec2000 ist dies z. B. eine Sun UltraSparcIIi/256MB.
Hardware-Benchmarktests schließen traditionell nur CPU- und Speicherzugriffsleistung ein. Grafikkarte, Massenspeicher usw. werden nicht getestet.
Die SPEC-Aktualisierung erfolgte im August 2006: SPECcpu 2006. Eine neue Version ist in Planung. Hierfür wurde 2008 ein „SPEC CPU Benchmark Search Program“ gestartet.
Die bekanntesten Benchmarks sind:
- LINPACK (Linear System Package)[1]
- Whetstone
- Dhrystone
- Standard Performance Evaluation Corporation (SPEC)
In letzter Zeit hat sich der Fokus von Benchmarks erweitert. Insbesondere die Einbeziehung von Energieverbrauch als Metrik hat sich etabliert und findet in diversen SPEC- (z. B. SPECpower) und TPC-Benchmarks Anwendung.
Daneben wird sich damit auseinandergesetzt, wie man gegenwärtige Trends in der Informationstechnik (IT) mit Hilfe von Benchmarks erfassen kann. Beispielsweise gibt es momentan mehrere Projekte, die sich mit Cloud Benchmarking oder mit dem Benchmarken von Peer-to-Peer-Systemen beschäftigen.
Beispiel für Hardware-Benchmarks
Tabelle einiger Dhrystone-Werte als Beispiel für Hardware-Benchmarks:
Typ | Mikroprozessor | Betriebssystem | Compiler | Dhrystones/sec., no reg | Dhrystones/sec., reg |
---|---|---|---|---|---|
IBM PC/XT | 8088-4.77Mhz | PC/IX | cc | 257 | 287 |
VAX 11/780 | UNIX 5.2 | cc | 1515 | 1562 | |
Compaq PIII/450 | NT4 | TCC 3.1/286/287 | 71.428 | ||
Compaq PIII/450 | NT4 | wcc 10.5/-otexan-fp5 | 250.000 | ||
FMS AthlonXP1800 | SUSE 8.2 | gcc | 2.016.129 | ||
FMS AthlonXP1800 | SUSE 8.2 | gcc -O3 | 5.050.505 |
Software-Benchmarks
Software-Benchmarks dienen dazu, die Leistungsfähigkeit unterschiedlicher Programmiersysteme bezüglich der Ausführungsgeschwindigkeit zu vergleichen. Bei der Erstellung eines Software-Benchmarks wird derselbe Algorithmus in verschiedenen Programmiersprachen implementiert und die Ablaufzeiten der Programme untereinander verglichen. Dabei ist es erforderlich, Experten für die verschiedenen Programmiersprachen zusammenzubringen, die den Algorithmus möglichst optimal für die jeweilige Programmiersprache umsetzen zu können. Ein klassisches Beispiel für solche Benchmarks ist die Ackermannfunktion.
Anwendungs-Benchmarks
Anwendungs-Benchmarks dienen dazu, die Leistungsfähigkeit von Rechnersystemen beim Zusammenspiel aller Hardware- und Softwarekomponenten zu beurteilen. Dazu werden realitätsnahe Anwendungsszenarien erstellt. Die Laufzeit dieser automatisiert wiedergegebenen Anwendungsszenarien erlaubt einen einheitlichen Vergleich verschiedener Rechnersysteme. Auch wichtige Größen wie Energieverbrauch und Akkulaufzeit bei mobilen Geräten lassen sich hiermit vergleichbar ermitteln.
Beispiele für Anwendungsbenchmarks sind
- SysMark, MobileMark, EEcoMark[2]
- 3DMark, PCMark, PowerMark[3]
- Die meisten Computerspiele haben eine Benchmarkfunktion.
Manipulationen
Ist die verwendete Benchmarksoftware bekannt, bietet das einen Spielraum für Manipulationen. In der Praxis können Gerätetreiber, Compiler oder auch Befehlssätze derart optimiert sein, dass gängige Benchmarks besonders schnell ablaufen.[4]
Siehe auch
Einzelnachweise
- Frequently Asked Questions on the Linpack Benchmark and Top500 netlib.org, 5. August 2007, Abgerufen am 22. Oktober 2013
- Sysmark 2012 - Bapco kündigt neuen Benchmark an, den AMD nicht mag In: golem.de, 22. Juni 2011. Abgerufen am 10. Oktober 2013
- Neuer 3DMark erscheint In: heise.de, 31. Januar 2013. Abgerufen am 10. Oktober 2013
- Tricky - Merkwürdigkeiten bei VideoLogics Apocalypse 3D In: c't 4/97. Abgerufen von heise.de am 10. Oktober 2013
Weblinks
- Benchmark - Internet & eCommerce Lexikon
- The Computer Language Benchmarks Game (englisch)
- SPEC CPU Benchmark Search Program (englisch)
- Liste der 500 schnellsten Computersysteme der Welt basiert auf dem LINPACK Benchmark (englisch)