仮想化道場
コードの全面的なリフレッシュを行ったハイパーバイザー「Xen 4.5」
(2015/3/20 06:00)
コードを全面的に見直しダイエットしたXen 4.5
Xen 4.5は、さまざまな新しい機能が追加されているが、何よりも注目されるのは、コードを全面的に見直し、14万1000行ものコードを削除したことだ(新しく7万8000行を追加しているため、差し引き6万3000行のコードが減ったことになる)。
Xen自体は、開発当初から12年たち、さまざまな部分に古いコードがそのまま残っていたり、Linuxカーネルのメインストリームに入れるために、さまざまな追加が行われたりしていた。例えば、Xen 4.2までは、32ビットのx86をサポートしていたり、Itanium向けのコードが開発されていたこともあって、不要なモジュールが澱(おり)のようにたまっていた。
Xen 4.5では、このような不要なコードを洗い出し、きちんと整理することで、新しい機能の追加や、Xen自体のメンテナンスをやりやすくしている(バグへの対応もしやすくなる)。このようなことができたのは、Linux Foundationに移管されたことによりメリットといえるだろう。
カーネルの脆弱性に対するゼロデイアタックやRootkit、マルウェア攻撃を自己監視するHVMゲストセキュリティ機能の向上、高精度イベントタイマー(High Precision Event Timer:HPET)のサポート、2ソケット以上のサーバーでのPCI/PCIeパススルーの低レイテンシ化、仮想PCUにおけるNUMAアーキテクチャのサポート、Systemdのサポートなどが追加されている。
toolstackでの改良としては、Pythonベースで書かれた管理ツールのxend/xmコマンドから、C言語で書かれたxl/libxlに変更された。これにより、Xen上でのインスタンスの管理が簡素化され、パフォーマンスが向上した(コードがシンプルになり、メンテナンスも行いやすくなった)。さらに、QEMMも2.0にバージョンアップされた。
これ以外に試験サポートとしてリアルタイムスケジューラ(RTDS)がサポートされた。この機能を利用すれば、Xen上で組み込み機器用のプログラムや自動車用のプログラムを動かすことができるようになる。