Linux equivalente a ReadyBoost?


19

Esiste un modulo del kernel o qualche altra patch o qualcosa di simile al ReadyBoost di Windows ?

Fondamentalmente sto cercando qualcosa che consenta di memorizzare nella cache le letture su disco.


L'unità flash con USB 2.0 è molto lenta, non so perché tu voglia farlo.
margherita,

1
@ warl0ck, non sono d'accordo, anche con USB 2.0. USB 2.0 su un bus non assistito ha una larghezza di banda di 480 mbit / sec == 60 MB / sec. Anche lo sconto, diciamo 20 MB / sec di spese generali, è comunque una velocità significativa. Non importa che USB 3.0 stia diventando popolare e abbia una capacità di 5 Gbit / sec. Non importa che valga la pena scaricare qualcosa dal tuo disco rigido; Se hai 1 GB di merda da leggere dal disco e 200 MB sembra essere memorizzato nella cache di una cache readyboost, sono 200 MB in meno che devono essere letti dal disco e possono accadere parallelamente alle letture del disco rigido.
antiduh,

Risposte:


17

Bcache potrebbe essere esattamente quello che stai cercando:

Bcache è una cache del livello di blocco del kernel Linux. Consente a una o più unità disco veloci come unità a stato solido (SSD) basate su flash di fungere da cache per una o più unità disco rigido più lente.

Attendo con impazienza la sua inclusione nella linea principale di Linux, ma sfortunatamente non è ancora del tutto presente .

Alcune informazioni utili e leggibili sono disponibili anche qui:

Provalo e vedi come funziona sul tuo sistema!


5

Non ce n'è, e in realtà non ha più senso.

ReadyBoost è stato utile per un breve periodo di tempo in cui le macchine avevano un limite di RAM, le unità erano lente e il flash era economico. Con la RAM così economica adesso, ha molto più senso usare la RAM invece.

I flash drive tipici di questi tempi hanno una velocità di scrittura di soli circa 5 MB / se velocità di lettura di circa 20 MB / s. Confrontalo con i 50 MB / s del tuo disco rigido e sembra che non ci sia molto senso.

I vantaggi di prestazioni reali di ReadyBoost sono visibili solo su sistemi fortemente limitati dalla memoria.


3
Avrebbe senso dire un tablet o un netbook con RAM limitata? Inoltre, ho pensato che l'idea alla base di ReadyBoost non fosse così tanto da rendere le letture / le scritture più veloci, ma che riducesse significativamente i tempi di accesso casuale (un HD tradizionale avrebbe un tempo di accesso casuale di circa 17 ms mentre un flash drive avrebbe probabilmente avere <1 ms).
Nathan Osman,

Ridurre il tempo di accesso casuale è la stessa cosa che rendere le letture più veloci. Non ha mai senso rispetto all'aggiunta di più RAM. Fondamentalmente è stato un punto fermo durante un breve periodo in cui l'aggiunta di RAM non era pratica.
David Schwartz,

4
Tranne per il fatto che la RAM deve essere popolata provando ad accedere ai file prima di poter beneficiare di un accesso futuro, e questo deve essere ripetuto dopo ogni avvio. Flash consente una cache persistente, quindi può aiutare ad accelerare il tempo di avvio.
psusi,

Da allora ho aggiunto un SSD alla mia macchina che gira intorno anche alla mia costosa unità flash Corsair Survivor (che ha una velocità di lettura di ~ 36 MB / s).
Nathan Osman,

1
Ho effettuato il downgrade. Readyboost non ha molto a che fare con i vincoli RAM. È una cache a livello di blocco per un disco rigido che presenta due vantaggi: 1) È possibile accedervi contemporaneamente mentre si accede al disco rigido, agendo in un certo senso come un mirror raid parziale. 2) Può essere ridimensionato quanto vuoi, mentre la RAM è spesso limitata dallo spazio della scheda madre. Posso acquistare tutte le unità flash che voglio e incollarle su ciascun hub di root (e quindi non condividere la larghezza di banda), e posso renderle grandi quanto voglio. Buona fortuna con 128 GB di RAM in un desktop per meno di $ 200
antiduh

3

ZFS è nato in Solaris nel 2004 e ora disponibile in alcuni Unices tra cui FreeBSD e Linux (anche se su Linux è ancora in beta e non nel kernel mainline a causa di problemi di licenza) consente anche di aggiungere una o più cache secondarie chiamate L2ARCsu qualsiasi dispositivo a blocchi per lo stesso tipo di scopo.


2

Mi sono posto la stessa domanda, ed essendo insoddisfatto delle risposte attuali qui, ho fatto un po 'di ricerche per conto mio. Questo non è ancora stato testato, ma questo articolo sulle modifiche a Linux 3.9 ha fornito un utile punto di partenza. Menziona tre tecnologie che dovrebbero ottenere effetti simili a ReadyBoost, anche se a volte sembra che l'attenzione sia rivolta alle scritture nella cache anziché alle letture. Ulteriori ricerche hanno trovato ancora di più.

Probabilmente aggiornerò questa risposta dopo aver acquisito un'esperienza di prima mano con almeno uno di questi. Fino ad allora, la ricerca nel Web con uno di questi nomi come parola chiave dovrebbe produrre una discreta quantità di tutorial, descrizioni, opinioni e parametri di riferimento.


1

Non ho trovato un tale modulo per Linux ma DragonFly BSD ha qualcosa di equivalente a Windows ReadyBoost. La funzione si chiama SwapCache. Utilizza una partizione di swap veloce (SSD / Flash) per memorizzare nella cache dati e metadati da un'altra unità (HDD).

La pagina man spiega come configurare le informazioni nella cache. Descrive i casi d'uso e quando e come utilizzare tale meccanismo di memorizzazione nella cache. Sembra interessante quando il sistema si scambia solo di volta in volta (ovvero la quantità di RAM è leggermente ridotta) o per letture e scritture frequenti di metadati.


0

Linux ha cachefs, che consente di aggiungere un filesystem cache di backup a qualsiasi filesystem. È stato originariamente progettato e rilasciato nel 1993 da Sun Microsystems per l'uso con NFS ed è stato rapidamente copiato da altri sistemi simili a Unix. Quindi sì, è già lì ed è stato per anni. :)


8
Questo non è neanche lontanamente corretto. Vedi tu stesso nella voce di Wikipedia sull'argomento: en.wikipedia.org/wiki/CacheFS

Sì, sfortunatamente, CacheFS non funziona sui filesystem del disco locale. Teoricamente potrebbe, ma il lavoro per aggiungere il supporto ai comuni filesystem locali deve ancora essere fatto.
psusi,

-1

Bene, da quello che ho capito, Readyboost è fondamentalmente un'estensione del file di paging, che è paragonabile alla partizione di swap su FreeBSD (che penso sarebbe simile in Linux), quindi potresti essere in grado di creare semplicemente una partizione del flashdrive da avere una partizione di swap su di essa.

Tuttavia, non so quasi nulla di queste cose.


5
Si noti che un uso eccessivo di swap in un'unità flash potrebbe essere dannoso per la memoria flash, a causa delle limitazioni del ciclo di scrittura.
Renan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.