【LinuxCon Japan 2010 2日目レポート】
Linuxカーネルや仮想化の実証技術を議論
Linuxの開発者が集まる技術カンファレンス「LinuxCon Japan Tokyo 2010」が9月27日から開催されている。2日目の28日には、仮想化とトレーサのミニサミットが開かれるなど、専門的な議論がなされた。
■Linux 2.6.35までの最近のカーネルを紹介
Jon Corbet氏 |
朝一番の基調講演では、Linuxカーネルハッカーであり、カーネル開発ネタを中心とするLinuxニュースサイト「Linux Weekly News(LWN)」編集長でもあるJon Corbet氏が登壇。「The Kernel Report」と題し、次期バージョンのカーネルであるLinux 2.6.36が10月にリリースされると紹介したあと、2.6.35までの最近のLinuxカーネルに加えられた主な変更を分野別に説明した。
まず、ファイルシステム分野の最近の変更として、LogFSのマージやBtrfsのDirect I/Oサポートなどを紹介し、最近の状況としてext4は実用段階に逹したことも説明した。今後の課題としては、Btrfsの改善やext4の機能追加、unionマウントなどが挙げられた。
次はファイルシステムの下のストレージの分野。最近の変更として、ブロックI/Oのスケーラビリティ改善やI/O帯域制御などを紹介。今後の課題として、SSDで高速になったときに相対的にブロックI/Oがボトルネックになる問題や、3つのレイヤでRAIDを実装しているのを統合する必要性などが挙げられた。
メモリ管理はしばらく大きな動きがなかった分野だが、最近また注目されているということで、Kernel Same-page Merging(KSM)やメモリコンパクションなどを紹介。今後の課題として、新しいOOM KillerやHuge pageなどが挙げられた。
続いてリアルタイムカーネルの分野。最近の変更としてBig Kernel Lockの除去に触れ、これが大きなマイルストーンになるだろうと述べた。今後の課題としては、リアルタイム独特のスケーラビリティの問題やスケジューラの問題などが挙げられた。
ドライバの分野では、RadeonドライバやNVIDIA用のNouveauドライバにより、デスクトップの3Dに対応したことを紹介、その一方でベンダーの協力がより必要とされていることを語った。
電源管理の分野では、非同期サスペンドやCPUアイドル検出などを紹介。さらに、メインラインカーネルとAndroidとのアプローチの違いにも言及した。今後の課題としては、race-freeサスペンドなどが挙げられた。
最後に、トレーサや計測の分野。最近の変更としてperf eventsやperf kvm、ftraceなどを紹介。日本で開発されたSystemTapについては、残念ながらメインラインへのマージは難しいだろうと語られた。
ファイルシステムの最近の変更点 | メモリ管理の最近の変更点 |
■仮想化の実装技術について開発者が議論
28日には、仮想化とトレーサについてそれぞれ部屋を1日占めて、ミニサミットとしてそれぞれの分野のトラックが開催された。仮想化ミニサミットに参加したところ、100人程度の部屋が満員となっており、あいかわらずの開発者からの注目度が感じられた。
Chris Wright氏(Red Hat) |
Chris Wright氏(Red Hat)は「The KVM weather report」と題して、最近のKVMの変更点について性能改善を中心に紹介した。まず、「weatherは“cloudy”」(“曇り”と“クラウド”を掛けている)と笑いをとったあと、クラウドとKVMの概要を軽く紹介し、本題の性能改善の説明に入った。
CPUのパフォーマンスについては、64仮想CPU対応やゲストのスピンロック問題の解決、カーネルからの通知の利用、X2APIC対応などが紹介された。ブロックI/Oのパフォーマンスについては、AIO(非同期I/O)やpread/pwriteへの完全対応などが紹介された。ネットワークのパフォーマンスについては、Virtioドライバやtapモードなどが紹介された。メモリのパフォーマンスについては、Huge pageによる効率化が紹介された。
今後の課題としては、さらなるパフォーマンスとスケーラビリティへの取り組み、NUMA対応、デバッグとプロファイル、cgroupとの統合、セキュリィ、などが挙げられた。また、将来的なプランとしては、ほかのアーキテクチャへの対応や、PCI Expressエミュレーション、分散ストレージSheepdogへの対応などが語られた。
ブロックI/Oの性能改善 | VirtioによるネットワークI/Oの性能改善 |
Rusty Russel氏は、a「VirtIO: The State of A Standard for virtual I/O Devices」と題して、I/O仮想化フレームワークのVirtioについて解説した。
Virtioでドライバを標準化する背景として、さまざまな仮想化ハイパーバイザーがあり、各ハイパーバイザーごとにドライバを実装している問題を説明。「今朝アップデートした」というVirtio仕様書0.8.9を元に、ホスト側とゲスト側での実装のポイントを紹介した。そして、OS開発者もハイパーバイザー開発者もドライバー開発者もVirtioに対応しよう、と呼びかけた。
Rusty Russel氏 | Virtioの企画書の紹介 |
Stephen Heminger氏(Vyatta)は、「Linux Bridging: Befriending a Stray Dog」と題し、ネットワークのブリッジについて、仮想ネットワーク上のソフトウェアブリッジを中心に解説した。なお、Vyattaはオープンソースベースのソフトウェアルーターで最近注目を浴びている企業。
まず、ブリッジの概要とさまざまな形態を紹介し、通常の3層構造のネットワークを説明。そのうえで、仮想ネットワークのインパクトと、そこでのブリッジ、タグVLANと仮想ネットワークとの組み合わせなどを解説した。また、Linuxのソフトウェアブリッジの弱点についても説明した。
Stephen Heminger氏 | Linuxのソフトウェアブリッジの弱点 |
Christoph Hellwig氏は、「Linux Storage and Virtualization」と題し、ホストOSのストレージとゲストOSのストレージが完全に二重になっている影響について、LinuxのI/OからKVM/QEMUの仮想ディスクまで詳細に解説した。
語られた内容は、Virtioや、QEMUでのAIO等の有効性、ブロックI/Oのキャシングモードごとの動作の違い、ディスクイメージフォーマットのRawとQcow2とQedの違い、ローカルファイルシスム以外にディスクイメージを置く場合、ディスクイメージのプロビジョニング、重複排除など多岐に渡り、それぞれ内部構造に踏み込んで解説した。
Christoph Hellwig氏 | Qcow2フォーマットとQedフォーマットの性能比較 |
Gui Jianfeng氏(富士通)は、「Block IO Controller」と題し、ブロックI/Oの帯域を制御する技術を解説した。I/O帯域制御によって、重要なタスクと通常の処理でI/Oに優先度をつけたり、仮想マシンのホストOSへのI/Oをコントロールしたりできるという。
Block I/O Controllerはcgroupのサブシステムとして実装され、CFQ I/Oスケジューラで動作する。cgroupのブロックI/Oのパラメータに優先度を設定する項目が追加され、そこを経由して制御できる。今後の課題としては、グループの階層化のサポートや、AIO(非同期I/O)のサポートなどが挙げられた。
Gui Jianfeng氏 | cgroupのブロックI/Oのパラメータ |
仮想化ミニサミットの最後は「Virtualization End User Discussion」。仮想化技術を使うクラウド事業者側の話に、ミニサミットで登壇したカーネル開発者たちがコメントする形式のパネルディスカッションだった。
NTTコミュニケーションズの高橋健太氏は、KVMホスティング「Bizホスティングベーシック」とその運用を説明。iSCSIによるストレージでの問題点やVLANなどについて議論がなされた。また、計画しているという、動作したままのバックアップやスペックアップ、分散ファイルシステム、ライブマイグレーションなどについても意見交換がなされた。
VA Linuxの杉原智衛氏は、クラウドのコンサルタルティングの立場から業務内容を紹介。パフォーマンスや仮想マシン管理、LinuxディストリビューションとKVM/QEMUのバージョンなどについて議論がなされた。
開発者側のパネリスト | 杉原智衛氏(VA Linux、左)と高橋健太氏(NTTコミュニケーションズ、右) |
モデレータのFernando Luis Vazquez Cao氏(NTT OSSセンタ) |
一日の最後は、大会場に移動して、仮想化ミニサミットとトレーサミニサミットとの合同のパネルディスカッションとなった。
テーマは「KVM tracing and debugging」。KVMのゲストのパフォーマンスをいかに計測するかについて、debugfsをやperf kvm、PMU(Performance Monitoring Unit)、ユーザー空間とカーネル空間のトレーシング、タイマー、kdumpのダンプなど、その場でアイデアとその問題点などについて意見が飛び交い、議論がなされた。
仮想化ミニサミットとトレーサミニサミットの合同パネルディスカッション |