Linux gleichwertig mit ReadyBoost?

19

Gibt es ein Kernelmodul oder einen anderen Patch oder etwas Ähnliches wie ReadyBoost von Windows ?

Grundsätzlich bin ich auf der Suche nach etwas, mit dem Festplattenlesevorgänge auf einem Flash-Laufwerk zwischengespeichert werden können.

Nathan Osman
quelle
Flash-Laufwerk mit USB 2.0 ist sehr langsam, ich weiß nicht, warum Sie das tun möchten.
Daisy
1
@ warl0ck, da bin ich anderer Meinung, auch mit usb 2.0. USB 2.0 an einem nicht ausgelasteten Bus hat eine Bandbreite von 480 MBit / s == 60 MB / s. Selbst wenn Sie 20 MB / s Overhead einsparen, ist das immer noch eine beachtliche Geschwindigkeit. Bedenken Sie jedoch, dass USB 3.0 immer beliebter wird und über eine Kapazität von 5 Gbit / s verfügt. Bedenken Sie jedoch, dass es sich lohnt, etwas von Ihrer Festplatte zu entfernen. Wenn Sie Mist im Wert von 1 GB haben, um von der Festplatte zu lesen, und 200 MB zufällig in einem Readyboost-Cache zwischengespeichert werden, sind das 200 MB weniger, die von der Festplatte gelesen werden müssen, und können parallel zu den Festplattenlesevorgängen auftreten.
Antiduh

Antworten:

17

Bcache könnte genau das sein, wonach Sie suchen:

Bcache ist ein Linux-Kernel-Block-Layer-Cache. Damit können ein oder mehrere schnelle Festplattenlaufwerke wie Flash-basierte Solid-State-Laufwerke (SSDs) als Cache für ein oder mehrere langsamere Festplattenlaufwerke fungieren.

Ich bin gespannt auf die Aufnahme in die Linux-Mainline, aber leider ist es noch nicht ganz da .

Einige nette und lesbare Informationen finden Sie auch hier:

Probieren Sie es aus und sehen Sie, wie es auf Ihrem System funktioniert!

svenx
quelle
5

Es gibt keine und es macht wirklich keinen Sinn mehr.

ReadyBoost war für kurze Zeit nützlich, als die Maschinen RAM-begrenzt waren, die Laufwerke langsam waren und der Flash-Speicher billig war. Da RAM jetzt so billig ist, ist es viel sinnvoller, stattdessen RAM zu verwenden.

Heutzutage haben typische Flash-Laufwerke Schreibgeschwindigkeiten von nur etwa 5 MB / s und Lesegeschwindigkeiten von etwa 20 MB / s. Vergleichen Sie das mit den 50 MB / s Lese- und Schreibgeschwindigkeit Ihrer Festplatte, und es scheint nicht viel Sinn zu machen.

Die realen Leistungsvorteile von ReadyBoost sind nur auf Systemen mit stark eingeschränktem Arbeitsspeicher zu sehen.

David Schwartz
quelle
3
Würde es Sinn machen, auf einem Tablet oder Netbook zu sagen, das begrenzten Arbeitsspeicher hätte? Außerdem dachte ich, dass die Idee hinter ReadyBoost nicht so sehr darin bestand, dass das Lesen / Schreiben beschleunigt wurde, sondern dass die Zufallszugriffszeiten erheblich verkürzt wurden (eine herkömmliche Festplatte hätte eine Zufallszugriffszeit von etwa 17 ms, wohingegen ein Flash-Laufwerk wahrscheinlich wäre haben <1ms).
Nathan Osman
Das Verringern der Direktzugriffszeit ist dasselbe wie das schnellere Lesen. Es ist nie sinnvoll, mehr RAM hinzuzufügen. Es war im Grunde eine Lücke in kurzer Zeit, als das Hinzufügen von RAM nicht praktikabel war.
David Schwartz
4
Allerdings muss der Arbeitsspeicher gefüllt werden, indem zuerst versucht wird, auf die Dateien zuzugreifen, bevor der zukünftige Zugriff davon profitieren kann. Dies muss nach jedem Start wiederholt werden. Flash ermöglicht einen dauerhaften Cache, wodurch die Startzeit verkürzt werden kann.
Psusi
Seitdem habe ich meiner Maschine eine SSD hinzugefügt, die sogar meinen teuren Corsair Survivor-Flash-Speicher (mit einer Lesegeschwindigkeit von ~ 36 MB / s) umkreist.
Nathan Osman
1
Ich habe abgestimmt. Readyboost hat nicht viel mit RAM-Einschränkungen zu tun. Dies ist ein Cache auf Blockebene für eine Festplatte mit zwei Vorteilen: 1) Während des Zugriffs auf die Festplatte kann gleichzeitig darauf zugegriffen werden, was in gewisser Weise wie ein Teil-RAID-Spiegel wirkt. 2) Es kann beliebig skaliert werden, während der Arbeitsspeicher häufig durch den Platz auf der Hauptplatine begrenzt ist. Ich kann so viele Flash-Laufwerke kaufen, wie ich möchte, und sie auf jeden Root-Hub stecken (und somit keine Bandbreite teilen), und ich kann sie so groß machen, wie ich will. Viel Glück
Einspielen
3

