Warum sind NVE in der Praxsis nicht signifikant schneller als SATA SSDs als systemplatte

A

askling

Gast
Bootzeiten werden kaum verkürzt, das starten von Programmen auch meistens nur um wenige Prozente.

Klar, da wird z.T. an einem längeren initialisieren des NVE drives beim booten liegen und es wird auch nur selten komplett sequenziell gelesen. Daher schauen wir mal auf die Random 4k Werte.

Bei Random 4KiB/Q1T1 sind die NVE zum Teil nur noch 30% schneller als die SATA SSDs. Ich vermute aber mal, dass Q1T1 eher selten vorkommen? Bei Random 4KiB/Q8T8 zieht die NVE aber mit 3x-4x so schnell davon.

https://www.computerbase.de/2018-04...pro-test/2/#abschnitt_kopieren_schreibenlesen

Wo ist der Flaschenhals, dass von der Geschwindigkeit kaum etwas ankommt?
 
Liegt sehr wahrscheinlich schlicht am genutzten OS.
 
Ein PC besteht ja nicht nur aus ner SSD, ist ja noch andere Hardware vorhanden. Die Software muss ja auch mitspielen.
 
Weil das Starten eines OS weit mehr ist als das stupide Kopieren von Daten in den RAM. Das was gelesen wird, muss ja auch verarbeitet werden. Und inzwischen sind wir bei einem Punkt, wo das länger dauert als das Laden der Daten. Deswegen laden Spiele oft auch nicht schneller mit einer noch schnelleren SSD.
 
  • Gefällt mir
Reaktionen: Relict
Z.B. die CPU bzw. der Prozess der die Daten verarbeiten muss? Manchmal gibt's z.B. beim initialisieren von Geräten/Treibern auch fixe Timings.
 
Wenn ein Programm 3000 MB groß ist, und die SSD 3000MB/sec lesen kann, heißt das nicht, dass das Programm in einer Sekunde geladen ist!
Weil die Daten müssen ja auch noch verarbeitet werden, in den RAM, vom Prozessor verarbeitet. Und daran scheitert es dann. Ein Programm besteht aus teilweise 1000+ Dateien, die müssen auch erstmal gesucht werden, ausgelesen werden ...
 
askling schrieb:
Wo ist der Flaschenhals, dass von der Geschwindigkeit kaum etwas ankommt?
du hast es doch selbst schon erkannt: Zu wenig Parallelisierung (Threads) und zu wenig Vorhersehbarkeit (Queue Depth).
 
Der wohl z.Z. größte Unterschied zwischen SATA und NVMe ist wohl das Kopieren großer Datenmengen.
 
  • Gefällt mir
Reaktionen: Grimba
Manche verwechseln eben Zugriffszeit mit Datendurchsatz.

Das selbe Schema sieht man beim Glasfaser...sach Ich jetzt.
 
  • Gefällt mir
Reaktionen: Grimba
@fellkater jo, mit dem kleinen Zusatz, dass die NVME häufig direkt am PCIe Bus an der CPU hängt, und nicht erst über den Chipsatz angesprochen werden muss.

Was beim Booten und starten von Programmen aber entscheidend ist: Die Zugriffszeit. Und die ist schon bei Sata SSDs exorbitant gering. Dann zählt in diesem Moment noch die Zahl gleichzeitiger Zugriffe. Wenn diese bei einer SATA SSD für alle Zugriffe beim Booten und sowieso beim Starten von Programmen schon nicht ausgereizt wird bzw. schlicht nicht ausgereizt werden kann wegen dem I/O Overhead, wie soll die NVME dann signifikant schneller sein (im für Menschen zeitlich wahrnehmbaren Bereich)?

Bei beiden ist zudem beim Booten und beim erstmaligen Starten eines Programms der Cache noch quasi leer, und die Daten müssen quasi alle aus dem Festspeicher direkt geholt werden.
 
Zuletzt bearbeitet:
ein teil des grundes dürfte auch sein, dass die nvme zwar bei guten bedingungen (sequentiellen lesen) zwar schneller sind aber auf grund der selben technologiebasis die nand speicherzellen sind sind die zugriffszeiten bis auf geringe abweichungen die selben wie bei den sata ssd. also da wo die random lesen/schreiben werte entscheidend sind und zudem auch die parallele anforderung von daten nicht größer ist als sie bei sata ssd wären, bringen die nvme keinen vorteil in sachen geschwindigkeit. typischerweise ist das so bei diversen programmstarts wohl auch bei systemstarts. wie h00bi auch schon schrieb. um ssd und nvme in der hinsicht zu vergleichen achte man auf die geschwindigkeiten bei den random read/write werten mit queue depth 1 - was typisch für desktop rechner szenarien wäre. da geht es um den bereich von ~60mb/s je nach laufwerk gibt es da schon etwas unterschiede. natürlich ist das noch immer extrem viel schneller als es bei herkömmlichen hdd mit drehenden platter ist (da ist es eher im einstelligen mb bereich bis zu nur kb/s bereich.)
 
