tecCHANNEL Benchmark Suite

14.03.2002 von Michael Eckert und THOMAS LOPATIC 
Herstellerangaben sind oft sehr optimistisch und entsprechen nicht immer der Realität. Wer wissen will, was seine Hardware wirklich leistet, kann das mit der tecCHANNEL Benchmark Suite genau messen.

Extra: For an English version, please click here.

Neu: Die tecCHANNEL Benchmark Suite ist in einer erweiterten Version verfügbar. Nähere Informationen finden Sie hier.

Wenn ein PC nicht rund läuft, sind viele Fehlerquellen möglich. Beispielsweise können einzelne Komponenten nicht optimal konfiguriert oder gar defekt sein. Ein subjektiv als langsam empfundener PC mag an falschen BIOS-Einstellungen kranken, welche etwa die CPU-Cache- oder Speicher-Performance reduzieren. Auch die Überprüfung auf die vom Hersteller angegebenen Performance-Werte empfiehlt sich nicht nur im Reklamationsfall.

Unsere tecCHANNEL Benchmark Suite umfasst zurzeit drei hardwarenahe Testprogramme. tecBench ist die grafische Oberfläche für die beiden Teilbenchmarks tecHD und tecCD/DVD zur Evaluierung von Massenspeichern. tecMem als drittes Programm im Bunde ist eine eigenständige Software mit speziell angepasster grafischer Oberfläche. tecMem dient der Ermittlung der Bandbreite bei Datentransfers zwischen der CPU und den einzelnen Ebenen der Speicherhierarchie (Caches, Hauptspeicher).

Die tecCHANNEL-Redaktion setzt die Software bei fast allen Hardwaretests ein. Nach einer zweijährigen Entwicklungsphase können wir Ihnen nun eine kostenlose Version unserer Lowlevel-Benchmarks zur Verfügung stellen.

Sicherheitshinweise

Für akkurate hardwarenahe Messungen muss die tecCHANNEL Benchmark Suite möglichst direkt auf die Hardware zugreifen. Eine Fehlfunktion der Treiberkomponente führt deshalb üblicherweise nicht nur zu einem Crash des Benchmarks, sondern zu einem Absturz oder Reboot des kompletten Systems. Somit hat eine Fehlfunktion potenziell weitaus dramatischere Folgen - etwa Datenverlust durch Inkonsistenzen im Dateisystem - als ein Fehler in einer klassischen Applikation.

Setzen Sie die tecCHANNEL Benchmark Suite nur ein, wenn Sie sich über das Risiko sowie mögliche Folgen im Klaren sind. tecCHANNEL, der IDG Verlag und das Programmierteam übernehmen keine Haftung für mögliche Schäden durch den Einsatz der tecCHANNEL Benchmark Suite.

Vor dem Start der Benchmarks sollten Sie sämtliche Applikationen beenden. Schon aus Sicherheitsgründen muss dies erfolgen, da bei einem Programmabsturz die nicht gespeicherten Daten in Gefahr wären.

Zudem könnten andere Programme während des Tests auf den zu evaluierenden Massenspeicher zugreifen und damit die Messergebnisse verfälschen. Daran erinnern tecBench und tecMem beim Start mit einer Dialogbox. Grundsätzlich empfiehlt es sich, mit tecBench ausschließlich ungenutzte Laufwerke zu testen. Empfehlenswert ist, Windows von einer separaten Festplatte zu booten und das zu testende Laufwerk als zweite, leere Festplatte in das System einzubinden.

tecMem greift massiv in das Betriebssystem ein. Daher ist tecMem mit noch mehr Vorsicht einzusetzen als die tecBench-Software.

Starten Sie die Programme der tecCHANNEL Benchmark Suite nur auf Computern, die ausschließlich für Hardwaretests reserviert sind. Der Test auf PCs, die wichtige Daten enthalten, verbietet sich damit von selbst. Auch dort, wo durch Fehlfunktion des Test-PCs andere Teile des Systems gefährdet werden könnten - zum Beispiel im Netzwerk - sollten Sie die tecCHANNEL Benchmark Suite nicht einsetzen.

Installation

Neu: Die tecCHANNEL Benchmark Suite ist in einer erweiterten Version verfügbar. Nähere Informationen finden Sie hier.

