Community

BulkLoadDemo Benchmark: Die Community testet DirectStorage 1.20 mit Avocados 🥑

Update 2 Michael Günsch (+1)
610 Kommentare
BulkLoadDemo Benchmark: Die Community testet DirectStorage 1.20 mit Avocados 🥑

Die BulkLoadDemo simuliert die Übertragung von Spieldateien vom Massenspeicher bis zur Grafikkarte, die mit der DirectStorage-API inklusive Dekomprimierung deutlich beschleunigt werden kann. Die Leistung hängt von der eingesetzten SSD/HDD und der Grafikkarte ab. Die Redaktion liefert eigene Messwerte und lädt zum Mitmachen ein.

Update

Analyse der bisherigen Resultate

Mittlerweile sind über 350 Benchmark-Ergebnisse zusammen gekommen. Mit dieser Basis lassen sich bereits einige interessante Rückschlüsse treffen, die an dieser Stelle erläutert werden.

RAM-Disks und RAID-Systeme an der Spitze

An der Spitze der Liste steht die RAM-Disk von „HisN“, die mit DDR5-6000 gepaart mit einer GeForce RTX 4090 auf satte 45 GB/s kommt. Drei weitere RAM-Disks finden sich in den Top 10 wieder. Den zweiten Platz belegt allerdings ein RAID-0-Gespann: Die beiden WD-Black-SN850X-SSDs von „mac0815“ schaufeln die Daten mit 37,5 GB/s zur GeForce RTX 4090. Und die drei SN850X von „Pagantier“ erreichen immerhin 32,3 GB/s in Verbindung mit einer langsameren Radeon RX 6900 XT, was für Platz vier genügt.

Die schnellste einzelne SSD ist die Crucial T700 von „WakeX“, die dank schneller PCIe-5.0-Anbindung und RTX 4090 rund 32,2 GB/s schafft. Es folgen zwei weitere RAM-Disks und dann mit der Corsair MP700 eine weitere SSD der neuen Generation. Die schnellste PCIe-4.0-SSD ist die Samsung 990 Pro von „ICHBINDA“, die mit 26,6 GB/s auf einem übertakteten System den zehnten Platz erreicht.

Eine schnelle GPU gehört dazu

Wie schon die Messungen der Redaktion gezeigt haben, genügt ein schneller Datenträger allein nicht, denn die Grafikkarte muss die Daten für ein gutes Ergebnis in diesem Benchmark auch schnell dekomprimieren können. Daher wundert es nicht, dass unter den besten Resultaten oft Nvidias Flaggschiff GeForce RTX 4090 zu finden ist. Auf der anderen Seite stehen oft AMDs Radeon der RX-6900-Serie weit oben.

Dass eine schwache GPU die SSD stark ausbremsen kann, zeigt der Blick nach weiter unten. So erreicht die WD_Black SN850X von „MastaHabi“ keine 4 GB/s, da sie mit einer betagten und nach heutigem Maßstab langsamen Radeon RX 470 kombiniert wurde. Das krasse Gegenbeispiel ist die SN850X von „Fonce“, die es mit einer GeForce RTX 4080 auf über 25 GB/s bringt. Ein weiteres Beispiel ist die Samsung 980 Pro von „Mertsch“, die von einer GTX 1060 auf 4,1 GB/s eingebremst wird.

Durchsatz zählt, Latenzen nicht

Schnell wurde bei den gesammelten Ergebnissen klar, dass es bei diesem Benchmark vor allem auf die Transferrate des Datenträgers und nicht auf dessen Zugriffszeiten (Latenz) ankommt. Das zeigt sich einerseits anhand der Optane-SSDs von Intel: Diese nutzen statt NAND-Flash-Speicher den Phasenwechselspeicher 3D XPoint, der wesentlich niedrigere Zugriffszeiten erlaubt. Dennoch liegen die Optane-SSDs mit rund 10 GB/s nur irgendwo im Mittelfeld. Beim Durchsatz sind diese nämlich auf etwa 2.500 MB/s via PCIe 3.0 x4 limitiert. Ein typisches Beispiel ist hier die Optane 905p von „VirusA87“, die es gepaart mit einer GeForce RTX 2080 Ti auf eben 10 GB/s bringt. Die gleiche SSD ist bei „ameisenbaer“ trotz der potenten RTX 4090 kaum schneller.

SATA-SSDs kaum schneller als HDDs

Auch am unteren Ende der Rangliste liefern sich Belege dafür, dass die Latenz praktisch keine Rolle in diesem Benchmark spielt. Denn die SATA-SSDs sind oftmals kaum bis überhaupt nicht schneller als eine SATA-HDD. Dabei benötigen SSDs meist weniger als eine halbe Millisekunde für den Dateizugriff, während herkömmliche Festplatten dafür mehr als 10 Millisekunden respektive mehr als das 20-Fache an Zeit brauchen.

Beim maximalen Durchsatz sind halbwegs aktuelle SATA-SSDs aber ebenfalls HDDs überlegen, deshalb sind die meisten SATA-SSDs aus der Community mit gut 2 GB/s auch zumindest etwas schneller als die HDDs, die alle unter 2 GB/s liefern. Von einem großen Leistungsvorteil für die SSD kann aber keine Rede sein. Daher lautet die wichtige Erkenntnis: Nur PCIe-SSDs bieten einen wesentlichen Leistungsvorteil gegenüber einer HDD in der BulkLoadDemo, während SATA-SSDs kaum Vorteile bieten. Für künftige Spiele mit DirectStorage könnt dies ebenso gelten, weshalb Spieler allmählich Abstand von langsamen SATA-SSDs nehmen sollten, die aber ohnehin immer seltener werden.

SATA-Sechserpack tanzt aus der Reihe

Nur im Verbund können auch SATA-SSDs in diesem Benchmark glänzen. Community-Mitglied „digitalangel18“ hat gleich sechs davon im RAID verbunden. Somit konnten immerhin 8 GB/s erreicht werden. Das liegt auf dem Niveau mancher PCIe-3.0-SSD.

Bessere Leistung unter Linux?

Noch gibt es zu wenig Resultate, um eine klare Aussage zu treffen, doch „freacore“ erzielte mit seinen SATA-SSDs unter Linux (Debian) rund 7 GB/s und damit ein über dreimal so hohes Ergebnis wie unter den Windows-Systemen üblich ist. Per Screenshot wurde dafür ein Beleg geliefert.

Dass der Benchmark unter Linux höhere Resultate liefern kann, darauf weist auch das Ergebnis von „mytosh“ hin: Seine Intel 660p SSD schaffte unter Arch Linux gut 12 GB/s, während sie bei anderen mit Windows nur 4 GB/s oder noch deutlich weniger bot.

Das untere Ende ist mechanisch

Ebenso interessant wie die Spitze sind die Resultate am unteren Ende. Wenig überraschend bilden herkömmliche Festplatten das Schlusslicht. Aktuell ist es die 2,5"-HDD der Serie WD-Blue von „pnume“, die in Kombination mit einer GeForce RTX 3070 nur 0,5 GB/s erreicht. Etwas schneller ist die Samsung Spinpoint F3 von „Butterhützchen“ mit 0,8 GB/s auf dem vorletzten Platz.

Danke für 350 Ergebnisse!

Die Redaktion möchte sich an dieser Stelle herzlich für die rege Teilnahmen an diesem Community-Benchmark bedanken. Über 350 Ergebnisse stehen bis dato in der Datenbank. Eine weitere Teilnahme ist möglich, allerdings bittet die Redaktion um Verständnis, wenn die Resultate nicht mehr zeitnah Berücksichtigung finden.

Update

300 Ergebnisse, fast alle aus der Community, finden sich mittlerweile im Artikel wieder – vielen Dank für die rege Teilnahme! Die ist auch weiterhin möglich, wenngleich ab sofort nur noch „interessante“ Ergebnisse aufgenommen werden – z.B. die Kombination einer aktuellen SSDs mit einer betagten Grafikkarte oder CPU. Die Redaktion wird die Ergebnisse die kommenden Tage sichten und die wesentlichen Erkenntnisse in einem weiteren Update zusammenfassen.

Das steckt hinter DirectStorage

Die Idee hinter Microsofts Programmierschnittstelle DirectStorage ist die Beschleunigung des Datenstroms vom Massenspeicher zur Grafikkarte. Die Vision: Riesige Welten, für deren Darstellung die GPU kontinuierlich ohne Belastung von CPU und Arbeitsspeicher neue Daten (i.W. Texturen) in Echtzeit von der SSD in den VRAM nachlädt.

Schritt 1: Daten an der CPU vorbei laden

Die Spieldateien sollen durch die bessere Ausnutzung des Leistungspotenzial von NVMe-SSDs schneller übertragen und ohne Umweg über die CPU direkt in der GPU schneller dekomprimiert werden, was unter anderem die Ladezeiten signifikant verringert. Die aktuellen Spielkonsolen haben es schon vorgemacht und die DirectStorage API ist praktisch die Antwort auf die Velocity-Architektur der Xbox Series X nur jetzt auch für den PC.

