tecCHANNEL Benchmark Suite Pro

20.06.2003 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 erweiterten tecCHANNEL Benchmark Suite Pro genau messen.

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 Pro umfasst zurzeit drei Hardware-nahe Testprogramme. tecBench ist die grafische Oberfläche für die beiden Teil-Benchmarks 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 Hardware-Tests ein. Nach einer über zweijährigen Entwicklungsphase können wir Ihnen nun eine weiter entwickelte Version unserer Lowlevel-Benchmarks zur Verfügung stellen.

Sicherheitshinweise

Für akkurate Hardware-nahe Messungen muss die tecCHANNEL Benchmark Suite Pro 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.

Sowohl tecBench als auch tecMem weisen beim Programmstart mittels einer Dialogbox auf diesen Umstand hin.

Setzen Sie die tecCHANNEL Benchmark Suite Pro 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 Pro.

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. Die Schreibtests dürfen auf jeden Fall nur mit leeren Datenträgern erfolgen, da hierbei Informationen überschrieben werden.

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 Pro nur auf Computern, die ausschließlich für Hardware-Tests 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 Pro nicht einsetzen.

Neue Features

Die tecCHANNEL Benchmark Suite Pro wurde im Vergleich zur bisherigen tecCHANNEL Benchmark Suite um folgende Punkte erweitert:

Die kostenlose tecCHANNEL Benchmark Suite können Sie weiterhin hier downloaden.

Installation

Die tecCHANNEL Benchmark Suite Pro 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 die Sicherheitshinweise der Software sowie jene in diesem Artikel.

Die tecCHANNEL Benchmark Suite Pro 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 Pro, ist die ältere Pro-Version vor dem Upgrade zu deinstallieren. Die Pro-Version kann parallel zu der kostenlosen Variante installiert werden. Die Deinstallation funktioniert Windows-konform via Systemsteuerung.

tecBench

tecBench vereinigt zwei Benchmarks unter einer grafischen Benutzeroberfläche:

tecHD wie auch tecCD messen die bei sequenziellen Zugriffen auf ein gegebenes 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

In der kostenlosen Version der tecChannel Benchmark Suite beschränkt sich tecBench auf das Testen von Lesezugriffen. Die tecChannel Benchmark Suite Pro enthält eine erweiterte tecBench-Version, die auch Schreibzugriffe unterstützt. Beim Start des tecBench können Sie festlegen, ob der Benchmark im Lese- oder Schreibmodus arbeiten soll.

Ü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 Schaltfläche "Benchmark Drive" öffnet eine Dialogbox zur Auswahl des zu testenden Massenspeichers. tecBench zeigt hier die verfügbaren logischen Laufwerke ("A:" bis "Z:") sowie die erkannten physikalischen Laufwerke ("Phys0", "Phys1", ...):

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.

Wichtig

Beachten Sie, dass eine Messung im Schreibmodus sämtliche Daten des ausgewählten Laufwerks unwiederbringlich zerstört! Aus Sicherheitsgründen stellt tecBench im Schreibmodus daher ausschließlich physikalische Laufwerke zur Wahl, die keinerlei Partitionen enthalten, sowie logische Laufwerke, die formatiert und leer sind, also keine Dateien enthalten. Taucht ein vorhandenes Laufwerk im Schreibmodus nicht im Auswahldialog auf, genügt es diesen Kriterien nicht. Es handelt sich hierbei um eine Sicherheitsfunktion des Benchmarks, die mit den gängigen Microsoft-Betriebssystemen getestet wurde. Prüfen Sie auf jeden Fall nochmals selbst, ob das zu testende Medium wirklich keine Daten enthält.

tecBench-Bedienung II

Ein Klick auf den "Run Benchmark"-Button des Auswahldialogs beginnt den Benchmark-Lauf. Während des Tests werden im Hauptfenster 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 beziehungsweise Schreibzugriffen in den 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.

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

Beim Programmstart ermittelt tecMem zunächst die exakte Taktfrequenz, Modellbezeichnung und Cache-Charakteristika der CPU. Der Rechner reagiert während dieser Messung für wenige Sekunden nicht mehr, da der Benchmark für eine präzise Messung das Betriebssystem stilllegen muss. Die ermittelten Angaben finden sich im Textfeld im unteren Teil des Hauptfensters.

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 Benchmark-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.

Wiederholtes Klicken auf den "Max"-Button zeigt die Maxima der dargestellten Kurven samt zugehöriger Messwerte an.

Der "Export"-Button speichert den aktuell angezeigten Graphen als BMP-Bilddatei und legt die im Textfeld angezeigte Tabelle als ASCII-Datei ab.

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 eines Abschnitts lesen oder schreiben tecHD und tecCD einen Datenblock von 64 beziehungsweise 3 MByte und fahren dann mit dem nächsten Abschnitt fort. Die Positionierung am Beginn eines Abschnitts erfolgt mittels Set FilePointer(), das Lesen und Schreiben der Datenblöcke mit ReadFile() bzw. WriteFile(). tecHD und tecCD zerlegen den Transferprozess in eine entsprechende Anzahl von ReadFile()- oder WriteFile()-Aufrufen mit einer Länge von jeweils 1 MByte. Pro Abschnitt erfolgen damit im Falle von tecHD 64 derartige Aufrufe, im Falle von tecCD sind es drei 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 zugä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.

Die tecCHANNEL Benchmark Suite Pro arbeitet unter Windows NT 4.0 nur mit dem SP6 und dem Windows Installer. Unter Windows 2000 sowie Windows XP lässt sich das Software-Paket direkt installieren. Windows 3.x/95/98 (SE) und Windows-NT-Versionen kleiner 4.0 werden nicht unterstützt.

Zum Download der kostenlosen Standardversion des Benchmarks gelangen Sie hier. Premium-Abonnenten können die Pro-Version des Benchmarks hier kostenlos downloaden.