# VM Migration
## 定義
VMマイグレーション(VM migration)とは、仮想マシン上で動作するプロセスの実行状態を、停止・中断せず、あるいは短いダウンタイムで別のホストや環境へ移動する技術である。ステートフル(stateful)なマイグレーションでは、メモリ内容、CPUレジスタ、実行ポイント、デバイス状態などを含む実行状態を保存(checkpoint)し、移動先で復元(restore)することで、ユーザーにとって透過的なワークロード移動を実現する。(Source: [[@2024__EdgeSys__Stateful VM Migration Among Heterogeneous WebAssembly Runtimes for Efficient Edge-cloud Collaborations]] §1)
## 横断的知見
- (他ソースとの横断比較は今後蓄積する)
- 同種ハイパーバイザ間のマイグレーションに対し、異種ランタイムや異種CPUアーキテクチャ間のマイグレーションでは、実行状態を実装非依存表現に変換する層が必要になる。特に命令アドレスやスタックレイアウトなど、実行形式に密接に依存する状態は、単なるメモリコピーでは移行できない。(Source: [[@2024__EdgeSys__Stateful VM Migration Among Heterogeneous WebAssembly Runtimes for Efficient Edge-cloud Collaborations]] §3)
- **自己ホスト型ランタイムは、異種最適化戦略間のマイグレーションを「共通の中間実行層」で実現する**: EdgeSys ’24 は WasmEdge と WAMR 間で内部状態を相互変換することでマイグレーションした。対照的に、Mid4CC 2025 の Chiwawa は、自己ホスト型ランタイム上でアプリケーションバイトコードを実行することで、JIT/AOT/インタプリタなどの最適化戦略差異を吸収する。ホストランタイムの最適化は Chiwawa のバイトコードに適用されるが、アプリケーションの実行状態は Chiwawa VM 内に閉じるため、最適化戦略に依存しないマイグレーションが可能になる。(Source: [[@2025__Mid4CC__Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint-Restore in Edge-Cloud Continuum]] §3.1)
- **standard interpreter と fast interpreter の間のマイグレーションでは、実行点の対応付けとスタックレイアウトの変換が必要である**: APSys 2024 は、WasmEdge (standard interpreter) と WAMR・Wasm3 (fast interpreter) 間で、プログラムカウンタ・コントロールスタック・バリュースタックを相互変換することでマイグレーションを試みた。fast interpreter はカスタムコード上の実行点を持つため、命令アドレスの抽象化だけでなく、命令変換過程の逆マッピングが必要になる。(Source: [[@2024__APSys__A Checkpoint-Restore Mechanism with Interoperability Among Distinctive WebAssembly Interpreters]])
## 未解決の問い
- 異種CPUアーキテクチャ間でのメモリレイアウト(エンディアン、アラインメント、ポインタサイズ)の差をどう抽象化してマイグレーションするか。
- マイグレーション対象外となる外部状態(ネットワーク接続、ファイルディスクリプタ、GPUコンテキスト)をどう扱うか。
- チェックポイントサイズを削減するためのdirty memory検出以外に、どのような圧縮・差分転送手法が有効か。
- エッジとクラウド間のマイグレーションにおいて、帯域変動や一時的な接続断に対してどう耐えるか。
- standard interpreter と fast interpreter の間のマイグレーションでは、命令変換過程の逆マッピングをどう自動化・検証するか。
## 関連
- ソース: [[@2024__EdgeSys__Stateful VM Migration Among Heterogeneous WebAssembly Runtimes for Efficient Edge-cloud Collaborations]] / [[@2025__Mid4CC__Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint-Restore in Edge-Cloud Continuum]]
- 概念: [[WebAssembly]] / [[Application Checkpointing]] / [[Edge Computing]] / [[Edge-cloud Collaboration]] / [[Self-Hosted WebAssembly Runtime]]
- エンティティ: [[WasmEdge]] / [[WAMR]]
- 関連 MOC: [[Software Engineering - MOC]] / [[System Engineering - MOC]]
## 出典
- [[@2024__EdgeSys__Stateful VM Migration Among Heterogeneous WebAssembly Runtimes for Efficient Edge-cloud Collaborations]](§1, §3, §4)
- [[@2025__Mid4CC__Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint-Restore in Edge-Cloud Continuum]](§3.1)