Skip to content

Guest Copy on Write #1200

@jsturtevant

Description

@jsturtevant

Tracking issues Guest Copy on Write.

Brief design overview

When running on a Type 1 hypervisor, servicing a Stage 2 translation
page fault is relatively quite expensive, since it requires quite a
lot of context switches. To help alleviate this, Hyperlight will use a
design in which the guest is aware of readonly snapshot from
which it is being run, and manages its own copy-on-write.

Because of this, there are two very fundamental regions of the guest
physical address space, which are always populated: one, at the very
bottom of memory, is a (hypervisor-enforced) readonly mapping of the
base snapshot from which this guest is being evolved. Another, at the
top of memory, is simply a large bag of blank pages: scratch memory
into which this VM can write.

See more in the proposal at 3d59400

TODO:

POC on older branch: main...lm/guest-cow
old PR that tracked things: #1091

This is particularly improtant for Hyperlight-wasm. There are steps to leverage this there:

  • update to take these changes
  • more to tbd

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions