> > > > IDF 2014: SSD Benchmarking - Intels Sicht auf SSD Performance

IDF 2014: SSD Benchmarking - Intels Sicht auf SSD Performance

DruckenE-Mail
Erstellt am: von

idf2014Die meisten SSD-Hersteller geben die Performance der SSDs mit zwei Kennzahlen an: Die IOPS und die Transferrate haben sich als Maßzahl für die Geschwindigkeit einer SSD etabliert. In einer recht mathematischen technischen Session zeigte Intel, warum diese Kennzahlen nicht unbedingt für alle Anwendungsbereiche sinnvoll sein können - und warum eine SSD mit hohen IOPS unter umständen nicht schneller als eine SSD mit niedrigen IOPS sein muss.

Ausgangspunkt der Überlegungen ist das Schreibverhalten auf NAND-Chips: Fallen beispielsweise sechs Schreibzyklen bei einer SSD an, die sechs NAND-Chips besitzt, ist die statistische Wahrscheinlichkeit so verteilt, dass durchschnittlich zwei NAND-Chips zwei Schreibzyklen ausführen müssen, zwei NAND-Chips genau einen Schreibzyklus ausführen und zwei NAND-Chips gar nicht verwendet werden. Entsprechend dauert das gesamte Schreiben auf der SSD doppelt so lange, als wenn die Daten genau gleichmäßig auf allen NAND-Chips verteilt werden könnten. Diesen Effekt bezeichnete der Intel-Entwickler als "Yahtzee-Effekt" nach dem entsprechenden Würfelspiel. Hier ist die Wahrscheinlichkeit bei sechs Würfeln identisch verteilt: Es gibt mathematisch am häufigsten zwei Paare. 

Die Performance einer SSD ist dabei als eine Art mathematischer Funktion zu verstehen: Die Hardware gibt die IOPS vor, die entsprechende Software und die Anwendungen führen dabei zu einer unterschiedlichen Queue-Depth. 

Geht man nun von einer größeren Anzahl von NAND-Dies aus, so steigt entsprechend dieser Effekt an. Intel zeigte die weiteren Überlegungen mit 50 NAND Dies, die ca. 10K IOPS pro Die erreichen können. Bei einer optimalen Verteilung der Schreibzyklen würden bis zu einer Queue-Tiefe von 50 die IOPS linear ansteigen, bis genau 50x 10K IOPS erreicht sind. Anschließend würden weitere Schreibzyklen ebenso effizient aufgeteilt werden, die Gesamtleistung würde bei 500K IOPS verbleiben. 

Aufgrund des Yahtzee-Effekts ist dies leider nicht so: Die tatsächliche IOPS-Leistung der SSD bleibt hinter der theoretischen Leistung zurück. Der Peak bei einer hohen Queue-Depth (256) ist zwar nahe an den 500K IOPS, gerade im Bereich der typischen Anwendungsbereiche zwischen 0 und 64 gleichzeitigen Zugriffen liegt die SSD aber in einem vergleichsweise ineffizienten Bereich unterhalb der theoretischen IOPS. 

DSC00718

Da SSDs eine unterschiedliche Charakteristik haben, wie die Verteilung der Schreibzyklen stattfindet, aber auch die maximalen IOPS sich unterscheiden, kann es sein, dass eine SSD, die eine hohe tatsächliche IOPS-Anzahl ausweist, im kritischen Bereich langsamer ist als eine SSD mit einer vergleichsweise niedrigen IOPS-Peak-Leistung.

Allerdings ist es nicht nur sinnvoll, die Schreibleistung bei verschiedenen Queue-Tiefen anzusehen, sondern auch die Latenzzeit ist bei unterschiedlicher Queue-Tiefe ausschlaggebend. Je höher dabei die Queue-Depth, desto größer ist die durchschnittliche Latenzzeit. Ein Drittel der IOPS brauchen demnach nur halb so lange zum Schreiben. Der Grund liegt in der Wahrscheinlichkeit, dass ein "freier" Die gefunden wird und nicht gewartet werden muss. Kollisions-Effekte führen hingegen zu langsamen Zugriffen. 

DSC00718

Oftmals wird bei Leistungsvergleichen die IOPS-Gleichmäßigkeit als Kennzahl dafür verwendet, wie gut die Leistung einer SSD aus QoS-(Quality of Service)-Sicht ist. Eine SSD, die beispielsweise durchgängig 200.000 IOPS (Operationen in einer Sekunde) liefert, ohne Aussetzer nach unten zu haben, wird als leistungsfähiger angesehen als eine SSD, die 175.000 IOPS leistet. Das muss aber für den QoS-Bereich nicht immer gelten: Kann die SSD besonders schwierige Schreibvorgänge nach hinten stellen, kommt eine besonders hohe IOPS-Leistung zustande, einzelne Schreibzugänge besitzen aber eine extrem hohe Service Time. Selbst wenn 99,99% der Schreibvorgänge zügig durchgeführt werden, können die verbleibenen mehrere Millisekunden dauern und deshalb zu einer schlechten Anwendungserfahrung führen.

Um diese Latenzzeit applikationsabhängig darzustellen, muss ein Anwendungsentwickler wissen, wie zeitkritisch bestimmte Vorgänge sind. Ist es beispielsweise bei einer Börsenapplikation notwendig, die Daten mit einer Verzögerung von 5ms zu liefern, kann man bei der Betrachtung der Latenz genau dies als maximale QoS-Zeit annehmen. Eine SSD muss demnach schneller sein als dieser Wert, beispielsweise bei 99,99% der IOPS. In der unten stehenden Grafik ist bei diesen 99,99% die IOPS-Leistung von zwei SSDs dargestellt. Bei 5ms ist die SSD mit der blauen Funktion fast drei Mal so schnell wie die grüne SSD.

 DSC00727

Ein weiterer interessanter Effekt bei SSDs betrifft gleichzeitige Schreib- und Lesezugriffe. Geht man als Beispiel von einem Mix von 70% Lesen und 30% Schreiben aus, könnte man vermuten, dass entsprechend der Prozentzahlen die Lese- und Schreibleistung ausfällt: Kann eine SSD bei einer Queue-Tiefe von 40 beispielsweise 300K IOPS Lesen und 150.000K schreiben, so könnte man vermuten, dass sich die Gesamtleistung folgendermaßen zusammensetzt:

0,7x 300K + 0,3x 150K = 255K

Leider ist dies aufgrund des sogenannten Read/Write Mixing Effects nicht korrekt. Die Gesamtleistung ist deutlich niedriger, weil die Queue-Tiefe einzeln betrachtet werden muss. Richtig ist es, die Performance dann mit der entsprechenden Queue-Tiefe zu betrachten. Die Leistung ist also beim Schreiben nur mit der langsameren Queue-Tiefe von 40*0,3 zu betrachten und beim Schreiben mit 40*0,7. Durch den Yahtzee-Effekt ist die Gesamtleistung deutlich niedriger als die oben genannte Rechnung.

Zuletzt sprach Intel auch über weitere Entwicklungen im AHCI Stack, den man deutlich effizienter gestalten muss, um die hohen IOPS verarbeiten zu können. Der aktuelle AHCI-Stack ist hierfür nicht ausgelegt, da er noch auf Harddisks ausgelegt ist. SSDs - und vor allen Dingen die kommenden NVM PCI-Express-SSDs besitzen deutlich höhere IOPS und führen somit zu einer beachtlichen CPU-Last. Die CPU-Leistung möchte Intel aber natürlich nicht für Storage-Management-Funktionen vergeuden, sondern für tatsächliche Berechnungen. Ein effizienter AHCI-Stack würde zudem auch die Latenz verringern. Entsprechend hat man bereits einen neuen Linux-Stack entwickelt, der diese Probleme beseitigen soll und um den Faktor 3 effizienter sein soll.  


DSC00732

 

 

 

Social Links

Ihre Bewertung

Ø Bewertungen: 5

Tags

Kommentare (9)

#1
Registriert seit: 05.07.2010

Admiral
Beiträge: 12012
Zitat
als wenn die Daten genau gleichmäßig auf allen NAND-Chips verteilt werden könnten.
Wenn wir von Lesezugriffen reden, ja, aber bei Schreibzugriffen ist es Sache des Controller wo er die Daten schreibt und damit wie er die Zugriffe über die NANDs verteilt. Freie Pages sollte er in diesem Fall in allen 6 NANDs vorrätig halten, damit er in der Entscheidung nicht eingeschränkt wird. Das führt dann nämlich genau dazu, dass "SSDs eine unterschiedliche Charakteristik haben, wie die Verteilung der Schreibzyklen stattfindet".

Was hat eigentlich eine NVMe SSD noch mit dem AHCI Stack zu schaffen? Läuft das bei Windows doch wieder alles zusammen, oder wie? NVMe ist ja doch ein eigens Protokoll und sollte mit AHCI nichts mehr zu tun haben.
#2
customavatars/avatar184385_1.gif
Registriert seit: 11.12.2012

Hauptgefreiter
Beiträge: 175
Mich würde vor allem interessieren, welche Nutzergruppe in den Genuss dieses "um den Faktor 3 effizienter"en Linux-Stacks kommt. Wie ersetzt man AHCI auf seinem System dadurch? Oder wird das einfach Teil von Windows 10 sein? ^^
#3
Registriert seit: 26.05.2014

Banned
Beiträge: 119
Sehr interessant. Intel hängt nicht alles "gleich" an die große Glocke. Tja, leider ... Vielleicht per PN ...
#4
Registriert seit: 15.08.2014

Matrose
Beiträge: 19
Und wer genau vergleicht technische Daten, statt auf Benchmark-Vergleiche und Erfahrungsberichte zur Haltbarkeit zu vertrauen?
#5
Registriert seit: 26.05.2014

Banned
Beiträge: 119
"Die CPU-Leistung möchte Intel aber natürlich nicht für Storage-Management-Funktionen vergeuden, sondern für tatsächliche Berechnungen. Ein effizienter AHCI-Stack würde zudem auch die Latenz verringern. Entsprechend hat man bereits einen neuen Linux-Stack entwickelt, der diese Probleme beseitigen soll und um den Faktor 3 effizienter sein soll."

Zu dem Thema gab es schon 2010 Beiträge. Aber leider...
Es ist eben "blöd", wenn eine SSD an einem Festplattentreiber (für die Dinger, bei denen sich was dreht ;) ) betrieben werden muss. Man könnte PCs mit 5 Jahre alten SSDs jetzt sofort mit einem SSD-Treiber effektiver machen. Aber leider kann das System HDDs und SSDs nicht sauber unterscheiden, weil...

Wenn man jetzt sagte, es gibt in meinem PC garantiert keine HDDs mehr, dann könnte man sofort einen SSD-Treiber einsetzen. Ich weiß aber jetzt nicht, was dann mit einem USB-HDD wäre.

Coriolis Systems Blog

AnandTech | Intel SSD DC P3700 Review: The PCIe SSD Transition Begins with NVMe

"In the example above, the Linux AHCI stack alone requires around 27,000 cycles. The result is you need 10 Sandy Bridge CPU cores to drive 1 million IOPS. The solution is a new lightweight, low latency interface - one designed around SSDs and not hard drives."

Auf dem Stand waren ganz normale Foren-User schon 2010/2011...
Zitat Peter123x;22617564
Intel hängt nicht alles "gleich" an die große Glocke.
#6
Registriert seit: 31.01.2007