ZFS ihres Ursprung in Solaris in den Jahren 2004 und jetzt in einigen Unix - Varianten einschließlich FreeBSD und Linux (wenn auch unter Linux noch in der Betaphase und nicht in dem Mainline - Kernel aufgrund von Problemen Lizenzierung) auch ein oder mehr sekundären Caches genannt hinzufügen kann L2ARCauf jedem Block - Gerät für die gleiche Art von Zweck.

Stéphane Chazelas
quelle
2

Ich habe mir die gleiche Frage gestellt und bin mit den aktuellen Antworten hier nicht zufrieden. Ich habe ein bisschen selbst recherchiert. Dies ist noch nicht getestet, aber dieser Artikel über Linux 3.9-Änderungen bot einen nützlichen Ausgangspunkt. Es werden drei Technologien erwähnt, mit denen ähnliche Effekte wie mit ReadyBoost erzielt werden sollen, obwohl der Fokus manchmal auf dem Zwischenspeichern von Schreibvorgängen statt auf Lesevorgängen zu liegen scheint. Weitere Forschung fand noch mehr.

Ich werde diese Antwort wahrscheinlich aktualisieren, sobald ich erste Erfahrungen mit mindestens einem davon gesammelt habe. Bis dahin sollte das Durchsuchen des Webs mit einem dieser Namen als Schlüsselwort eine angemessene Menge an Tutorials, Beschreibungen, Meinungen und Benchmarks ergeben.

MvG
quelle
1

Ich habe kein solches Modul für Linux gefunden, aber DragonFly BSD hat etwas , das Windows ReadyBoost entspricht. Die Funktion heißt SwapCache. Es verwendet eine schnelle Auslagerungspartition (SSD / Flash), um Daten und Metadaten von einem anderen Laufwerk (HDD) zwischenzuspeichern.

In der Manpage wird erklärt, wie Sie die Informationen für den Cache konfigurieren. Es beschreibt Anwendungsfälle und wann und wie ein solcher Caching-Mechanismus verwendet wird. Es scheint interessant zu sein, wenn das System nur von Zeit zu Zeit wechselt (dh die RAM-Größe ist geringfügig gering) oder häufig Metadaten liest und schreibt.

Futal
quelle
0

Linux hat Cachefs, mit denen Sie jedem Dateisystem ein Backup-Cache-Dateisystem hinzufügen können. Es wurde ursprünglich 1993 von Sun Microsystems für die Verwendung mit NFS entwickelt und veröffentlicht und wurde schnell von anderen Unix-ähnlichen Systemen kopiert. Also ja, es ist schon da und schon seit Jahren. :)

Geekosaurier
quelle
8
Dies ist nicht einmal im entferntesten richtig.
Ja, leider funktioniert CacheFS nicht auf lokalen Dateisystemen. Theoretisch könnte es sein, aber die Arbeit, die Unterstützung für die gängigen lokalen Dateisysteme hinzuzufügen, muss noch ausgeführt werden.
Psusi
-1

Soweit ich weiß, handelt es sich bei Readyboost im Grunde genommen um eine Erweiterung der Auslagerungsdatei, die mit der Swap-Partition unter FreeBSD vergleichbar ist (die meiner Meinung nach unter Linux ähnlich ist), sodass Sie möglicherweise nur eine Partition zum Flash-Laufwerk machen können eine Swap-Partition darauf.

Ich weiß jedoch fast nichts über diese Dinge.

user142852
quelle
5
Beachten Sie, dass eine starke Nutzung des Swap-Speichers in einem Flash-Laufwerk aufgrund der Einschränkungen des Schreibzyklus schädlich für den Flash-Speicher sein kann.
Renan,