Im ersten Schritt mit DirectStorage 1.0 wurde zunächst nur der Datentransfer von der SSD zur Grafikkarte beschleunigt, indem durch mehr I/O-Anfragen die hohen Transferraten aktueller NVMe-SSDs besser genutzt werden.

Schritt 2: Dekomprimierung via GPU

Mit DirectStorage 1.1 folgte der zweite Schritt: die Dekomprimierung der Dateien durch die GPU. Grafikprozessoren sind bekanntlich für paralleles Rechnen prädestiniert und können diese Aufgaben weitaus effizienter als CPUs erledigen. Letztere wird durch die Umverteilung der Arbeit entlastet. In Kombination mit dem beschleunigten Storage-Durchsatz sollen so Spieldaten erheblich schneller im VRAM der Grafikkarte und damit auf dem Bildschirm der Spieler landen.

Datenstrom der Spieldateien bisher
Datenstrom der Spieldateien bisher (Bild: Microsoft)
Datenstrom der Spieldateien mit DirectStorage
Datenstrom der Spieldateien mit DirectStorage (Bild: Microsoft)

Mittlerweile ist DirectStorage 1.2 erschienen und bringt weitere Optimierungen unter anderem für HDDs mit. Forspoken ist bis dato der einzige Vollpreistitel, der DirectStorage ohne GPU-Dekompression nutzt, diese Woche kommt Ratchet & Clank: Rift Apart hinzu. Darüber hinaus hat Nvidia die API unter eigenem Namen „RTX I/O“ im Raytracing-Mod Portal RTX: Prelude auf Vulkan umgesetzt.

Voraussetzungen für DirectStorage

Um von DirectStorage spürbar zu profitieren, sollte laut Microsoft eine NVMe-SSD mit hohem Durchsatz genutzt werden. Prinzipiell funktioniert es (mit kleineren Vorteilen) aber auch mit SATA-SSDs und HDDs.

Auf Seiten der GPU sollen laut Microsoft alle Modelle, die DirectX 12 und das Shader Model 6.0 unterstützen, von der GPU-Dekomprimierung Gebrauch machen können. Microsoft empfiehlt allerdings Grafikkarten mit DirectX-12-Ultimate-Support. Mit den Partnern AMD, Intel und Nvidia wird parallel an Treibern gearbeitet, die für die neue Technik optimiert werden. Erste Anzeichen für Vorteile der Treiberoptimierung zeigten sich bereits.

Sowohl unter Windows 11 als auch unter Windows 10 ist DirectStorage mit GPU-Dekomprimierung nutzbar. Doch zusätzliche „Optimierungen am I/O-Stack“ werde es nur unter Windows 11 geben, hatte Microsoft erklärt. Über Wine/Proton läuft es auch unter Linux, wie inzwischen Leser herausgefunden haben.

Der „Avocado“-Benchmark für DirectStorage

Als „stark optimiertes“ Beispiel demonstrierte Microsoft das Potenzial von DirectStorage mit der BulkLoadDemo, die aus offensichtlichen Gründen auch als „Avocado Benchmark“ bezeichnet wird. Dabei werden Spieldateien mit Modellen und Texturen vom Massenspeicher bis in den Videospeicher übertragen. Mithilfe der GPU-Dekomprimierung mit dem neuen Komprimierungsstandard GDeflate dauert der Vorgang oft keine Sekunde und die CPU wird nahezu nicht belastet.

Auch wenn dieser Benchmark nicht 1:1 als Messlatte für kommende Spiele mit DirectStorage angesehen werden kann, zeigt er das Potenzial und liefert eine Vergleichsbasis für verschiedene Kombinationen aus Massenspeicher und Grafikkarten.

GPU bremst SSD bremst GPU

Nicht nur die SSD, sondern auch die Grafikkarte (und ihr Treiber) bestimmen die Leistung im Benchmark. So zeigt sich mit einer GeForce RTX 3080 Ti ein teils 24 Prozent höherer Durchsatz als mit einer GeForce RTX 2080 Ti, sofern eine schnelle SSD mit PCIe 4.0 oder PCIe 5.0 eingesetzt wird. Eine GeForce RTX 4090 bringt dann aber kaum noch mehr Leistung. Auf der Radeon RX 6700 XT ist die Leistung am niedrigsten. Hier könnte es aber auch noch an Optimierungen im AMD-Treiber mangeln. Nvidia hatte jüngst Optimierungen in seinen GeForce-Treiber eingepflegt, die im Benchmark für deutlich mehr Leistung sorgen. Für die Tests wurde der zum Zeitpunkt der Veröffentlichung dieses Artikels jeweils aktuelle Treiber genutzt.

