LinuxはReadyBoostと同等ですか?


19

カーネルモジュールや他のパッチ、またはWindowsのReadyBoostに類似したものはありますか?

基本的に、フラッシュドライブにディスク読み取りをキャッシュできるものを探しています。


USB 2.0を搭載したフラッシュドライブは本当に遅いので、なぜそうしたいのかわかりません。
デイジー

1
@ warl0ck、私はUSB 2.0でも同意しません。競合しないバス上のUSB 2.0の帯域幅は480メガビット/秒== 60 MB /秒です。20 MB /秒のオーバーヘッドなどの割引でも、それでもかなりの速度です。USB 3.0が一般的になりつつあり、5 Gbit / secの容量があることを忘れないでください。ハードドライブから何かをオフロードする価値があることを決して忘れないでください。ディスクから1 GBのデータを読み取る必要があり、Readyboostキャッシュに200 MBがキャッシュされた場合、ディスクから読み取る必要がある200 MBが少なくなり、ハードドライブの読み取りと並行して発生する可能性があります。
antiduh

回答:


17

Bcacheはまさにあなたが探しているものです。

BcacheはLinuxカーネルブロックレイヤーキャッシュです。フラッシュベースのソリッドステートドライブ(SSD)などの1つ以上の高速ディスクドライブを、1つ以上の低速ハードディスクドライブのキャッシュとして機能させることができます。

Linuxメインラインへの組み込みを待ち望んでいますが、残念ながらまだそこにはありません

いくつかの見やすく読みやすい情報もここで入手できます。

それを試してみて、それがあなたのシステムでどのように機能するかを見てください!


5

何もありません、そして、それは本当にもう意味をなしません。

ReadyBoostは、マシンのRAMが制限され、ドライブが遅く、フラッシュが安価だった短い期間に役立ちました。RAMが非常に安価になった今、代わりにRAMを使用する方がはるかに理にかなっています。

最近の一般的なフラッシュドライブの書き込み速度は約5MB /秒、読み取り速度は約20MB /秒です。それをあなたのハードドライブの50MB / sの読み取りと書き込みと比較してみて、あまり意味がないようです。

ReadyBoostの実際のパフォーマンスの利点は、メモリに厳しい制約のあるシステムでのみ見られます。


3
たとえば、RAMが制限されているタブレットやネットブックで意味がありますか?また、ReadyBoostの背後にあるアイデアは、読み取り/書き込みを高速化するほどではないが、ランダムアクセス時間を大幅に削減すると考えました(従来のHDでは、フラッシュドライブはおそらく17ms <1ms)。
ネイサンオスマン

ランダムアクセス時間を短縮することは、読み取りを高速化することと同じです。RAMを追加するのに比べて、意味がありません。基本的に、RAMの追加が実用的ではなかった短時間の一時的なギャップでした。
デビッドシュワルツ

4
ただし、将来のアクセスに役立つ前に、ファイルに最初にアクセスしてRAMを読み込む必要があり、これは各ブート後に繰り返す必要があります。フラッシュは永続的なキャッシュを可能にするため、起動時間を短縮するのに役立ちます。
-psusi

以来、高価なCorsair Survivorフラッシュドライブ(〜36MB / sの読み取り速度)を使用して動作するSSDをマシンに追加しました。
ネイサンオスマン

1
ダウン投票しました。ReadyboostはRAMの制約とはあまり関係ありません。ハードドライブのブロックレベルのキャッシュには2つの利点があります。1)ハードドライブにアクセスしているときに同時にアクセスでき、部分的なレイドミラーのように動作します。2)RAMはマザーボードのスペースによって制限されることがよくありますが、好きなだけスケーリングできます。必要な数のフラッシュドライブを購入し、各ルートハブに固定して(したがって帯域幅を共有しない)、必要なだけ大きくすることができます。以下$ 200についてデスクトップにRAMの128ギガバイトの価値を得る幸運
antiduh

3

ZFSは、 2004年にSolarisの発祥とFreeBSDを含むいくつかのUnixで利用できるようになりましたLinuxのもと呼ばれる1つの以上の二次キャッシュを追加することができます(Linux上でまだメインラインカーネルのベータ版ではないものの起因する問題のライセンスを取得する)L2ARCための任意のブロックデバイス上の同じ種類の目的。


2

私は自分自身に同じ質問をしてきましたが、ここでの現在の答えに満足していないので、自分で少し研究しました。これはまだテストされていませんが、Linux 3.9の変更に関するこのアークティックルは、有用な出発点を提供しました。ReadyBoostに似た効果を達成する3つの技術について言及していますが、読み取りではなく書き込みのキャッシュに焦点が当てられているように見える場合もあります。さらなる研究がさらに発見しました。

これらの少なくとも1つで実際の経験を積んだら、おそらくこの回答を更新します。それまでは、これらの名前のいずれかをキーワードとしてウェブを検索すると、かなりの量のチュートリアル、説明、意見、ベンチマークが得られるはずです。


1

Linux用のそのようなモジュールは見つかりませんでしたが、DragonFly BSDには Windows ReadyBoost と同等のものがあります。この機能はSwapCacheと呼ばれます。高速スワップパーティション(SSD / Flash)を使用して、別のドライブ(HDD)からのデータとメタデータをキャッシュします。

マニュアルページでは、キャッシュする情報を構成する方法について説明しています。ユースケースと、そのようなキャッシングメカニズムをいつどのように使用するかについて説明します。システムが時々スワップする場合(つまり、RAMの量がわずかに少ない場合)、またはメタデータの頻繁な読み取りと書き込みの場合に興味深いようです。


0

Linuxにはcachefsがあり、バッキングキャッシュファイルシステムを任意のファイルシステムに追加できます。もともとは、1993年にSun MicrosystemsがNFSで使用するために設計およびリリースしたもので、他のUnixライクなシステムによってすぐにコピーされました。それで、はい、それはすでにそこにあり、何年もの間ありました。:)


8
これは、リモートでも正しくありません。このテーマに関するウィキペディアのエントリで自分自身を参照してください:en.wikipedia.org/wiki/CacheFS

はい、残念ながら、CacheFSはローカルディスクファイルシステムでは動作しません。理論的には可能ですが、一般的なローカルファイルシステムにサポートを追加する作業はまだ行われていません。
-psusi

-1

まあ、私が理解していることから、Readyboostは基本的にページファイルの拡張であり、FreeBSDのスワップパーティション(Linuxでも同様だと思います)に匹敵するので、フラッシュドライブにパーティションを作成するだけでいいかもしれませんスワップパーティション。

しかし、これらのことについてはほとんど何も知りません。


5
書き込みサイクルの制限により、フラッシュドライブでスワップを頻繁に使用すると、フラッシュメモリに有害な場合があることに注意してください。
レナン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.