Die tecCHANNEL Benchmark Suite ist nur unter Windows NT 4.0 mit Service Pack 6, Windows 2000 und Windows XP lauffähig. Außerdem müssen Sie über Administratorrechte verfügen. tecMem setzt mindestens 64 MByte Arbeitsspeicher voraus. Bitte beachten Sie unbedingt dieSicherheitshinweise der Software sowie jene in diesem Artikel.

Die tecCHANNEL Benchmark Suite liegt als MSI-Datei vor. Sie lässt sich mit dem Windows Installer komfortabel installieren und über die Systemsteuerung auch wieder entfernen. Der Windows Installer ist fester Bestandteil von Windows 2000 und Windows XP. Eine Version des Windows-Installer für Windows NT 4.0 mit Service Pack 6 ist über die Microsoft-Webseite beziehbar.

Ein Doppelklick auf die .MSI-Datei startet die Installation. Die benötigten Dateien werden kopiert und zwei Einträge in das Startmenü eingefügt

Erfolgt ein Upgrade der tecCHANNEL Benchmark Suite, ist die ältere Version vor dem Upgrade zu deinstallieren. Die Deinstallation funktioniert Windows-konform via Systemsteuerung.

tecBench

tecBench vereinigt zwei Benchmarks unter einer grafischen Benutzeroberfläche:

tecHD wie auch tecCD messen die beim sequenziellen Lesen von einem gegebenen Medium erzielbaren Datentransferraten sowie die Zugriffszeiten, die beim Zugriff auf eine Reihe pseudozufällig gewählter Sektoren eines gegebenen Mediums beobachtbar sind.

tecBench-Bedienung I

Über das "Help"-Menü finden Sie einen Link sowohl zu dieser deutschen (Alt+G) als auch englischen (Alt+O) Version der Online-Hilfe zu tecBench. Die Online-Hilfe ruft eine entsprechende Seite auf www.tecChannel.de auf.

Die grafische Benutzeroberfläche von tecBench unterteilt sich in drei Karteikarten. Die Auswahl des zu testenden Massenspeichers erfolgt im Startfenster "Selection" über eine Listbox, in der tecBench die verfügbaren logischen Laufwerke ("A:" bis "Z:") sowie die erkannten physikalischen Laufwerke ("Phys0", "Phys1", ...) aufführt:

Zu jedem gefundenen Massenspeicher gibt tecBench an, ob er ihn mit tecHD oder mit tecCD zu evaluieren gedenkt. Die Entscheidung für einen dieser beiden Benchmarks hängt von den durch das Betriebssystem angezeigten Features für das Laufwerk ab und wird automatisch getroffen.

tecBench-Bedienung II

Ein Doppelklick auf eines der Laufwerke oder ein Klick auf den Start-Button beginnt den Benchmark-Lauf und aktiviert die Karteikarte "Benchmark". Während des Tests werden dort die Messwerte im oberen Graph "Transfer rate" dargestellt. Zusammenfassend findet sich im linken unteren Säulendiagramm ("Transfer rate") eine Aufstellung der gemessenen minimalen ("Min", gelb), durchschnittlichen ("Avg", blau) und maximalen ("Max", grün) Transferrate.

Der zweite Teil des Testlaufs ergänzt das Säulendiagramm um die Burstrate ("Burst", rot). Die Burstrate ist die maximale Transferrate, die bei Lesezugriffen aus dem Cache des Laufwerks möglich ist. Der dritte Teil des Benchmark-Laufs ermittelt die Zugriffszeiten des Laufwerks und stellt sie im rechten Säulendiagramm ("Access time") dar.

Messungen mit tecHD bestimmen die mittlere Zugriffszeit über die ersten 500 MByte des Laufwerkes ("500M", gelb) und über das gesamte Laufwerk ("Avg", blau). Benchmark-Läufe mit tecCD verwenden grundsätzlich das gesamte Medium/Laufwerk und zeigen die gemessene minimale ("Min", gelb), mittlere ("Avg", blau) und maximale ("Max", grün) Zugriffszeit. Per Export-Button speichern Sie den Graphen und die Säulendiagramme als BMP-Bilddateien. Der Reference-Button nimmt die mittlere Transferrate und Zugriffszeit in die Referenzdatenbank auf.

