概要
去る11月19日より2日間の日程で、「Xen Summit Asia 2009」が上海にて開催された。昨年の東京での開催に続き、アジアでの開催はこれで2回目となる。参加者は約200名。
1日目(11月19日)
-
Key note:Xen community Update:Ian Pratt
- 最近のコミュニティー動向についての紹介。Xen Summitでは必ずある発表で、Xenプロジェクトの総括である。ここで富士通とVA Linux System JapanがXen Advisory Boardに就任したことが公表された。
- XCI(Xen Client Initiative)とXCP(Xen Cloud Platform)について紹介された。特にXCPは最近始まったプロジェクトでありクラウドでのXenの採用を後押しする為に開始されたものである。特徴としては次のものが挙げられる。
- Linux 2.6.27 SuSEベースのカーネルを採用
- XAPIツールスタック
- open vSwithを含む予定
- 一方予定されているXen 4.0には次の新機能が予定されている。
- FT(Fault Tolerance)機能にはRemusを採用
- SR-IOV対応
- IDF 2009(Intel Developer Forum)でデモされたもの。
- Xen Hypervisor update:Keir Fraser(Citrix)
- OSS Xenリリースの紹介。リリースポリシーは3ケ月毎のマイナーリリースと6~9ケ月おきのメジャーリリースで、これまでと変わっていない。このポリシーに従い、来年始めにXen 3.4.3及び4.0.0のリリースを予定している。4.0.0の目玉機能として次のものが挙げられる。
- pv_ops
デフォルトで採用されるLinux kernelがpv_opsのものになる。従来の2.6.18ベースのものではなくなる。 - blktap2
- remus
FT(Falut Tolerance)としてremusを採用。既にリポジトリにはコミット済み。 - page sharing
同一ディスクブロックの場合ページ共有をすると説明されたので、恐らくSatori(前回のXen Summitで発表があった)を指していると思われる。 - netchannel2
長らく開発されてきたがマージされていなかったものがやっとマージされるようでありがたい。これにともないgrant table APIもv2となっている。grant transferなどが可能になった。 - libxenlight
これまでライブラリとしては低レベルのlibxenguest、libxenctrlしか提供されてこなかった。その為、ドメインライフサイクル管理は独自に実装されている状況であった。その部分に対応する、高レベルのライブラリを提供する事によってコードの共有をはかろうとする戦略的なライブラリ。
- pv_ops
- OSS Xenリリースの紹介。リリースポリシーは3ケ月毎のマイナーリリースと6~9ケ月おきのメジャーリリースで、これまでと変わっていない。このポリシーに従い、来年始めにXen 3.4.3及び4.0.0のリリースを予定している。4.0.0の目玉機能として次のものが挙げられる。
- Xen In Linux:Jeremy Fitzhardinge(Citrix)
- pv_ops dom0の話である。新しいアイデアとして次のものが挙げられた。
- ACPIをXen VMMに移す
- pciback domain
- HVM dom0
- これまでの方針を変えてpv_opsの開発を促進する為にpv_ops dom0カーネルをデフォルトにする予定である。その為一旦パッチのupstreamingを止めて機能の全てをカバーするpv_ops dom0を予定する。ようやく機能するpv_ops dom0を出す方針に変更した様で、ありがたい。これでカーネル側の開発リソースが一本化される。pv_ops dom0パッチを受け入れてもらう為にはXen側の設計を変更する事が必要となってくる。特に、
- IOAPICをdom0管理からXen VMMの管理に
これでring crossingが減り性能の向上も見込める。 - SWIOTLB
Xenの為だけにhookを追加するのはメンテナーに反対されているので、何らかの対処が必要。IOMMUの実装を一般化するなどの対処が必要。 - ACPI processor interface
dom0の仮想CPUと物理CPUとは対応が無くACPIでは仮想CPUを物理CPUと思って処理してしまう為、沢山のフックが追加されている。これは上流には受け入れられない。 - PG_foreign
ページフラグは貴重なリソースのでXenの為だけPC_foreign導入は受け入れられない。恐らくマージは2.6.33辺りになると予想される。
- IOAPICをdom0管理からXen VMMの管理に
- pv_ops dom0の話である。新しいアイデアとして次のものが挙げられた。
- Graphics Pass-through with VT-d:Weidong Han、Ben Lin(Intel)
- Graphics device pass-throughについて解説。Graphic deviceは仮想化と相性が悪く、その他のPCIデバイスパススルーと違って難しい。特にBIOSがデバイスを実マシン上で初期化した後、自己書き換えしてしまう場合はBIOSをメモリ上からコピーしてもゲスト用にデバイスが初期化されない。そのようなBIOSの場合はデバイス上のROMからファームウェアを取り出す必要がある。また、ファームウェアは色々な仮定が置かれて書かれており、それらを満たさないとゲストでは動作しない事が多そうだ。
- 実例としてIntel Integrated Graphics Device(IGD)での必要になったwork aroundが紹介された。
-
nested virtualization:Qing He(Intel)
- 完全仮想化ゲスト向けにVT-xをエミュレーションする解説。Windows 7のXP互換モードがVT-xを使用する為に必要となった。今後も同様な使用例が増えると予想される。実装の基本的アイデアはVMEnter/VMExitをエミュレートしVMCSをshadowするものである。VMExit pathにguestによる仮想化すべきVMExitかVMMが処理すべきVMExitかの判定ルーチンを追加する事になる。また、nested EPTも必要になり、これはVMExitを減らす上で効果が見込まれる。現在nested guest内のKVMでBIOS bootまで出来るということであった。
- nested IOMMU(VT-d)の予定はとの質問があったが、予定はないとの回答。筆者は興味があるので、何らかの作業が出来ると良いと思う。また、blue pillが既に実装しているとの指摘があった。確認した所、確かにAMD SVMの実装が公開されいた。Intel VT-x版はライセンスの関係で公開されていなかった。
- PVUSB Update: Noboru Iwamatsu(Fujitsu Lab.)
- 富士通研究所 岩松氏による発表。これまで何回か発表されたPVUSBのstatus updateである。管理ツール等も整備しbug fix/性能改善も行なって十分実用になる事をアピールしていた。(かなり頑張った様でご苦労さまです。)
- Mission critical xen – RAS enabling update:Jiang Yuhong(Intel)
- これまでのRASの取り組みの紹介である。MCA、cpu、memoryなど着実に実装を進めている。
2日目(11月20日)
- Real Time Support for Xen:Chuck Yoo(OS lab、Korea University)
- 以前の発表の続きである。実装を行ない、現在評価中の結果を出していた。vCPUスケジューラを拡張して、RTOSで数msecのレイテンシーだった事を報告した。後でinterrupt latencyの保証はどうなっていると聞いた所、彼らの興味はschedulerであってそこはやっていないとの事だった。研究としてはそれで十分なのだろう。
- Optimizing & Enhancing VM for Cloud Computing:Jun Nakajima(Intel)
- タイトルにはクラウドとついているがhybrid virtualizationの話であった。メッセージとしては「準仮想化よりもハードウェアを使用した方が性能がでる」ということであった。その為hybrid virtualizationが有効であるとし、Xenでも採用を提案していた。実装案としては二つありHVM domainにPV driver及びhypercallを追加する案と、PV domainをHVMコンテナ内で動作させる案があるがHVM domainにhypercall案を推奨していた。
- Practical Xen Testing at Intel:Haicheng Li(Intel)
- IntelのQA teamが構築しているテストシステムが紹介された。
- Optimizing crash dump in virtualized environments:Chen Haibo
- domUがクラッシュした時のdown time削減の解説。二つの最適化をはかった。一つ目はconcurrent bootといって、コアダンプ作成中にすぐに新しくドメインを動作させる方法。二つ目はselective dumpといい、コアダンプで必要となるであろうページだけを抜き出してダンプファイルのサイズを縮小させる方法である。後でmakedumpfileは使わなかったのかと尋ねたが、確認することはできなかった。
- I/O virtualization performance:Huang Zhiteng(Intel)
- netback/netfrontの最適化の解説。9月にあったIDF(Intel Developer Forum)でデモしていた内容の報告である。Xen netback/netfrontでも実際のhardwareと同様、interrupt mitigationを実装するとCPU利用率が下がり性能が向上する。
- Extending I/O scalability in Xen:Xiaowei Yang(Intel)
- I/O仮想化に関するscalability向上の紹介。次のような事が紹介された
- VNIFの最適化
- VT-d overheadの削減
- SR-IOV対応
- CPU毎の割り込みベクタ対応
- I/O仮想化に関するscalability向上の紹介。次のような事が紹介された
- Xen ARM Update:Sang-Bum Suh(SamSung)
- Xen/ARMのstatus update。page_infoを全て実装したとの事。また、page sizeも全てをサポートしたとの事。page_infoが実装されていなかったのは少し以外だった。
レポートは以上であるが、やはり地元中国からの参加者が非常に多く、しかも積極的に質問をしていたのが印象的であった。しかし、恐らく権威ある技術者や有識者であり、中国での成果をアピールするプレゼンテーションと思われるものが、中国語のみ(翻訳なし)となっていたのは残念であった。本レポートでも、残念ながら中国語での発表は割愛させていただいた。
次回のXen summitは4月22~23日、AMDのホストによりU.S. Santa Claraで開催予定である。
今回のXen Summitでは、VA Linuxからは本記事の筆者である山幡が発表を行いました。
- 資料をPDFにまとめましたのでこちらからもお読みいただけます。
- プレゼン資料『PCI Express Support in qemu』 (PDF:37 KB)