• Memory Virtualization
    • Shadow Page Table
      Direct Mapping from GVA HPA
      VMM handles updating the pages
      Traps to VMM thus require context switches and lot more cycles
    • Extended Page Tables
      Mapping from GVA GPA and then GPA HPA
      This is done with the help of MMU thus requires hardware support
  • Memory Reclamation Techniques
    • Uncooperative Swapping
      Forcefully free pages
      can free important pages thus leading to performance issues
    • Ballooning
      Make a dummy device inside the guest os and ask for pages (inflating the balloon)
      whatever pages gets allocated, free them up
      has the advantage of cooperating with the guest os
      can take more time to reclaim the space
    • Memory Sharing
      Any pieces of memory which is same for multiple guest os’s can be mapped to the same physical memory.
      Method: Scan pages and match based on hash-based similarity