Reichlich vermessen: Die „ST-Computer“-Benchmarks für Massenspeicher

Bild 1: CHECKHD legt los!
Bild 2: Der Lesekopf im Streß

Geben Sie es ehrlich zu, Sie kennen sich schon gar nicht mehr aus. Jeder Test, in dem es um Floppies, Festplatten oder andere Massenspeicher geht, schlägt Ihnen mehr oder weniger willkürliche Zahlen um die Ohren, die als Ergebnisse jener sagenumwobenen bäntsch-mahks (zu neudeutsch: Benchmarks) ausgegeben werden. Und jedesmal sind es andere Prüfverfahren, die angewandt werden, um wissenswerte Leistungsdaten aus dem Testobjekt herauszukitzeln. Letzten Endes führt das dazu, daß niemand mehr weiß, welchem Test nun zu glauben sei. Aber das hat mich die längste Zeit aufgeregt: Jetzt gibt es endlich - Fanfaren, Jubel, Massenekstase - die Standard-Benchmarks der ST-Computer für Massenspeicher. Sie sollen in allen künftigen Massenspeichertests dieser Zeitung angewendet werden, damit Sie jederzeit vernünftig vergleichen können. Ist das nichts?**

Ja, das wäre nichts, wenn die Prüfverfahren nicht mindestens einmal ausführlich beschrieben und begründet würden. Wenig aussagekräftige Tests gibt es genug, und selbst die besten Verfahren werden zuweilen falsch angewendet oder gedeutet. Darum will ich hier das Paket im einzelnen vorstellen.

Es besteht zur Zeit aus drei Programmen: CHECKHD, TRANSFER und HD BENCH. Sie sind ab sofort auch auf der PD-Diskette 217 der ST-Computer-PD-Sammlung erhältlich, damit ein(e) jede(r) die Tests daheim bei sich nachvollziehen kann.

Der Plattentester

CHECKHD.PRG ist die Weiterentwicklung eines Programmes, das erstmals in [3] veröffentlicht wurde. Es ist nur für ATARI-kompatible Festplatten gedacht und testet Zugriffsgeschwindigkeiten und Transferraten der angeschlossenen Platten; nebenher kann es auch die Sektoren einer Platte auf Lesefehler prüfen. Aber alles der Reihe nach. CHECKHD meldet sich mit dem folgenden Startbild (Bild 1).

CHECKHD prüft nach, ob irgendwo ATARI-Platten oder -kompatible am ACSI-Bus (=DMA-Bus) hängen. Es werden alle 8 Targetnummern sowie die Gerätenummern 0 und geprüft, so daß Sie CHECKHD auch für Zweitlaufwerke in einer ATARI-Platte verwenden können. CHECKHD holt sich vom Controller die wichtigsten Plattenparameter (s. Bild 1). Sie haben nun die Auswahl:

Wer suchet, der trödelt

Hier wird der Lesekopf Ihrer Platte unbarmherzig durch die Gegend gehetzt, um herauszufinden, wie schnell er positioniert werden kann. Sie kennen das aus der Werbung der Hersteller, diese vielen Zahlen, mit denen Sie belästigt werden. Darunter finden sich bei Platten auch die mittleren Spurwechselzeiten. Sie liegen bei preiswerten Plattenlaufwerken heutzutage bei 65 bis 80 ms; gute Festplatten erreichen Zeiten um 30 ms, sehr gute auch schon mal 19 oder gar 11 ms. Offiziell jedenfalls. Denn kaum ein Anwender prüft diese Zahlen irgendwann einmal nach, und auch die Plattentester sind hier meist auf die Daten der Hersteller angewiesen. Das ist jetzt vorbei.

Laufwerk Spur-zu-Spur mittl. Suchzeit max. Suchzeit
Tandon TM262 (SH205) 9.5 ms 84 ms 200 ms
Miniscribe 3650 (MEGA-FILE 60) 10.6 ms 70 ms 143 ms
Seagate ST 251-1 7.4 ms 35.4 ms 62.3 ms

