by shigemk2

当面は技術的なことしか書かない

Live Migration by BitVisor #kernelvm

http://www.atmarkit.co.jp/news/201209/27/bitvisor.html

PCI-Passthroughしつつライブマイグレーションを実現 OSによるライブマイグレーション

コンテナによるライブマイグレーション

BitVisorのアーキテクチャ

ほとんどのI/Oはパススルー

高い性能をインスタンスへ提供 インスタンス上で動作するOSに特別な制約を課さない

物理ハードウェアの状態を取得して復元

書き込み専用の状態を取得 OSがWOに"20"を書き込む

読み出し専用の状態を復元

VMMがデバイスを操作して間接的に状態を復元 デバイスの仕様にもとづいて操作

実装

I/Oデバイスについてだけ話す

PIC PIT

PIOをフック

REALTEK(問題児)

カニさんのディスクリプタポインタ

どっかのレジスタにポインタを格納したレジスタがあるよね…?

なかった

ポインタはレジスタとして存在しない

内部ポインタはどこにいるのか

Rxディスクリプタ

Rxの内部ポインタの取得

Txは送信依頼前にスキャン

NICの送信ポインタの復元

送信ポインタ=次に送るべきバッファを指すオフセット パケットを1つ送るごとにインクリメントする

性能評価

スループットはベアメタルと同じ レイテンシーはベアメタル+60us ダウンタイムは2.5sくらい

BitVisorでライブマイグレーションするとそれなりに性能が出そう