Bootsmann
Beiträge: 594
Zitat Peter123x;22621654
"In the example above, the Linux AHCI stack alone requires around 27,000 cycles. The result is you need 10 Sandy Bridge CPU cores to drive 1 million IOPS. The solution is a new lightweight, low latency interface - one designed around SSDs and not hard drives."

Auf dem Stand waren ganz normale Foren-User schon 2010/2011...

Ach, du willst sagen seit 2010 sehnst du dich nach schnelleren SSDs und nimmst dabei gerne auch das erhöhte Datenverlust-Risiko/Kompabilitätsprobleme/Installationsprobleme in Kauf, die es zwangsläufig bei einem neuen, kaum getesten Softwarestacks gibt?
#7
Registriert seit: 26.05.2014

Banned
Beiträge: 119
Nein und ja. Schnellere SSDs interessieren mich kaum. Fast jede neue Windowsversion hat geänderte AHCI-Treiber. Bei Linux gibt es wohl den Status experimentell. Die Raidtreiber MSM und RST nehmen die Jungspunde ja auch ohne jede Notwendigkeit. Wenn man also vor 5 Jahren seine System-Festplatte am alten Festplattentreiber behalten hätte und eine SSD mit Kram am neuen SSD-Treiber zum testen - damit hätte ich gut leben können.

Festplatten und DVD-Brenner laufen ja auch an SATA-Buchsen aber mit völlig anderen Treibern. Die kann das System unterscheiden. ;) Für die ersten CD-Brenner musste man extra einen SCSI-Controller einbauen. Vielleicht wäre schon SAS zweckmäßiger für SSDs? Es gibt aber keine Consumer-SSDs mit SAS.

NVM express räumt mit dem Mist auf. Den Unterschied kann das System erkennen und entsprechende (neue, "unerprobte") Treiber einsetzen. An NVMe wird seit 2008 gearbeitet. Gewusst hat man also schon immer, dass SATA-SSDs in gewisser Hinsicht Murks sind. Und wo wird zuerst NVMe eingesetzt? Im Serverbereich. Die können sich doch schon gar keine Komplikationen leisten.

Samsung announced first NVMe PCIe SSD for Dell server
Samsung launch NVME PCIe SSD Drive for Dell ServersSSD Tester & Flash Tester Solution- Tanisys Technology

Its features include :

•A scalable queue interface. Each core can have multiple queues – handy for virtual machines – and separate submission and completion queues with up to 64k outstanding commands.

•Efficient queuing. The queuing workload is split between the host and the NVMe controller.

•Command arbitration. Commands can be assigned different priorities – admin commands are high priority – to help manage service levels.

•Simple, fixed size commands. Three required I/O commands of fixed length means that lower-cost controllers can handle the SSD’s high performance.

•Data management hints. Helps controllers optimize data placement. <--- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Vllt erledigt sich mit den hints/Hinweisen auch die Diskussion über Defragmentierung von SSDs...

"Schnellere Datenautobahn für Turbo-Speicherdisk gesucht
PCI Express soll die zukünftige SSD-Performance zum Prozessor bringen

26.02.13 | Autor / Redakteur: Elmar Török / Rainer Graefen"
PCI Express soll die zukünftige SSD-Performance zum Prozessor bringen

Das ist also auch schon wieder 1,5 Jahre her...
" Ein Ziel: Nicht jeder Hersteller sollte das Rad, also den Treiber für die entsprechenden Betriebssysteme, neu erfinden.

Ein gemeinsamer Treiber, am besten bereits Bestandteil der Codebasis des Betriebssystems bei der Auslieferung, würde den Einsatz deutlich vereinfachen. Also ganz ähnlich der SATA-Spezifikation, die auch ab Werk praktisch jede Festplatte erkennt. Zudem würde ein gemeinsamer Standard Schluss machen mit unterschiedlichen Implementierungen von PCIe, ein Plus für die Interoperabilität. "