Tabelle 1: Einige Vergleichswerte für gängige Festplatten

Was heißt denn „mittlere Spurwechselzeit“? Das ist doch wohl die Zeit, die der Lesekopf im statistischen Mittel braucht, um von einem Zylinder (eigentlich sollte man deswegen „mittlere Zylinderwechselzeit“ sagen) auf einen anderen zu kommen. Eine einfache, aber tückische Definition: Wie mißt man denn das statistische Mittel? CHECKHD lehnt sich dazu an die Tests an, die in [1] für PCs vorgeschlagen wurden:

Spur-zu-Spur-Wechsel

Die Anzahl der verfügbaren Zylinder wird geholt - nennen wir sie Z. Die Leseköpfe werden jetzt nacheinander auf die Zylinder Z/3 bis 2*Z/3 geschoben und dann wieder zurück bis Z/3. Das Ganze wird dreimal wiederholt. Aus der Zeit für den Gesamtvorgang wird die Zeit berechnet, die der Kopf für jeden Schritt zwischen zwei benachbarten Zylindern gebraucht hat.

Mittlere Spurwechselzeit

Die erste Testmethode führt 200 zufällige Zylinderwechsel über maximal Z/3 Zylinder auf der Platte aus: aus der Gesamt zeit ergibt sich wieder ein Durchschnittswert. Die zweite Testmethode bewegt den Kopf hundertmal zwischen Zylinder Z/3 und 2*Z/3 hin und her und berechnet daraus eine durchschnittliche Spurwechselzeit: bei künftigen Plattentests sollte nur der letztere Wert angegeben werden, weil er verläßlicher ist.

Maximale Spursuchzeit

200 Zylinderwechsel vom ersten zum letzten Zylinder und zurück. Dieser Test ermittelt also die maximale Dauer eines Suchzugriffs auf Ihrer Platte.

CHECKHD ist, wie der Rest des Benchmark-Pakets, ein Hybrid aus GFA-BA-SIC und Assembler. Verwenden Sie zum Messen bitte die compilierte Version von CHECKHD, um die Software-Verzögerungen gering zu halten. Das gilt auch für die folgenden Programme.

Für die Programmierer(innen) unter Ihnen: CHECKHD bewegt den Lesekopf der Platte über das ACSI-Kommando SEEK (Opcode 11): danach prüft es solange den Status auf dem ACSI-Bus, bis dieser meldet, daß Controller und Laufwerk diese Aufgabe bewältigt haben. Da die SH204 den ACSI-Status nicht korrekt zurück liefert, kann das Verfahren bei dieser Platte nicht funktionieren: und daß bei ATARI-inkompatiblen Platten Schwierigkeiten zu erwarten sind, habe ich bereits anklingen lassen. Ich arbeite daran, das Programm für möglichst viele Plattentypen anzupassen - nur müssen mir diese Platten natürlich auch erst in die Finger kommen. Das CHECKHD-Listing ist leider zu lang und daher nur auf der erwähnten PD-Diskette zu linden. Einige Vergleichswerte kann man Tabelle 1 entnehmen.

Den Spurwechseltest kann man mit ESC abbrechen: HELP gibt Ihnen auf dem Bildschirm einige Kurzinfos - das gilt auch für den folgenden Transfertest.

Her mit den kleinen Daten

Am liebsten protzen die Laufwerks- und Controllerhersteller mit den Datenübertragungsraten. Leider wird dabei allzu oft mit ungleicher Elle gemessen und so Verwirrung gestiftet. Dazu ein wenig Theorie: Bei der heute noch häufigen MFM-Aufzeichnung wird ein Bit jeweils in einer konstanten Zeitspanne von 0.2 &myu;s aufgezeichnet. Damit kommt man auf eine Bitrate von 5 Millionen Bits pro Sekunde (625 kB/s). Dieser für MFM Platten typische Wert wird von den Plattenherstellern gerne herausgestellt, weil er so imposant anmutet. Beim RLL-Aufzeichnungsverfahren wird ein Bit gar in noch kürzerer Zeit geschrieben: hier erhöht sich die Bitrate auf 7.5 Millionen Bits pro Sekunde (=937.5 kB/s). Wie Sie sich denken können, ist das aber noch nicht das Ende vom Lied.

