Benchmark (computing)

Eine grafische Demo, die als Benchmark des OGER Motor.

Im Computer, a Benchmark ist der Akt des Ausführens a Computer Programm, eine Reihe von Programmen oder andere Operationen, um den Verwandten zu bewerten Leistung eines Objekts, normalerweise durch Ausführen einer Reihe von Standard Tests und Prüfungen dagegen.[1]

Der Begriff Benchmark wird auch üblicherweise für die Zwecke der kunstvoll gestalteten Benchmarking -Programme selbst verwendet.

Benchmarking ist normalerweise mit der Beurteilung der Leistungsmerkmale von verbunden Computerhardwarezum Beispiel die schwebender Punktbetrieb Leistung von a Zentralprozessor, aber es gibt Umstände, in denen die Technik auch auf anwendbar ist Software. Software -Benchmarks werden beispielsweise dagegen ausgeführt Compiler oder Datenbankmanagementsystem (DBMS).

Benchmarks bieten eine Methode zum Vergleich der Leistung verschiedener Subsysteme über verschiedene Chips/Systeme hinweg Architekturen.

Zweck

Wie Rechnerarchitektur Fortgeschrittene wurde schwieriger, die Leistung verschiedener Computersysteme einfach zu vergleichen, indem sie ihre Spezifikationen betrachten. Daher wurden Tests entwickelt, die den Vergleich verschiedener Architekturen ermöglichten. Zum Beispiel, Pentium 4 Prozessoren, die im Allgemeinen mit einer höheren Taktfrequenz betrieben werden als Athlon XP oder Powerpc Prozessoren, die nicht unbedingt zu mehr Rechenleistung führten; Ein Prozessor mit einer langsameren Taktfrequenz kann ebenso wie ein Prozessor mit höherer Frequenz funktionieren. Sehen Bogomips und die Megahertz Mythos.

Benchmarks sind so konzipiert, dass sie eine bestimmte Art der Arbeitsbelastung für eine Komponente oder ein System nachahmen. Synthetische Benchmarks tun dies durch speziell erstellte Programme, die der Komponente die Arbeitsbelastung auferlegen. Anwendungsbenchmarks werden reale Programme im System ausführen. Während Anwendungsbenchmarks in der Regel ein viel besseres Maß für die reale Leistung in einem bestimmten System bieten, sind synthetische Benchmarks nützlich, um einzelne Komponenten wie eine zu testen Festplatte oder Netzwerkgerät.

Benchmarks sind besonders wichtig in CPU -Design, geben Prozessorarchitekten die Fähigkeit, Kompromisse zu messen und Kompromisse einzulegen mikroarchitektural Entscheidungen. Zum Beispiel, wenn ein Benchmark den Schlüssel extrahiert Algorithmen einer Anwendung enthält sie die leistungsempfindlichen Aspekte dieser Anwendung. Das Ausführen dieses viel kleineren Ausschnitts auf einem zyklusgenauen Simulator kann Hinweise darauf geben, wie die Leistung verbessert werden kann.

Vor 2000 wurden Computer- und Mikroprozessorarchitekten verwendet Spezifikation Dazu waren die Unix-basierten Benchmarks von Spec sehr lang und somit unhandlich, um intakt zu verwenden.

Es ist bekannt, dass Computerhersteller ihre Systeme so konfigurieren, dass sie bei Benchmark -Tests, die nicht in der realen Verwendung repliziert werden, unrealistisch hohe Leistung liefern. In den 1980er Jahren konnten einige Compiler beispielsweise einen bestimmten mathematischen Betrieb erkennen, der in einem bekannten Schwimmpunkt-Benchmark verwendet und den Betrieb durch einen schnelleren mathematisch äquivalenten Betrieb ersetzen. Eine solche Transformation war jedoch außerhalb des Benchmarks bis Mitte der neunziger Jahre selten nützlich RISC und VLIW Architekturen betonten die Bedeutung von Compiler Technologie in Bezug auf Leistung. Benchmarks werden jetzt regelmäßig von verwendet Compiler Unternehmen, die nicht nur ihre eigenen Benchmark -Ergebnisse, sondern auch die echte Anwendungsleistung verbessern.

CPUs mit vielen Ausführungseinheiten - wie a Superscalar CPU, a VLIW CPU oder a Rekonfigurierbares Computer CPU - haben normalerweise langsamere Taktraten als eine sequentielle CPU mit ein oder zwei Ausführungseinheiten, wenn sie aus Transistoren erstellt werden, die genauso schnell sind. Trotzdem erledigen CPUs mit vielen Ausführungseinheiten in kürzerer Zeit häufig reale und Benchmark-Aufgaben als die angeblich schnellere CPU.

