Linux equivalente ao ReadyBoost?

19

Existe um módulo do kernel ou algum outro patch ou algo semelhante ao ReadyBoost do Windows ?

Basicamente, estou procurando algo que permita que as leituras de disco sejam armazenadas em cache em uma unidade Flash.

Nathan Osman
fonte
O pendrive com usb 2.0 é muito lento, não sei por que você quer fazer isso.
daisy
1
@ warl0ck, eu discordo, mesmo com o usb 2.0. O USB 2.0 em um barramento não atendido possui uma largura de banda de 480 mbit / s == 60 MB / s. Mesmo com descontos, digamos 20 MB / s de sobrecarga, ainda é uma velocidade significativa. Não importa que o USB 3.0 esteja se tornando popular e tenha capacidade de 5 Gbit / s. Não importa que descarregar qualquer coisa do disco rígido valha a pena; Se você tem 1 GB de porcaria para ler do disco e 200 MB são armazenados em cache em um cache readyboost, são 200 MB a menos que precisam ser lidos no disco e podem ocorrer paralelamente às leituras do disco rígido.
Antiduh 21/10

Respostas:

17

Bcache pode ser exatamente o que você está procurando:

Bcache é um cache da camada de bloco do kernel do Linux. Ele permite que uma ou mais unidades de disco rápidas, como unidades de estado sólido (SSDs) baseadas em flash, atuem como um cache para uma ou mais unidades de disco rígido mais lentas.

Aguardo ansiosamente sua inclusão na linha principal do Linux, mas infelizmente ainda não está lá .

Algumas informações legais e legíveis também estão disponíveis aqui:

Experimente e veja como funciona no seu sistema!

svenx
fonte
5

Não existe, e realmente não faz mais sentido.

O ReadyBoost foi útil por um curto período de tempo, quando as máquinas eram limitadas à RAM, as unidades eram lentas e o flash barato. Com a RAM tão barata agora, faz muito mais sentido usar a RAM.

Atualmente, as unidades flash típicas têm velocidades de gravação de apenas cerca de 5 MB / se velocidade de leitura de cerca de 20 MB / s. Compare isso com os 50 MB / s de leitura e gravação do disco rígido e não parece haver muito sentido.

Os benefícios de desempenho do mundo real do ReadyBoost são vistos apenas em sistemas com muita restrição de memória.

David Schwartz
fonte
3
Faria sentido, digamos, um tablet ou netbook com RAM limitada? Além disso, achei que a idéia por trás do ReadyBoost não era tanto que tornava as leituras / gravações mais rápidas, mas reduzia significativamente os tempos de acesso aleatório (um HD tradicional teria um tempo de acesso aleatório de cerca de 17ms, enquanto uma unidade flash provavelmente tem <1 ms).
Nathan Osman
Reduzir o tempo de acesso aleatório é a mesma coisa que tornar as leituras mais rápidas. Nunca faz sentido em comparação com adicionar mais RAM. Foi basicamente uma pausa durante um curto período de tempo em que adicionar RAM não era prático.
David Schwartz
4
Exceto que a RAM precisa ser preenchida tentando acessar os arquivos primeiro, antes de poder beneficiar o acesso futuro, e isso deve ser repetido após cada inicialização. O Flash permite um cache persistente, portanto, pode ajudar a acelerar o tempo de inicialização.
psusi 27/09/11
Desde então, adicionei um SSD à minha máquina que roda em círculos até mesmo no meu caro pen drive Corsair Survivor (que tem ~ 36 MB / s de velocidade de leitura).
Nathan Osman
1
Eu voto negativo. O Readyboost não tem muito a ver com restrições de RAM. É um cache em nível de bloco para um disco rígido que possui dois benefícios: 1) Pode ser acessado simultaneamente enquanto o disco rígido está sendo acessado, agindo como um espelho de ataque parcial. 2) Ele pode ser escalado o quanto você quiser, enquanto a RAM geralmente é limitada pelo espaço da placa-mãe. Posso comprar quantas unidades flash quiser e colá-las em cada hub raiz (e, portanto, não compartilhar largura de banda), e posso torná-las tão grandes quanto eu quiser. Boa sorte para conseguir 128 GB pena de RAM em um ambiente de trabalho para menos de US $ 200
antiduh
3

O ZFS originou o Solaris em 2004 e agora está disponível em alguns Unices, incluindo o FreeBSD e Linux (embora no Linux ainda esteja em beta e não no kernel da linha principal devido a problemas de licenciamento) também permite adicionar um ou mais caches secundários chamados L2ARCem qualquer dispositivo de bloco para esse mesmo tipo de propósito.

Stéphane Chazelas
fonte
2

Eu tenho me perguntado a mesma pergunta e, estando insatisfeito com as respostas atuais aqui, fiz um pouco de pesquisa por conta própria. Isso ainda não foi testado, mas este artigo sobre as mudanças no Linux 3.9 forneceu um ponto de partida útil. Ele menciona três tecnologias que devem obter efeitos semelhantes ao ReadyBoost, embora às vezes o foco pareça estar no cache de gravações em vez de leituras. Mais pesquisas descobriram ainda mais.

Provavelmente atualizarei esta resposta assim que tiver adquirido alguma experiência em primeira mão com pelo menos uma delas. Até lá, pesquisar na web com um desses nomes como palavra-chave deve gerar uma quantidade razoável de tutoriais, descrições, opiniões e referências.

MvG
fonte
1

Não encontrei esse módulo para Linux, mas o DragonFly BSD possui algo equivalente ao Windows ReadyBoost. O recurso é chamado SwapCache. Ele usa uma partição de troca rápida (SSD / Flash) para armazenar em cache dados e metadados de outra unidade (HDD).

A página do manual explica como configurar as informações para armazenar em cache. Ele descreve casos de uso e quando e como usar esse mecanismo de armazenamento em cache. Parece ser interessante quando o sistema está trocando apenas de tempos em tempos (ou seja, a quantidade de RAM é um pouco curta) ou para leituras e gravações frequentes de metadados.

Futal
fonte
0

O Linux possui cachefs, que permite adicionar um sistema de arquivos de cache de backup a qualquer sistema de arquivos. Foi originalmente projetado e lançado em 1993 pela Sun Microsystems para uso com o NFS e foi rapidamente copiado por outros sistemas semelhantes ao Unix. Então, sim, ele já está lá e existe há anos. :)

geekosaur
fonte
8
Isso não é nem remotamente correto. Veja você mesmo na entrada da Wikipedia sobre o assunto: en.wikipedia.org/wiki/CacheFS
Sim, infelizmente, o CacheFS não funciona em sistemas de arquivos em disco local. Teoricamente, mas o trabalho para adicionar suporte aos sistemas de arquivos locais comuns ainda não foi realizado.
psusi 27/09/11
-1

Bem, pelo que entendi, o Readyboost é basicamente uma extensão do arquivo de paginação, que é comparável à partição swap no FreeBSD (que eu acho que seria semelhante no Linux), então você pode fazer da partição o flashdrive uma partição swap nele.

No entanto, não sei quase nada sobre essas coisas.

user142852
fonte
5
Observe que o uso intenso de swap em uma unidade flash pode ser prejudicial para a memória flash, devido às limitações do ciclo de gravação.
Renan