Nicht alle Bits auf einer Spur werden für Daten genutzt; einiges fällt weg für Verwaltungszwecke (Lückenbytes, Synchronisationsbytes, Sektorvorspanne...). Übrig bleiben bei einer typischen MFM-Platte 17 Sektoren zu je 512 Bytes, also 8704 Datenbytes pro Spur. Bei einer Umdrehungsgeschwindigkeit von 3600 Umdrehungen pro Minute dreht sich die Platte sechzigmal in einer Sekunde, das heißt, pro Sekunde könnte man 1751260=522240 Bytes (=510 Kilobytes pro Sekunde) übertragen. Diesen Wert wollen wir Datenrate nennen. Aber auch hiervon müssen wir abrucken!

Erstens kann man diesen Wert sowieso nur erreichen, wenn man mit Interleave 1 (alle Sektoren werden innerhalb einer einzigen Umdrehung eingelesen) arbeiten kann. Bei ST-Platten ist das zwar fast selbstverständlich: PC-Anwender aber haben’s nicht so einfach: Mal ist dort der Controller zu langsam, mal der DMA-Chip oder der Prozessor. Aus den verschiedensten Gründen jedenfalls können viele PCs und PC-Kompatible (auch ATs!) der Platte die Daten nicht so schnell abnehmen, wie diese sie anliefert. So kommt es, daß Abertausende von PC-Besitzern dazu verdammt sind, mit Interleave 2 oder 3 zu arbeiten, was die nach unseren bisherigen Erkenntnissen erreichbare MFM-Datenrate auf erbärmliche 255 oder 170 kB/s drückt (hehehe)!

Aber das geht uns zweitens nichts an - kehren wir vor der eigenen Tür. Die obigen 510 kB/s sind noch zu optimistisch. Denn beim Wechsel zwischen aufeinanderfolgenden Zylindern verlieren praktisch alle Controller, so schnell sie auch sonst sind, eine Umdrehung: Hier müssen sie auf dem alten Zylinder den letzten Sektor lesen, den Kopf auf die nächste Spur bewegen, ihn ausschwingen lassen und dann verifizieren, ob sie auf der richtigen Spur angekommen sind. All das kostet soviel Zeit, daß man letztlich eine komplette Umdrehung in den Wind schreiben darf. Und das heißt zum Bei spiel: Die SH205 mit ihren 4 Plattenoberflächen pro Zylinder braucht insgesamt 5 Umdrehungen, um einen Zylinder komplett einzulesen. Damit ergibt sich die effektive Übertragungsrate aus der Rechnung:

(4/5)*Datenrate=(4/5)*510 kB/s=408 kB/s

Dieser Wert gilt für MFM-Plattenlaufwerke bei einer Formatierung mit 17 Sektoren pro Spur, Interleave 1 und 4 Oberflächen (wie in SFl205 oder SH204). Für die MEGAFILE 60 sieht die Rechnung so aus:

RLL-Bitrate = 937.5 kB/s

Datenrate   = 26 Sektoren/Umdr. *
              512 Bytes/Sektor *
              60 Umdr./s * 798720 Bytes/s 
            = 780 kB/s effektive Übertragungsrate
            = ((6 Köpfe/Zyl.) /(7 Umdr./Zyl.))
              * 780 kB/s
            = 668.57 kB/s

Bei der MEGAFILE 30 ergeben sich ähnliche Werte, allein, die effektive Übertragungsrate beträgt hier 4/5*780kB/s = 624 kB/s.

