Linuxカーネル統合の優位性を強調

KVMはXenを追い抜いた、KVMの生みの親が講演

2009/10/16

 KVMはXenよりずっと遅れて開発がスタートしたが、いくつかの点でXenを追い抜いた――。こう主張するのはLinuxカーネルに統合されたハイパーバイザ「KVM」のメンテナー、アヴィ・キヴィティ(Avi Kivity)氏だ。キヴィティ氏はイスラエルのQumranet社でKVMの開発に携わり、2008年9月にレッドハットに買収された後もKVMの開発を続けている。2009年10月16日、都内で講演したキヴィティ氏は、これまで3年間のKVMプロジェクトを振り返りつつ、Xenと比較した場合のKVMの優位性を解説した。

kvm01.jpg 米レッドハットでKVMのメンテナーを勤めるアヴィ・キヴィティ(Avi Kivity)氏

 レッドハットは、すでにXenを利用している顧客や、今後利用する顧客が想定されるためにあまりハッキリとは言わないが、Linuxの仮想化の未来はXenではなく、KVMにあると考えているようだ。

 XenとKVMの最大の違いは、KVMはLinuxカーネルに統合されていて、スケジューラ、メモリ管理、デバイスドライバ、タイマなどの機能をLinuxそのものと共有している点だ。「われわれのポリシーは、いかなる機能も重複して実装しないというものだ」(キヴィティ氏)。

 Linuxカーネル開発のほうでも、同一機能を重複して持つことを嫌うため、Xenのカーネルへの統合は遅れている。KVMプロジェクトが開始したのは約3年前の2006年6月。10月にはメーリングリストで公開され、12月にはリーナスにアクセプトされた。わずか3カ月でメインラインにマージされるというスピード感だった。また、ライブ・マイグレーションなどの機能は、KVMのほうがXenよりも実装が早かったという。一方、Xenは「7年経ってもまだ終わっていない」(キヴィティ氏)といい、Dom0の統合などが残ったままという。これはXenが独自にスケジューラなどハイパーバイザに必要とされる機能を再実装する必要があったためという。

 KVMではVMは通常のLinuxのプロセスとして動く。従来のカーネルモード、ユーザーモードという区分に加えて、VMを動かすためにゲストモードと呼ぶモードを加えている。ただ、ゲストモードで動くプロセスも、ほかのプロセスとまったく同様にLinuxカーネルの管理下にあるため、CPUやメモリといった資源の配分は適切に行える。

 プロジェクト開始時の違いは、設計思想に大きく影響している。XenはIntel-VTやAMD-Vといった仮想化支援機能を持たないプロセッサでも動く前提で、準仮想化などに注力してきたが、「準仮想化は、かつてはベストな選択だったが、新しいプロセッサでは、むしろ完全仮想化のほうがパフォーマンスがいい。準仮想化は、だんだん重要ではなくなってきている」(キヴィティ氏)という。一方KVMはハードウェアによる仮想化支援を前提としているため、クリーンで高速な設計だというわけだ。

 スケジューラやメモリ管理をカーネルと共有しているため、例えばNehalemの登場によってNUMAが一般化する今後に、VMが使うページを最適な位置へ移動させるような処理「ページ・マイグレーション」の実装が容易になるメリットもあるという。また、VMやホストOSが使用しているメモリのページで、同一のものがあった場合に1つにまとめるメモリ・シェアリングといった手法もKVMでは実現しているという。「これは仮想デスクトップ環境などで高い効果を発揮する」(キヴィティ氏)。1台のホストOS上に同一のクライアントOSを低負荷で大量に走らせるような場合、OSイメージやアプリケーションのイメージは共通のことがあるためだ。メモリ・シェアリングでメモリの書き換えが起こった場合には再びページを二重化する。

 VMに割り当てるメモリ量を動的に変える「バルーニング」や、今後実装するというゲスト・ホスト間で情報をやり取りしてメモリ割り当てを最適化する「協調メモリ管理」機能なども、Linuxカーネルに統合されているからこそやりやすい機能の例だ。逆に、メモリ上のイメージを圧縮する機能については、もともと仮想化関連とは独立してLinuxカーネルで開発が進んだものを流用しており、「これはカーネルと統合されたKVMの設計上の優位性を示す例だ」(キヴィティ氏)という。

(@IT 西村賢)

情報をお寄せください:

Server & Storage フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

Xが新規アカウントに課金するとユーザーはどれほど影響を受ける? そしてそれは本当にbot対策になるのか?
Xが新規利用者を対象に、課金制を導入する方針を表明した。botの排除が目的だというが、...

Googleの次世代AIモデル「Gemini 1.5」を統合 コカ・コーラやロレアルにも信頼される「WPP Open」とは?
世界最大級の広告会社であるWPPはGoogle Cloudと協業を開始した。キャンペーンの最適化、...

Cookie廃止で広告主とデータプロバイダ、媒体社にこれから起きることとその対策
連載の最後に、サードパーティーCookie廃止が広告主と媒体社それぞれに与える影響と今後...