Das dritte Karteikartenfenster "Evaluation" gibt seine Funktionalität erst nach erfolgtem Test frei. Hier lassen sich die mittlere Transferrate und die mittlere Zugriffszeit des aktuellen Benchmark-Laufs den Werten aus der Referenzdatenbank gegenüberstellen. Der Add-Button fügt einen weiteren Datensatz aus der Referenzdatenbank in die beiden Diagramme ein, der Remove-Button entfernt ihn wieder. Per Export-Button sind auch diese Diagramme als Bilddateien speicherbar.

tecMem

tecMem misst die effektiv genutzte Speicherbandbreite zwischen der Load/Store-Unit der CPU und den unterschiedlichen Ebenen der Speicherhierarchie (L1-, L2-Cache und RAM). Die Grundidee ist, über viele Iterationen hinweg immer wieder denselben Speicherblock zu lesen. Ist der Speicherblock klein genug, beispielsweise ein KByte, dann befindet sich sein Inhalt nach der ersten Iteration komplett im L1-Cache, und alle künftigen Iterationen lassen sich aus dem L1-Cache bedienen. Damit ist die Bandbreite zwischen der Load/Store-Unit und dem L1-Cache messbar.

Bei einem Block von beispielsweise 128 KByte reicht der L1-Cache hingegen bei den aktuellen CPUs nicht mehr für die gesamten Daten. Der Caching-Algorithmus puffert immer unterschiedliche Bereiche des 128-KByte-Blocks, die Cache-Hits im L1-Cache werden seltener. Dafür kommt jetzt der L2-Cache zum Tragen, der den Block noch komplett aufnehmen kann. Nun ist also die Bandbreite zwischen der Load/Store-Unit und dem L2-Cache für die Performance maßgeblich und damit messbar.

Analoges gilt für noch größere Blöcke, beispielsweise von 4 MByte. Diese Datenmenge passt typischerweise nicht mehr in den L2-Cache. Dann nehmen die L2-Cache-Hits ebenfalls ab, und die Bandbreite zwischen der Load/Store-Unit und dem Arbeitsspeicher wird gemessen.

tecMem setzt ein Minimum von 64 MByte Arbeitsspeicher im PC voraus. Der Benchmark funktioniert nicht auf Multiprozessor-Systemen oder mit Windows-Konfigurationen, die mittels Physical Address Extension (PAE) mehr als 4 GByte Hauptspeicher unterstützen. Bei PAE-Systemen sollte jedoch der Parameter "/NOPAE" in der Datei "boot.ini" Abhilfe schaffen und einen einwandfreien Test ermöglichen.

tecMEM-Bedienung

Nach einem Mausklick auf den Start-Button beginnt der Benchmark-Lauf. Je nach CPU misst tecMem die Bandbreiten mit 32- Bit-, 64-Bit-MMX- und 128-Bit-SSE-Transferinstruktionen. Während des Benchmark-Laufs scheint das System einzufrieren, der Mauszeiger bewegt sich nur ruckartig. Das ist eine Folge des Treibers, der während jeder Messung mit einer gegebenen Blockgröße das gesamte Betriebssystem stilllegt und lediglich beim Wechsel der Blockgröße kurzzeitig aufweckt.

Nach dem Benchmark-Lauf können Sie mit den 32-Bit-, 64-Bit- und 128-Bit-Buttons zwischen den gemessenen Bandbreiten der 32-Bit-, 64-Bit-MMX- und 128-Bit-SSE-Befehle wechseln. Das Programm befindet sich nach abgeschlossener Messung im 32-Bit-Fenster.

Alle Ergebnisse werden im Graph "Memory Performance" dargestellt. Die x-Achse gibt dabei die Größe des verwendeten Blocks an, auf der y-Achse findet sich die Bandbreite in MByte/s. Unter dem Graphen und den Buttons steht in dem Textfeld eine tabellarische Darstellung der für die verschiedenen Blockgrößen und Befehle gemessenen Bandbreiten.

Der Export-Button speichert den aktuell angezeigten Graphen als BMP-Bilddatei.

tecBench-Funktionsweise