Zurück zu CH ECK HD: Dieses Programm liest beim Transfertest den kompletten ersten Zylinder wiederholt ein und berechnet aus der dafür benötigten Zeit die effektive Übertragungsrate (im Programm heißt sie auch kurz Übertragungsrate oder Transferrate). CHECKHD kommt bis an die theoretischen Maximalwerte heran, gibt Ihnen also Auskunft über die Leistungsfähigkeit Ihrer Hard wäre. Was ein Betriebssystem aus diesen Transferraten macht, ist dann eine andere Frage.

Transfer auf die feine englische Art

Nun ist CHECKHD nichts für Puristen: Es läßt sich nur auf ATARI-Platten anwenden und verwendet maschinenabhängige Routinen. Dafür hat es den Vorteil, daß es die maximalen Transferraten eruiert. Damit man aber auch von anderen Geräten Übertragungsraten ermitteln kann, habe ich TRANSFER.PRG, das zweite Programm im Benchmark-Paket, geschrieben. Es verwendet die BIOS-Funktion RWABS: alle Geräte, deren Treiber sich ins BIOS einklinken, können so untersucht werden.

Listing 1 der PD Disk (TRANSFER.BAS) zeigt, wie's gemacht wird. Die ersten 200 Sektoren eines Laufwerks werden wiederholt eingelesen; daraus errechnen sich zwei Werte:

Danach wird das Spielchen mit ungeraden Zielpufferadressen wiederholt: an ungerade Adressen liest zwar so gut wie kein Programm, aber es soll Treiber geben, die damit nicht umgehen können. Stürzt das Benchmark Programm hier mit drei Bömbchen ab, wissen Sie, daß der Treiber, der für das angesprochene Laufwerk zuständig ist, entgegen den ATARI-Richtlinien nicht mit ungeraden Adressen umgehen kann. Ansonsten ist die ermittelte Transferrate bei ungeraden Pufferadressen von eher philosophischem Wert.

TRANSFER.PRG und CHECKHD.PRG zeigen also, was die Hardware leistet und der dazugehörige Treiber daraus macht. Fehlt nur noch die Umsetzung in höhere Betriebssystemebenen.

Höhere Gefilde

HDBENCH PRG (Listing 3) zerf#llt in zwei Teile, Sektortest und Filetest.

Sektortest

  1. 50 aufeinanderfolgende Sektoren vom Beginn einer Partition werden hundertmal hintereinander per BIOS-RWABS eingelesen: die Zeit dafür wird gemessen. Dieser Test simuliert unter anderem das Laden von längeren Programmstücken: hier sollten sich also höhere Transferraten besonders auswirken.
  2. Die gleichen Sektoren werden wiederum hundertmal eingelesen, diesmal allerdings durch einzelne RWABS-Aufrufe. Das simuliert das Verhalten von schlechten Leseroutinen (WordPlus et cetera); da Cache-Programme meistens Zugriffe auf einzelne Sektoren puffern, spürt man deren Effekt hier am stärksten. Das Benchmark-Paket, insbesondere HDBENCH.PRG, ist somit auch geeignet, Plattenbeschleuniger und ähnliche Software zu testen, und wird auch dafür angewandt werden.

Filetest

  1. 25 Dateien verschiedener Größe (10500 Bytes, 51500 Bytes, 10*20000 Bytes) werden in jeweils einem eigenen Ordner erzeugt. Vorher erhält man Gelegenheit, das betreffende Laufwerk komplett zu löschen. Das sollte man auch tun, um besser vergleichbare Resultate zu erhalten. Denn: Die Suche in vollen FATs und Wurzel Verzeichnissen (dort werden die Dateien angelegt) kostet mehr Zeit als auf frisch gelöschten Laufwerken. Natürlich sollten Sie vorher die Daten auf dem betreffenden Laufwerk retten. Um GEMDOS von der frisch gelöschten Partition zu unterrichten, wird ein Trick angewandt: Eine Maschinenroutine hängt kurzzeitig die hdv-Vektoren um. über die die wichtigen BIOS-Massenspeicherfunktionen springen, simuliert dann einen GEMDOS-Aufruf und meldet GEMDOS in den neuen heb Routinen einen Wechselfehler. Daraufhin vergißt GEMDOS alles, was es über das Laufwerk weiß, so daß man - bis zum nächsten GEMDOS-Aufruf - getrost Änderungen auf dem Laufwerk vornehmen kann. Mehr zu dieser Technik in [2] und [3] sowie in einem demnächst folgenden Grundlagenartikel in dieser Zeitung.
  2. Die 25 soeben erzeugten Dateien werden eingelesen.
  3. Die 25 Dateien werden samt Ordnern wieder gelöscht.