DirectStorage 1.2 BulkLoadDemo Benchmark (GPU-Skalierung)
  • Corsair MP700 2 TB (PCIe 5.0):
    • GeForce RTX 4090
      Ryzen 9 7900
      27,7
    • GeForce RTX 3080 Ti
      Ryzen 9 7900
      27,3
    • GeForce RTX 2080 Ti
      Ryzen 9 7900
      22,0
    • Radeon RX 6700 XT
      Ryzen 9 7900
      19,3
  • WD_Black SN850X 2 TB (PCIe 4.0):
    • GeForce RTX 4090
      Ryzen 9 7900
      24,3
    • GeForce RTX 3080 Ti
      Ryzen 9 7900
      24,0
    • GeForce RTX 2080 Ti
      Ryzen 9 7900
      19,4
    • Radeon RX 6700 XT
      Ryzen 9 7900
      19,2
  • Crucial P5 2 TB (PCIe 3.0):
    • GeForce RTX 4090
      Ryzen 9 7900
      12,7
    • GeForce RTX 3080 Ti
      Ryzen 9 7900
      12,7
    • GeForce RTX 2080 Ti
      Ryzen 9 7900
      12,7
    • Radeon RX 6700 XT
      Ryzen 9 7900
      12,7
Einheit: Gigabyte pro Sekunde (GB/s)

Die GPU-Tests zeigen aber auch sehr deutlich, dass die SSD den Flaschenhals darstellen kann: Mit der Crucial P5 mit PCIe 3.0 spielt die GPU keine Rolle mehr, die Leistung wird durch die SSD bei rund 12,7 GB/s limitiert.

NVMe-Version macht großen Unterschied

Bei den Messungen der Redaktion fiel etwas weiteren auf: Augenscheinlich hängt die Leistung in diesem Benchmark auch sehr von der unterstützten NVMe-Version ab. Dies fiel beim Vergleich der drei Samsung 9xx-Pro-Generationen auf. Obgleich die Samsung 970 Pro von den Leistungswerten her nur ein kleines Update zur 960 Pro darstellt, ist diese im Benchmark fast doppelt so schnell. Die Ursache dürfte bei den Optimierungen mit NVMe 1.3 liegen, während die 960 Pro noch NVMe 1.2 und die 950 Pro sogar noch NVMe 1.1 bietet. Allen genannten SSDs gemein ist die elektrische Schnittstelle PCIe 3.0 x4.

DirectStorage 1.2 BulkLoadDemo Benchmark (NVMe-Versionen)
    • Samsung 970 Pro 512 GB (NVMe 1.3)
      Ryzen 9 7900, RTX 2080 Ti
      12,4
    • Samsung 960 Pro 512 GB (NVMe 1.2)
      Ryzen 9 7900, RTX 2080 Ti
      6,5
    • Samsung 950 Pro 256 GB (NVMe 1.1)
      Ryzen 9 7900, RTX 2080 Ti
      6,2
Einheit: Gigabyte pro Sekunde (GB/s)
Samsung 950 Pro 256 GB Samsung 960 Pro 512 GB Samsung 970 Pro 512 GB
Schnittstelle PCIe 3.0 x4
Protokoll NVMe 1.1 NVMe 1.2 NVMe 1.3
Seq. Lesen/Schreiben 2.200/900 MB/s 3.500/2.100 MB/s 3.500/2.300 MB/s
4K Random Lesen/Schreiben 270K/85K IOPS 330K/330K IOPS 370K/500K IOPS

NvME 1.3 was created to address the shortcomings of 1.2, which was widely considered to be too slow. 1.3 improved upon 1.2 in several key ways, including increasing the data transfer rate and reducing the latency.

Computer Technicians

Anleitung für den Benchmark

Für die Tests wird eine kompilierte Version der BulkLoadDemo genutzt, die unter diesem Link heruntergeladen werden kann. Das 315 MB große Zip-Archiv muss anschließend entpackt werden.

Gemessen wird das Laufwerk, auf dem der Benchmark liegt

Zum Start des Benchmarks wird lediglich die BulkLoadDemo.exe ausgeführt, die im folgenden Ordner zu finden ist:

DirectStorage_1_2\Release\Output\BulkLoadDemo\BulkLoadDemo.exe