Die stärke von NVME SSDs gegenüber SATA SSDs sind Datendurchsatz und IOPS ... die Zugriffszeiten werden nicht besser ... auch eine NVME braucht ein wenig länger zum initialisieren, moderne Computer werden beim Start durch dinge wie RAM training HW Checkups und anderen dingen lange vor einem HDD / SSD / NVME zugriff ausgebremst ... da hilft auch das nicht.

Windows lädt seine Dateien in Reihe und während des Windows Startvorgangs, als auch bei Programmstarts limitieren meistens Dinge wie CPU Leistung, Fixxe Timings ( waits ) , Anmeldeprozesse / Onlineanbindungen ( prüfung Lizenzen / Anmeldung mit Nutzerkonten ) / nachladen von Plugins die Startzeit enorm.

Ihre stärke können NVME SSDs am ehesten beim Kopieren von großen Dateien oder bearbeiten von Großen Dateien ausspielen. für alles andere reicht SATA / M.2
 
  • Gefällt mir
Reaktionen: AwesomSTUFF
Bei einem Boot vorgang ist Geschwindigkeit nicht wirklich entscheidend, sondern sicherheit.

Wie schnell der Speicher ist interessiert das BIOS dss seine abfragen durchführt absolut gar nicht.
 
Die menge der zu verarbeitenden Daten ist schlichtweg zu gering um dort einen signifikanten Unterschied ausmachen zu können. Wenn Du mit einem Auto auf einer Flugzeugstartbahn gegen einen A320 in einem Viertelmeilenrennen antreten würdest, würden wahrscheinlich auch beide nicht allzu unterschiedlich abschneiden.
 
askling schrieb:
Wo ist der Flaschenhals, dass von der Geschwindigkeit kaum etwas ankommt?

Das was die SSD deutlich schneller gemacht haben gegenüber einer HDD waren die Zugriffszeiten.
HDD ca 8-14 ms SSD 0,00irgendwas.
Die von der SSD ankommenden Daten müssen ja irgendwo verarbeitet werden. Bei vielen kleinen Dateien ist z.b. das Filesystem eine beschränkung. Ich hab z.b. 8.3 abgeschaltet oder abschalten der protokollierung für die letze zugriffszeit.
 
Selbst im Vergelich zu uralten DDR1 ist 970 pro eine Schnecke. Klar ist es die Zugriffszeit.
 
askling schrieb:
Bootzeiten werden kaum verkürzt, das starten von Programmen auch meistens nur um wenige Prozente.
Die Bootzeit hängt vor allem von der Zeit für die Initialisierung der HW ab, weniger von der Performance der SSD. Bei Laden von Programmen muss die CPU den geladenen Programmcode ja auch erst abarbeiten und je geringer der Anteil der Zeit ist, die fürs eigentliche Laden gebraucht wird, eben im Vergleich zur der Zeit die CPU braucht, umso weniger bringt es dieses Laden noch schneller zu machen.
askling schrieb:
Bei Random 4KiB/Q1T1 sind die NVE zum Teil nur noch 30% schneller als die SATA SSDs.
30% sind es aber nur, wenn man eine lahme SATA mit einer schnellen NVMe SSD vergleicht, die schnellen SATA SSDs wie eine Samsung 860 Evo oder Pro kommen auch auf 50MB/s, da haben die NVMe SSDs kaum eine nennenswerten Vorteil. Es ist eben die Latenz des Mediums die diese Zugriffszeit vor allem bestimmt und nur die Intel Optane (und Samsung Z-SSDs) können sich hier wirklich absetzen.
askling schrieb:
Ich vermute aber mal, dass Q1T1 eher selten vorkommen? Bei Random 4KiB/Q8T8 zieht die NVE aber mit 3x-4x so schnell davon.
Nein, umgekehrt, bei Heimanwendern kommen die Q8T8, also 8 Threads die jeweils 8 parallele Zugriffe machen, niemals im Alltag vor! Es ist schon viel wenn es mal 4 parallele Zugriffe gibt und auch wenn die meisten Zugriffe vielleicht nicht nur über 4k gehen, so sind sie wenigsten wirklich lang. Aber selbst SATA SSDs brauchen schon locker 512k oder 1MB lange Zugriffe um in die Nähe der maximalen Transferraten zu kommen, auch wenn dies bei ATTO oft anderes aussieht, aber ATTO bencht ja auch mit 4 overlapping Zugriffen.

NVMe SSDs brachen noch länger und vor allem i.d.R. auch mehrere parallele Zugriffe um die beworbenen Transferraten zu erreichen, selbst der einzelnen 16MB lange Zugriff mit dem AS-SSD bencht, reicht ja bei denen nicht zum Erzielen der vollen sequentiellen Transferraten. CrystalDiskMark bencht daher in der 6er Version mit 32 parallelen Zugriffen über ja 128k, in Version 7 mir 8 parallelen 1MB lange Zugriffen.