Angesichts der großen Anzahl der verfügbaren Benchmarks kann ein Hersteller normalerweise mindestens einen Benchmark finden, der zeigt, dass sein System ein anderes System übertrifft. Es kann gezeigt werden, dass sich die anderen Systeme mit einem anderen Benchmark überdauern.

Hersteller berichten üblicherweise nur über diese Benchmarks (oder Aspekte von Benchmarks), die ihre Produkte im besten Licht zeigen. Es ist auch bekannt, dass sie die Bedeutung von Benchmarks falsch darstellen und wiederum ihre Produkte im bestmöglichen Licht zeigen. Zusammengenommen werden diese Praktiken genannt Bench-Marketing.

Idealerweise sollten Benchmarks nur dann reale Anwendungen ersetzen, wenn die Anwendung nicht verfügbar oder zu schwierig oder kostspielig ist, um einen bestimmten Prozessor oder ein Computersystem zu portieren. Wenn die Leistung von entscheidender Bedeutung ist, ist der einzige Benchmark, der wichtig ist, die Anwendungssuite der Zielumgebung.

Funktionalität

Funktionen der Benchmarking -Software können Aufnahmen beinhalten/Exportieren die Leistung der Leistung zu a Kalkulationstabelle Datei, Visualisierung wie Zeichnen Zeilendiagramme oder farbcodiert Kacheln und pauzieren Sie den Prozess, um wieder aufzunehmen, ohne von vorne anfangen zu müssen. Software kann zusätzliche Funktionen haben, die für ihren Zweck spezifisch sind. Zum Beispiel kann die Festplattenbenchmarking -Software möglicherweise optional mit der Messung der Festplattengeschwindigkeit innerhalb eines bestimmten Bereichs der Festplatte und nicht der vollständigen Festplatte, Mess Zufallszugriff Lesegeschwindigkeit und Latenz, haben Sie eine "schnelle Scan" -Funktion, die die Geschwindigkeit durch Stichproben bestimmter Intervalle und Größen misst, und ermöglichen die Angabe a Datenblock Größe, bedeutet die Anzahl der angeforderten Bytes pro Read -Anfrage.[2]

Herausforderungen