Der Benchmark startet nach einer kurzen Wartezeit automatisch, sofern das System ihn unterstützt. Auf einem Notebook der Redaktion mit Ryzen 7 7735HS und integrierter GPU brach die Software kommentarlos ab. Gemessen wird das Laufwerk, auf dem der Benchmark liegt.

Gesucht wird der durchschnittliche Durchsatz

Solange das Benchmark-Fenster geöffnet ist, laufen die Tests in Dauerschleife. Da es zu größeren Messschwankungen kommen kann, empfiehlt es sich aus mehreren Durchläufen den Mittelwert zu bilden.

Statt der oben prominent angezeigten Dauer für den Vorgang wird an dieser Stelle nur die darunter angegebene „Bandwidth“, also der Durchsatz in GB/s abgefragt. Dafür gibt es einen guten Grund: Die Menge der übertragenen Daten richtet sich augenscheinlich nach dem vorhandenen Videospeicher der Grafikkarte. Bei einer GeForce RTX 3060 Ti mit 8 GB wurden zum Beispiel nur 4,27 GB übertragen, während es bei einer GeForce RTX 4090 mit 24 GB schon etwa doppelt so viel war.

Nach diesem Ergebnis wird gesucht
Nach diesem Ergebnis wird gesucht

Um die Vergleichbarkeit zu wahren soll also nicht die auch von der Dateigröße abhängende Dauer des Vorgangs, sondern die ermittelte Bandbreite als Vergleichswert dienen.

Ergebnisse einreichen (Teilnahmeformular)

Die im Benchmark ermittelte Bandbreite (Mittelwert aus den ersten 5 Durchgängen!) wird auch in diesem Lesertest über das nachfolgende Formular eingesendet. Wird das Formular abgeschickt, entwirft das CMS automatisch einen Beitrag im Kommentar-Thread dieses Artikels. Teilnehmer können hier weitere Informationen ergänzen, allerdings zwingend außerhalb des vorformatierten Bereichs – der wird nämlich automatisch vom CMS ausgewertet. Erst wenn der Beitrag gespeichert wird, sind die Werte für ComputerBase sichtbar.

Dabei gilt es auf die korrekte Bezeichnung zu achten, die in jedem Fall immer Informationen zu zur SSD, CPU und GPU sowie der Windows-Version enthalten soll. Im Foren-Posting sollte darüber hinaus der Treiber und zwingend die Anbindung genannt werden, sollte die SSD nicht mit der vom Laufwerk maximal gebotenen Schnittstelle betrieben werden. Die Angaben sind so vorzunehmen, wie es die nachfolgende Liste und die bereits verfügbaren Benchmarks vormachen – das erhöht die Übersichtlichkeit enorm.

Beispiel
  • Samsung 980 Pro 2 TB, i5-13600K, RTX 3060 Ti, W11
Benchmark-Ergebnisse einreichen
Hinweis: Um Benchmark-Ergebnisse einzureichen, bitte einloggen!

Wie funktioniert das hier? Du veröffentlichst deine Ergebnisse als Forumbeitrag. Um uns die Arbeit zu erleichtern, müssen darin die für das Diagramm gedachten Daten ein bestimmtes Format haben. Dazu entwirft dieses Formular einen Forumbeitrag, den du um Screenshots und Details ergänzt abschickst (den generierten Part aber bitte nicht ändern!).

Nutze dieselbe Formatierung wie bereits vorhandene Diagramm-Einträge (und beachte ggf. die Hinweise im Text). Details kannst du in Freiform in deinen Forumbeitrag schreiben.

2. Deine Messwerte (ohne Einheit)

Testergebnisse im Überblick

Das nachfolgende Diagramm enthält die Ergebnisse der Redaktion sowie die von Lesern eingesendeten Ergebnisse. Die farbliche Kodierung bedeutet:

  • NVMe-SSD über PCIe 5.0 angebunden
  • NVMe-SSD über PCIe 4.0 angebunden
  • NVMe-SSD über PCIe 3.0 angebunden
  • SATA-SSD
  • SATA-HDD
DirectStorage 1.2 BulkLoadDemo Benchmark
Einheit: Gigabyte pro Sekunde (GB/s)

Die Redaktion würde sich auf eine rege Teilnahme am Benchmark freuen. Allen Teilnehmern schon im Voraus vielen Dank!

Dieser Artikel war interessant, hilfreich oder beides? Die Redaktion freut sich über jede Unterstützung durch ComputerBase Pro und deaktivierte Werbeblocker. Mehr zum Thema Anzeigen auf ComputerBase.