Schau Dir aber an welche Transferraten die SSD aber bei Zugriffen erzielen wie sie für Heimanwender realistisch sind, etwa über 32k oder 128k aber bei nur einem Zugriff oder auch 4k bei QD4, wie Anvils Benchmark es macht. Da sieht man im bei Tweaktown im Review der 860 Evo 1TB dann bei 4k 47MB/s, 4k QD4 172MB/s, 32k 205MB/s und 128k 380MB/s. Die 970 Evo 1TB erreichte jeweils 58MB/s, 204MB/s, 223MB/s und 421MB/s und die MP600 59MB/s, 221MB/s, 309MB/s und 894MB/s, wenn auch jeweils auf unterschiedlichen Testsystemen, wobei gerade diese Werte sehr vom System und dessen Energiespareinstellungen abhängen. Wie groß die Unterschiede sein können, sieht man am Review der Optane 905P 960GB die in einem 8700K System 4k lesend 222MB/s schafft, im 7700K Testsystem aber auf 294MB/s kommt. Aber selbst die 222MB/s sind so viel wie die 970 Evo erst bei einem 32k langen Zugriff erreicht. Bei 32k kommt die Optane dann auf 1080MB/s bzw. 1243MB/s, je nach Testsystem und 128k sind es 1848MB/s bzw. 1962MB/s. Wie man sieht, werden die Unterschiede zwischen den Testsystemen kleiner je länger die Zugriffe sind bzw. je mehr parallele Zugriffe es gibt, bei 4MB sind die Werte dann nämlich sogar bei den Nachkommastellen identisch bei 2473,43MB/s.

Wie man dann beim Games Loading Test im Review der MP600 sieht, landet die Optane 905P im gleichen Testsystem mit 8,444s deutlich an der Spitze, die nächst schnellste braucht über 10s und die MP600 11,281s, obwohl sie eben sequentiell eine fast doppelt so hohe maximale Transferraten als die Optane 905P schafft. Dies zeigt auch deutlich, dass eben die Zugriffe bei solchen Anwendungen einfach zu kurz sind und es zu wenige parallele Zugriffe gibt, damit sie ihren Vorteil ausspielen könnte, immerhin kommt sie beim Anvil bei 4MB auf 3969MB/s, aber bei 128k eben nur auf etwa die Hälfte des Wertes der Optane 905P.
 
  • Gefällt mir
Reaktionen: askling
Super Antworten, danke!

@Holt: Wären Virtuelle Maschinen, z.B. per VMWare/HyperV etwas, wo auch ein Heimanwender von einer NVE profitiert. Oder ziehen die Zugriffe da ähnlich wenig nutzen aus parallelisiert und Threads wie bei 'normalen' Anwendungen? Weiß du das zufällig?

Für parallel und viele Threads fällt mir persönlich immer nur ein Server ein der viele sehr Requests bearbeiten muss.
 
Auch wenn virtuelle Festplatten so gesehen eine oder ein paar wenige Dateien auf der Platte des host sind, so ist das nichts anderes als eine Zwischenebene für die jeweiligen Dateizugriffe der VM. Also letztendlich hast du da auch I/O auf der SSD. Möglich, dass da Balancer und zusätzliches Caching zum Einsatz kommen, aber das Problem gänzlich eliminieren kann man dadurch nicht.

Bitte nicht verwechseln: Ein Thread (auch beim Server) bedeutet per se noch keinen Zugriff auf's Dateisystem. Das hat erstmal nichts miteinander zu tun. Ich kann in einen Server die langsamste Platte der Welt einbauen. Wenn dieser alles, was er zur Beantwortung vieler Anfragen (z.B. 1 pro Thread) benötigt, im Arbeitspeicher hat, wirst du keinen Unterschied bemerken, weil nie auf die Platte zugegriffen wird. Sorry, ich könnte ja auch mal komplett lesen...hust... es ging ja um Q8T8.

Naja klar, ein Server ist hier natürlich eher das Szenario. Und wenn du jetzt x VMs laufen hast, die alle fleißig mit I/O beschäftigt sind, dann hast du ggf. bei sowas wie Q8T8 Vorteile, weil's dann wohl auch oft genug vorkommt, sofern das VM System auf dem Host das in einem Prozess abwickelt. Threads sind immer an einen Prozess gebunden.
 
Zuletzt bearbeitet:
askling schrieb:
Wären Virtuelle Maschinen, z.B. per VMWare/HyperV etwas, wo auch ein Heimanwender von einer NVE profitiert.
Das hängt davon ab was in den VM läuft und wie viel I/O auf die SSD die virtualisierten Anwendungen erzeugen. Das einzige was sich durch die Virtuelle Maschinen ändert ist ja, dass man dann eben die Zugriffe mehrere Rechner auf einer SSD bündelt indem deren Laufwerke als Image auf dieser einen SSD liegen, nicht aber wenn jede VM eine eigene Platten zugewiesen bekommt. Allerdings gibt es zumindest in dem Fall der Images dann immer auch einen Verlust an Performance durch den Overhead bei dieser Lösung.
 
Zurück
Oben