Das Benchmarking ist nicht einfach und beinhaltet häufig mehrere iterative Runden, um zu vorhersehbaren, nützlichen Schlussfolgerungen zu gelangen. Die Interpretation von Benchmarking -Daten ist ebenfalls außerordentlich schwierig. Hier ist eine teilweise Liste der gemeinsamen Herausforderungen:

  • Anbieter neigen dazu, ihre Produkte speziell für Branchen-Benchmarks zu stimmen. Norton Sysinfo (SI) ist besonders leicht zu stimmen, da es hauptsächlich auf die Geschwindigkeit mehrerer Operationen voreingenommen ist. Verwenden Sie bei der Interpretation solcher Ergebnisse äußerste Vorsicht.
  • Einige Anbieter wurden vorgeworfen[3]
  • Viele Benchmarks konzentrieren sich ganz auf die Geschwindigkeit von Rechenleistunganderer wichtiger Merkmale eines Computersystems vernachlässigen, z. B.:
    • Servicequalitäten, abgesehen von der rohen Leistung. Beispiele für nicht gemessene Servicequalitäten umfassen Sicherheit, Verfügbarkeit, Zuverlässigkeit, Ausführungsintegrität, Erbringbarkeit, Skalierbarkeit (insbesondere die Fähigkeit, schnell und nicht zurücken zu können, Kapazitäten hinzufügen oder neu zuzuweisen). Und alle sind wichtig im Business Computing. Transaktionsverarbeitungsleistung Council Benchmark -Spezifikationen berücksichtigen diese Bedenken teilweise durch Angabe SÄURE Eigenschaftstests, Datenbankskalierbarkeitsregeln und Serviceebeneanforderungen.
    • Im Allgemeinen messen Benchmarks nicht Eigentumsgesamtkosten. Die Benchmark -Spezifikationen des Transaktionsverarbeitungsleistung des Rates berichten teilweise mit dieser Besorgnis, indem angeben Tco Formel. Die Kosten sind jedoch notwendigerweise nur teilweise, und die Anbieter sind für den Benchmark spezifisch (und nur) bekannt und entwerfen eine hochspezifische "Benchmark -Konfiguration" mit künstlich niedrigem Preis. Selbst eine winzige Abweichung vom Benchmark -Paket führt zu einem viel höheren Preis in der realen Erfahrung.
    • Einrichtungen belasten (Raum, Strom und Kühlung). Wenn mehr Strom verwendet wird, hat ein tragbares System eine kürzere Akkulaufzeit und erfordert häufiger das Aufladen. Ein Server, der mehr Strom und/oder Speicherplatz verbraucht, kann möglicherweise nicht in vorhandene Einschränkungen für Rechenzentrum -Ressourcen, einschließlich Kühleinschränkungen, passen. Es gibt echte Kompromisse, da die meisten Halbleiter mehr Strom benötigen, um schneller zu wechseln. Siehe auch Leistung pro Watt.
    • In einigen eingebetteten Systemen, bei denen der Speicher erhebliche Kosten ist, sind sie besser Codedichte kann die Kosten erheblich senken.
  • Verkäuferbenchmarks ignorieren tendenziell Anforderungen an Entwicklung, Test und Notfallwiederherstellung Computerkapazität. Anbieter berichten nur, was für die Produktionskapazität eng erforderlich sein könnte, um ihren anfänglichen Akquisitionspreis so niedrig wie möglich zu gestalten.
  • Benchmarks haben Schwierigkeiten, sich an weit verbreitete Server anzupassen, insbesondere an Personen mit zusätzlicher Sensibilität gegenüber Netzwerktopologien. Das Auftauchen von Raster ComputingInsbesondere kompliziert das Benchmarking, da einige Workloads "gitterfreundlich" sind, andere nicht.
  • Benutzer können sehr unterschiedliche Leistungserwartungen haben, als Benchmarks vermuten lassen. Insbesondere schätzen Benutzer Vorhersehbarkeit - Server, die sich immer treffen oder übertreffen Service Level Agreements. Benchmarks betonen eher die Durchschnittswerte (IT-Perspektive) als die maximalen Reaktionszeiten der schlimmsten Fall (Echtzeit-Computing Perspektive) oder niedrige Standardabweichungen (Benutzerperspektive).
  • Viele Serverarchitekturen verschlechtern sich dramatisch auf hohen (nahe 100%) Nutzungsniveau - "fallen von einer Klippe" - und Benchmarks sollten diesen Faktor (aber oft nicht) berücksichtigen. Insbesondere Anbieter veröffentlichen in der Regel die Server -Benchmarks bei etwa 80% der Nutzung - eine unrealistische Situation - und dokumentieren nicht, was mit dem Gesamtsystem passiert, wenn die Nachfrage über dieses Niveau hinausgeht.
  • Viele Benchmarks konzentrieren sich auf eine Anwendung oder sogar eine Anwendungsebene unter Ausschluss anderer Anwendungen. Die meisten Rechenzentren implementieren jetzt Virtualisierung Aus einer Vielzahl von Gründen, und das Benchmarking erholt sich immer noch mit dieser Realität, in der mehrere Anwendungen und Anwendungsstufen gleichzeitig auf konsolidierten Servern ausgeführt werden.
  • Es gibt nur wenige (falls vorhanden) hochwertige Benchmarks, mit denen die Leistung des Batch -Computing, insbesondere die gleichzeitige Stapel- und Online -Computing, messen kann. Batch Computing konzentriert sich viel mehr auf die Vorhersehbarkeit, langjährige Aufgaben vor den Fristen, wie z. B. Ende des Monats oder Ende des Geschäftsjahres, korrekt zu erledigen. Viele wichtige Kerngeschäftsprozesse sind batchorientiert und werden wahrscheinlich immer sein, wie z. B. Abrechnung.
  • Benchmarking -Institutionen ignorieren oft die grundlegende wissenschaftliche Methode oder folgen nicht. Dies umfasst, aber nicht beschränkt auf: kleine Stichprobengröße, mangelnde variable Kontrolle und die begrenzte Wiederholbarkeit der Ergebnisse.[4]

Benchmarking -Prinzipien

Es gibt sieben wichtige Eigenschaften für Benchmarks.[5] Diese Schlüsseleigenschaften sind:

  1. Relevanz: Benchmarks sollten relativ wichtige Merkmale messen.
  2. Repräsentativität: Benchmark -Leistungsmetriken sollten von Industrie und Akademie weitgehend akzeptiert werden.
  3. Eigenkapital: Alle Systeme sollten fair verglichen werden.
  4. Wiederholbarkeit: Benchmark -Ergebnisse können verifiziert werden.
  5. Kosteneffizienz: Benchmark-Tests sind wirtschaftlich.
  6. Skalierbarkeit: Benchmark -Tests sollten über Systeme hinweg funktionieren, die eine Reihe von Ressourcen von niedrig bis hoch besitzen.
  7. Transparenz: Benchmark -Metriken sollten leicht zu verstehen sein.