Die zwei Teilprogramme von tecBench - tecHD und tecCD/DVD - öffnen das zu testende Drive mit CreateFile() unter Nutzung des Flags FILE_FLAG_NO_BUFFERING. Die Benchmarks betrachten dafür die Gesamtkapazität des Laufwerks für die Messung der Transferrate als 100 aufeinander folgende Abschnitte identischer Größe. Ausgehend vom Beginn der Abschnitte lesen tecHD/tecCD einen Datenblock von 9600/3200 KByte und fahren dann mit dem nächsten fort. Die Positionierung am Beginn eines Abschnitts erfolgt mittels Set FilePointer(), das Lesen der Datenblöcke mit ReadFile(). tecHD zerlegt den Leseprozess in 150 ReadFile()-Aufrufe mit 64-KByte-Teilblöcken. tecCD/DVD verwendet dazu standardmäßig 50 Aufrufe.

Um Zugriffszeiten zu ermitteln, lesen tecHD und tecCD pseudo-zufällig ausgewählte Sektoren mit SetFilePointer() und ReadFile() ein. Neben der Positionierungszeit des Schreib-/Lesekopfs messen die Benchmarks die Latenzzeit zwischen der Positionierung des Kopfes und dem eigentlichen Lesen des Sektors. tecHD liest 1000 unterschiedliche Sektoren, tecCD beschränkt sich wegen höherer Zugriffszeiten auf nur 200 Sektoren. Die Burstrate wird durch wiederholtes Lesen derselben Sektoren gemessen. tecHD liest dazu denselben 64-KByte-Block über 1000 Iterationen hinweg. tecCD/DVD führt keine Burstmessungen durch.

tecMEM-Funktionsweise

tecMem registriert beim Start seinen Treiber im Service Control Manager. Nach dem Test wird er deregistriert und damit vollständig aus dem System entfernt. Während der Messung verhindert der Benchmark alle Interrupts.

Der Treiber versetzt die virtuelle Adressierung in eine fest vorgegebene und für den Benchmark optimale Konfiguration. Er macht 16 MByte physikalisches RAM zwischen 48 und 64 MByte ab einer "festen" virtuellen Adresse zu-gänglich. Jeweils 8 MByte dieser 16 MByte dienen als Quell- und als Zielpuffer.

Im 32-Bit-Fall kommen für Load, Store und Move die darauf optimierten Maschinenbefehle LODSD, STOSD und MOVSD zum Einsatz. Für die 64-Bit-Loads und -Stores verwendet tecMem den MOVQ-Befehl aus dem MMX-Befehlssatz. Die 128-Bit-Tests erfolgen mit der SSE-Instruktion MOVDQA. Load-Befehle operieren auf dem Quellpuffer, Stores auf dem Zielpuffer. Moves bedienen sich beider Puffer, wenn sie Daten aus dem Quellpuffer lesen und in den Zielpuffer schreiben.

Falls die CPU es unterstützt, kommen 4-MByte-Pages zum Einsatz, um den Translation Look-Aside Buffer (TLB, eine Art Cache für die zur Adressumsetzung benötigten Tabellen) zu entlasten. Global Pages werden als weitere Entlastung ausgeschaltet. Darüber hinaus aktiviert der Treiber für die verwendeten Speicherbereiche Write-Back-Caching. (mec)

Download

Die Software ist ausschließlich zur Verwendung auf Test-Systemen geeignet, deren einziger Zweck die Evaluierung von Hardware ist und die daher insbesondere weder kritische Funktionalität zur Verfügung stellen, noch kritische Informationen speichern. Die Nutzung der Software ist nur in einer derartigen Umgebung zum Zwecke der Hardware-Evaluierung gestattet.

Es wird ausdrücklich darauf hingewiesen, dass die Nutzung der Software mit Risiken verbunden ist, die von uns nicht kontrolliert werden können. Die Software muss sich prinzipbedingt nicht dokumentierter systemnaher Techniken bedienen. Das Risiko einer Schädigung bzw. des Verlustes von Daten oder anderer Schäden ist daher im Vergleich zu klassischen Anwendungen sehr hoch. Die Software sollte deshalb nur von Experten genutzt werden, die die mit einer Nutzung der Software verbundenen Risiken zutreffend und vollständig einschätzen können.

Nur für Windows NT 4.0 mit SP6/Windows Installer, Windows 2000 sowie Windows XP. Download: tecCHANNEL Benchmark Suite Version 020218

Neu: Die tecCHANNEL Benchmark Suite ist in einer erweiterten Version verfügbar. Nähere Informationen finden Sie hier.