Mit diesen Tests soll ein möglichst breites Spektrum abgedeckt werden. Der Filetest insbesondere quält sich wie Sie als Anwender mit GEMDOS ab, ist also für Ihre tägliche Anwendung am aussagekräftigsten. Aber auch die vorigen Tests sollte man nicht unter den Tisch fallen lassen: Durch die Staffelung in hardwarenahe, systemnahe und GEMDOS-nahe Tests kann man sehr genau verfolgen, wo das System die Zeit verliert. Nicht immer ist GEMDOS schuld, manchmal ist es die Hardware oder gar der Treiber: in letzterem Falle könnte man dann auf die Idee kommen, einen anderen Treiber zu benutzen, um die Leistung zu erhöhen.

Spiel ohne Grenzen?

Freilich soll keiner auf die Idee kommen, die vorgestellten Benchmark-Programme könnten ein endgültiges Urteil über Massenspeicher fallen. Erstens zählt ja nicht nur die Geschwindigkeit, und zweiterdings wollen die Ergebnisse auch interpretiert sein. Schließlich gibt es auch ein paar Probleme: So spielt in TRANSFER.PRG und HDBENCH.PRG bei Festplatten die Partitionierung eine entscheidende Rolle. Zum Bleistift ist es ein Unterschied, ob eine Partition an einem Zylinderanfang beginnt, oder ob die Verwaltungssektoren über zwei Zylinder bunt verstreut sind - das kostet Zugriffszeit. Beim Filetest spielt die Größe der Partition eine Rolle. Deswegen ein Vorschlag: Beim Filetest auf Platten und ähnlichen Massenspeichern sollte die untersuchte Partition jeweils am Anfang des Mediums stehen: ich schlage weiterhin eine Standardgröße von 10 MB vor. Im Festplattentest dieser Ausgabe verwende ich diese Vorgaben.

Ein weiteres Problem sind die verschiedenen TOS-Versionen, insbesondere was den Dateitest in HDBENCH.PRG angeht, der GEMDOS-Routinen benutzt. Da GEMDOS in TOS 1.4 wesentlich schneller arbeitet, werden diese Werte bald nicht mehr vergleichbar sein; sobald also ROM-TOS 1.4 verfügbar ist, werden wir es als Basis der Messungen verwenden. Daß Cache-Programme und andere Plattenbeschleuniger während des Tests aus dem Auto-Ordner zu verschwinden haben, um das Ergebnis nicht zu verzerren, ist auch klar - außer man will eben das jeweilige Programm testen.

Ein abschließendes Wort: Die Entwicklung der Programme ist längst nicht abgeschlossen: insbesondere sind wir offen für Ihre Anregungen. Allerdings ist es sicher sinnvoll, die bereits vorhandenen Testmethoden beizubehalten, um die Vergleichbarkeit zu gewährleisten. Über Zusätze. Erweiterungen und Anpassungen an neue Massenspeicher kann und soll man aber reden.

Literatur:

[1] Wilde: "Spurensuche", c't 11/88

[2] Esser "Auf der Schwelle zum Licht - Laufwerksverwaltung", ST-Computer 4/88

[3] Brod/Stepper, SCHEIBENKLEISTER, MAXON. Eschborn 1988


Claus Brod
Aus: ST-Computer 06 / 1989, Seite 52

Links

Copyright-Bestimmungen: siehe Über diese Seite