Mit anderen Worten: Es hätte auch jeder SSD-Hersteller schon viel früher optimale Treiber für SEINE jeweilige SSD liefern können.
Bei Grafikkarten ist das heute noch alltäglich. (Für meine Quadro gibt es je nach Anwendungsgebiet immer noch jeweils verschiedene Treiber.)

(Eigentlich wollte ich das hier gar nicht schreiben, damit das kein aufdringlicher Klugredner in seine Textkonserven kopiert.)
#8
Registriert seit: 17.06.2009

Leutnant zur See
Beiträge: 1255
@dbode

Interessanter Hintergrundartikel, danke!
#9
customavatars/avatar87890_1.gif
Registriert seit: 24.03.2008
Heidelberg
Moderator
A glorious mess!
Beiträge: 4828
Jup. Danke für den interessanten Artikel. Wieder ein gutes stück schlauer.
Freue mich schon auf die NVMe SSD´s.
Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Samsung SSD 750 EVO im Test - die neue Einsteiger-Klasse?

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/SAMSUNG-750-EVO/TEASER

Samsung gehört zu den Standardempfehlungen, wenn es um SSDs geht, sowohl im Highend-Bereich mit der Samsung SSD 950 PRO als auch im Mainstream-Bereich mit der 850 EVO. Letztere hat vor kurzem ein Upgrade erfahren, dabei wurde der 3D-Speicher durch eine neue Version mit nunmehr 48 statt 32... [mehr]

Crucial MX300 SSD mit 750 GB und 3D-NAND im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/CRUCIAL-MX300-750GB/TEASER

Crucial meldet sich zurück und packt mit der MX300 aktuelle Speichertechnologie in ein 2,5-Zoll-Laufwerk. Den Anfang macht dabei ein einziges Modell mit einer ungewöhnlichen Speicherkapazität von 750 GB, das gegen die Samsung SSD 850 EVO und andere Mainstream-Laufwerke bestehen soll. Die... [mehr]

Samsung SSD 850 EVO mit neuem 48 Layer 3D-NAND im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/SAMSUNG-850EVO-48/TEASER

Bereits vor einiger Zeit hat Samsung den nächsten Schritt in der Fertigung von NAND-Speicher angekündigt, nämlich die Produktion von 3D-NAND mit 48 Layern. Dieser soll jetzt in der Samsung SSD 850 EVO zum Einsatz kommen, wobei sich der Produktname nicht ändert, die Bestände werden also nach... [mehr]

OCZ Trion 150 SSD mit 240 GB im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/OCZ-TRION-150/TEASER

Letztes Jahr hat OCZ mit der Trion 100 eine SSD auf TLC-Basis für preisbewusste Käufer auf den Markt gebracht. Nach etwas über einem halben Jahr erfährt die Trion nun ein Update in Form der OCZ Trion 150, bei der weiterhin TLC-Speicher von Toshiba zum Einsatz kommt, der jetzt allerdings in 15... [mehr]

NVMe-SSD Samsung 960 PRO mit 512 GB und 2 TB im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/SAMSUNG-960-PRO/TEASER

Die Samsung SSD 950 PRO hat bis heute unsere Benchmark-Tabelle als schnellste SSD angeführt. Konkurrenz bekommt sie jetzt aus eigenem Haus in Form des Nachfolgers 960 PRO. Dabei handelt es sich um mehr als ein kosmetisches Update, denn Samsungs neuste M.2-SSD mit NVMe-Interface ist insbesondere... [mehr]

Toshiba OCZ RD400 SSD mit NVMe im Test

Logo von IMAGES/STORIES/GALLERIES/REVIEWS/TOSHIBA-OCZ-RD400/TEASER

Auch Toshiba steigt jetzt mit der OCZ RD400 SSD in die Königsklasse der schnellen Halbleiter-Laufwerke mit NVMe-Interface ein. Mit einem PCI-Express-Interface der dritten Generation und vier Lanes verspricht Toshiba eine Performance von bis zu 2.600 MB/s beim Lesen und 1.600 MB/s beim Schreiben,... [mehr]