KSM comes back!
LWNにKSM tries againという記事(subscriber-only)があったので簡単にまとめてみました。
- 昨年11月に颯爽と現れたKSM(kernel shared memory)
- 同じ内容を持つページを1つにまとめる*1ことで、メモリ使用量を大幅に削減することが可能とするKSMは、特に仮想マシンのメモリ使用量が多いKVMに有効なため、KVMコミュニティ(と私)に多いに歓迎されました
- しかしKSMに2つの壁(課題)が立ちふさがりました
- 1つはKSMでページ同定に使われていたSHA1のハッシュ値の衝突を利用したアタックの可能性
- もう1つはVMwareがもつ特許()でした
- この2つの問題が明るみになってから5ヶ月間、KSMはKVM MLに姿を現しませんでした
- しかし先日、長い沈黙を破ってKSMが戻ってきました
- しかもKSMはこの2つの問題を解決しているようです
- KSMはハッシュ値による同定という手法を捨ててred-black trees*2を利用するように実装が変更されていました
- この変更はハッシュ衝突の問題のみならずVMwareの特許もうまく回避しているようです*3
- Linuxコミュニティにも概ね好感をもって受け入れられているようで、2.6.31にマージされることが期待されています
かなり内容を端折っているので詳しく知りたい場合は元記事を参照してください。(現時点はsubscribeが必要ですが。。。)