6 Stimmen

Sind Solid-State-Laufwerke gut genug, um sich keine Sorgen mehr über IO-Engpässe auf der Festplatte zu machen?

Ich habe ein Proof-of-Concept-Programm, das einige Interprozess-Kommunikation einfach durch Schreiben und Lesen von der Festplatte durchführt. Ja, ich weiß, das ist wirklich langsam, aber es war der einfachste Weg, die Dinge zum Laufen zu bringen. Ich hatte immer geplant, zurückzukommen und diesen Teil des Codes durch einen Mechanismus zu ersetzen, der die gesamte IPC (Interprozesskommunikation) im RAM durchführt.

Glauben Sie, dass dieser Engpass mit dem Aufkommen von Solid-State-Disks vernachlässigbar werden wird?

Anmerkungen: Es handelt sich um eine in C# geschriebene Serversoftware, die einige in FORTRAN geschriebene Bare-Metal-Bibliotheken zur Zahlenverarbeitung aufruft.

9voto

jkupferman Punkte 610

Die kurze Antwort lautet wahrscheinlich nein. Ein berühmter Forscher namens Jim Gray hielt einen Vortrag über Speicherung und Leistung, der Folgendes beinhaltete diese großartige Analogie . Geht man von Ihrem Gehirn als Prozessor aus, dauert der Zugriff auf ein Register 1 Tick (Zahlen links), was in etwa der Zeit entspricht, die diese Information in Ihrem Gehirn benötigt. Der Zugriff auf einen Speicher dauert 100 Takte, was ungefähr dem Abrufen von Daten irgendwo in der Stadt entspricht, in der Sie leben. Der Zugriff auf eine Standardfestplatte dauert etwa 10^6 Ticks, was in etwa so viel bedeutet, als befänden sich die Daten auf dem Pluto. Wie passt das mit Solid State zusammen? Die aktuelle SSD-Technologie liegt irgendwo zwischen 10^4-10^5, je nachdem, wen man fragt. Sie können zwar um eine Größenordnung schneller sein, aber zwischen dem Lesen aus dem Speicher und dem Lesen von der Festplatte klafft immer noch eine enorme Lücke. Deshalb lautet die Antwort auf Ihre Frage wahrscheinlich nein, denn so schnell SSDs auch werden, sie werden immer noch deutlich langsamer sein als Festplatten (zumindest in absehbarer Zukunft).

3voto

Aiden Bell Punkte 27753

Ich denke, Sie werden feststellen, dass die Engpässe folgende sind gerade umgezogen . Da wir einen höheren Durchsatz erwarten, schreiben wir Programme mit höheren Anforderungen.

Dadurch werden Engpässe auf Busse, Caches und andere Teile als den Lese-/Schreibmechanismus (der ohnehin der letzte in der Kette ist) verlagert.

Bei einem Prozess, der nicht durch Festplatten-E/A gebunden ist, könnte es sein, dass er durch den Scheduler gebunden wird, der die Menge der Lese-/Schreibanweisungen begrenzt (wie bei allen Prozessanweisungen).

Um die grenzenlose E/A-Geschwindigkeit in vollem Umfang nutzen zu können, müssten Sie in Echtzeit reagieren und die Caches usw. sehr aggressiv verwalten.

Cuando Festplatten werden schneller dann gilt auch Arbeitsspeicher und Prozessoren y die Nachfrage nach Geräten . Der Engpass ist derselbe, die Arbeitslast wird nur größer.

2voto

bayer Punkte 6687

Ich glaube nicht, dass es die Art und Weise, wie E/A-gebundene Anwendungen geschrieben werden, auch nur im Geringsten verändern wird. Schnellere Prozessoren haben die Leute auch nicht dazu gebracht, Bubblesort als Sortieralgorithmus zu wählen.

Die externen Speicherhierarchien sind ein inhärentes Problem der Datenverarbeitung.

2voto

AShelly Punkte 33678

Joel on Software hat eine Artikel über seine Erfahrungen bei der Umstellung auf Solid State. Es ist nicht genau das gleiche Problem, das Sie haben, aber ich habe etwas mitgenommen:

Solid-State-Laufwerke können E/A-gebundene Vorgänge erheblich beschleunigen, aber viele Dinge (wie das Kompilieren) sind immer noch rechenintensiv.

2voto

Norman Ramsey Punkte 193087

Ich habe ein Solid-State-Laufwerk, und nein, das wird den Engpass E/A nicht beseitigen. Die SSD ist nett, aber sie ist nicht dass schön.

Es ist eigentlich nicht schwer, die IPC-Primitive Ihres Systems zu beherrschen oder etwas auf TCP aufzubauen. Aber wenn Sie bei Ihrem Festplattenmaterial bleiben und es schneller machen wollen, ramdisk o tmpfs könnte dies der Fall sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X