---
# System prepended metadata

title: 'DMM: A dynamic memory mapping model for  virtual machines'
tags: [論文メモ]

---

---
tags: 論文メモ
---

# DMM: A dynamic memory mapping model for  virtual machines

## 背景

### 問題意識

### 問題への貢献

## 具体的な手法など

- 理想的なVMMのメモリ管理
    - demand paging
    - virtual memory
        - というか擬似的な物理メモリでホストのサイズに関係ないように見えるもの
    - memory sharing
        - CoW etc.
- vmware esxでswappingとmemory sharingが併用できない
- 動的なメモリ管理の技術は下回りと強い結合があるので既存の様々な実装は拡張性・メンテナンス性を欠いている
- DMM model: 仮想化をサポートする特定のアーキテクチャから独立した、低レベルなメモリ管理のモデル
- f-map: pseudo-phys2real-res mapping 
- ページングがあるシステムではページ単位でf-mapが管理される
- 二つのアドレス変換
    - f: guest phys(gpa) to host(ma)
    - g: guest virt(gva) to guest phys(gpa)
-  VMMにおける一般的な手法として$f\circ g$をMMUに覚えさせて高速化
-  MMU paravirtualization
    - gを$f\circ g$で置き換える
    - guest OSがちゃんと動作するためにはguest OS側のコードに手を入れる必要がある
- shadow paging
    - guest PTは存在せずVMMが対応するpt複製して適切な物理メモリアドレスに書き換えたのちをhostのページ階層に差し込んでおり、$f\circ g$をホストのページ階層に書き込んでいる
- EPT/NPT
    - EPTPにgのl4ptへの参照を書いておけばvmexit無しで$f\circ g$の変換をしてくれる
    - ゲストのアドレス変換とホストのv2pの変換があるのでメモリアクセスが増える（パフォーマンスに影響があるらしいがホンマか？）
    - 