Arten von Benchmark

  1. Reales Programm
    • Textverarbeitungssoftware
    • Werkzeugsoftware von CAD
    • Anwendungssoftware des Benutzers (d. H.: MIS)
  2. Komponenten -Benchmark / Microbenchmark
    • Die Kernroutine besteht aus einem relativ kleinen und spezifischen Code.
    • Messen Sie die Leistung der grundlegenden Komponenten eines Computers[6]
    • kann zur automatischen Erkennung von Hardwareparametern des Computers wie der Anzahl der Register verwendet werden. Zwischenspeicher Größe, Speicherlatenz, etc.
  3. Kernel
    • Enthält Schlüsselcodes
    • Normalerweise vom tatsächlichen Programm abstrahiert
    • beliebter Kernel: Livermore Loop
    • Linpack Benchmark (enthält eine lineare lineare Algebra -Unterroutine, die in der FORTRAN -Sprache geschrieben wurde)
    • Die Ergebnisse sind in mflop/s dargestellt.
  4. Synthetischer Benchmark
    • Verfahren zur Programmierung der synthetischen Benchmark:
      • Nehmen Sie Statistiken aller Arten von Operationen aus vielen Anwendungsprogrammen vor
      • Erhalten Sie den Anteil jeder Operation
      • Schreiben Sie das Programm basierend auf dem obigen Anteil
    • Arten von synthetischen Benchmark sind:
    • Dies waren die ersten Computer -Benchmarks der Allgemeinbranche. Sie erzielen nicht unbedingt hohe Punktzahlen für moderne Pipelined -Computer.
  5. E/A -Benchmarks
  6. Datenbank -Benchmarks
    • Messen Sie die Durchsatz- und Antwortzeiten von Datenbankverwaltungssystemen (DBMS)
  7. Parallele Benchmarks
    • Wird für Maschinen mit mehreren Kernen und/oder Prozessoren oder Systeme verwendet, die aus mehreren Maschinen bestehen

Gemeinsame Benchmarks

Branchenstandard (geprüft und überprüfbar)

Open Source -Benchmarks

  • Zielen Sie Multiuser -Benchmark -Zusammensetzung aus einer Liste von Tests, die gemischt werden könnten, um einen „Lastmix“ zu erstellen, der eine bestimmte Computerfunktion auf jedem UNIX-Betriebssystem simuliert.
  • Bonnie ++ - Dateisystem und Festplatte Benchmark
  • Brl-CAD -plattformübergreifende Architektur-agnostische Benchmark-Suite basierend auf der Multithread-Strahlenverfolgungsleistung; Basis gegen einen VAX-11/780; und verwendet seit 1984 zur Bewertung der relativen CPU -Leistung, Compilerunterschiede, Optimierungsebenen, Kohärenz, Architekturunterschieden und Unterschieden des Betriebssystems.
  • Kollektives Wissen -Anpassbares, plattformübergreifendes Framework für Crowdsource-Benchmarking und Optimierung von Benutzer-Workloads (z. tiefes Lernen) über Hardware hinweg von Freiwilligen zur Verfügung gestellt
  • Koremark - eingebetteter Computerbenchmark
  • DEISA Benchmark Suite - wissenschaftliche HPC -Anwendungen Benchmark
  • Dhrystone - ganzzahlige arithmetische Leistung, häufig in DMIPs (Dhrystone Millionen von Anweisungen pro Sekunde) berichtet
  • DiskspdBefehlszeile Werkzeug für Speicher -Benchmarking, das eine Vielzahl von Anfragen dagegen generiert Computerdateien, Partitionen oder Speichergeräte
  • Fhourstones - Ein ganzzahliger Benchmark
  • HINWEIS - Entworfen, um die Gesamt -CPU und die Speicherleistung zu messen
  • Iometer - Messung und Charakterisierungsinstrument des Subsystems für einzelne und gruppierte Systeme.
  • Iozone - Dateisystem Benchmark
  • Linpack Benchmarks - traditionell verwendet, um zu messen Flops
  • Livermore loops
  • NAS Parallele Benchmarks
  • NBench -Synthetic Benchmark Suite Messung der Leistung von ganzzahliger Arithmetik, Gedächtnisoperationen und Gleitkomma-Arithmetik
  • KUMPEL - Ein Maßstab für Echtzeit -Physik -Motoren
  • Perfkitbenchmarker - Eine Reihe von Benchmarks zum Messen und Vergleich von Cloud -Angeboten.
  • Phoronix Test Suite -Cross-Plattform-Benchmarking-Suite für Linux, OpenSolaris, FreeBSD, OSX und Windows. Es enthält eine Reihe anderer Benchmarks, die auf dieser Seite enthalten sind, um die Ausführung zu vereinfachen.
  • POV-RAY - 3D -Render
  • Tak (Funktion) - Ein einfacher Benchmark, der zum Testen der Rekursionsleistung verwendet wird
  • TATP -Benchmark - Telekommunikationsanwendungs ​​-Transaktionsverarbeitungsbenchmark
  • Tpox - Ein XML -Transaktionsverarbeitungs -Benchmark für XML -Datenbanken
  • VUP (VAX -Leistungseinheit) - auch VAX genannt MIPS
  • Wetzstein -Arithmetikleistung für Floating-Punkte, oft in Millionen von Whetstone-Anweisungen pro Sekunde (Mwips) berichtet

Microsoft Windows Benchmarks

Andere

  • Antutu -häufig auf Telefonen und Armbasis verwendet.
  • Geekbench -Ein plattformübergreifender Benchmark für Windows, Linux, MacOS, iOS und Android.
  • Icomp - Die von Intel veröffentlichte Intel -Vergleichsmikroprozessor -Leistung
  • Khornstone
  • Leistungsbewertung - Modellierungsschema, das von AMD und Cyrix verwendet wird, um die relative Leistung in der Regel im Vergleich zu konkurrierenden Produkten widerzuspiegeln.
  • Sunspider - Ein Browsergeschwindigkeitstest
  • Vmmark - Eine Virtualisierungs -Benchmark -Suite.

Siehe auch

Verweise

  1. ^ Fleming, Philip J.; Wallace, John J. (1986-03-01). "Wie man nicht mit Statistiken liegt: Die richtige Art, Benchmarkergebnisse zusammenzufassen". Kommunikation der ACM. 29 (3): 218–221. doi:10.1145/5666.5673. ISSN 0001-0782. S2CID 1047380. Abgerufen 2017-06-09.
  2. ^ Software: HDDSCAN, GNOME Disks
  3. ^ Krazit, Tom (2003). "Nvidia's Benchmark -Taktik bewertet". IDG News. Archiviert von das Original Am 2011-06-06. Abgerufen 2009-08-08.
  4. ^ Castor, Kevin (2006). "Hardware -Test- und Benchmarking -Methodik". Archiviert von das Original am 2008-02-05. Abgerufen 2008-02-24.
  5. ^ Dai, Wei; Berleant, Daniel (12. bis 14. Dezember 2019). "Benchmarking Contemporary Deep Learning Hardware und Frameworks: Eine Umfrage über qualitative Metriken" (PDF). 2019 IEEE First International Conference on Cognitive Machine Intelligence (COGMI). Los Angeles, CA, USA: IEEE. S. 148–155. Arxiv:1907.03626. doi:10.1109/cogmi48466.2019.00029.
  6. ^ Ehliar, Andreas; Liu, Dake. "Benchmarking -Netzwerkprozessoren" (PDF). {{}}: Journal zitieren erfordert |journal= (Hilfe)
  7. ^ Transaktionsverarbeitungsleistung (Februar 1998). "Geschichte und Überblick über die TPC". TPC. Transaktionsverarbeitungsleistung Council. Abgerufen 2018-07-02.

Weitere Lektüre

  • Gray, Jim, ed. (1993). Das Benchmark -Handbuch für Datenbank- und Transaktionssysteme.Morgan Kaufmann -Serie in Datenverwaltungssystemen (2. Aufl.).Morgan Kaufmann Publishers, Inc. ISBN 1-55860-292-5.
  • Scalzo, Bert;Kline, Kevin;Fernandez, Claudia;Burleson, Donald K.; Ault, Mike (2007). Datenbank -Benchmarking Praktische Methoden für Oracle & SQL Server. ISBN 978-0-9776715-3-3.
  • Nambiar, Raghunath;Poess, MEIKEL, Hrsg.(2009). Leistungsbewertung und Benchmarking. Springer. ISBN 978-3-642-10423-7.

Externe Links