oxidecomputer / oxidecomputer/propolis

Investigate/profile live migration performance

Open
#324 1 comment 0 reactions 1 assignee View on GitHub

@gjcolombo is already working on this.

Since May 8, 2023.

migration
Dominant language
Rust
Stars
270
Forks
42
Avg merge
4d 5h
Merged PRs (30d)
6

Description

A short while ago I did an ad-hoc live migration for the first time in a while, and the memory transfer phase "felt" (how scientific!) a lot slower than it did the last time I tried one of these (which was probably a month or two ago).

In the short run, we should do some ad hoc tests to see if there are any obvious bottlenecks. (I'd like in particular to compare a few recent builds to see if I'm just imagining a speed difference.)

In the long run, we need better tools to assess blackout times and how they change over time. That probably includes

  • Collecting information about at least the following:
    • how long a VM's vCPUs are paused in general
    • how long individual expensive phases of migration take, especially memory transfer and target device startup
  • Surfacing this information so that we can get at it in test automation
  • Writing automated tests that track migration performance over time
    • ex.: boot a guest; have it dirty as much memory as possible given its size (to try to get a consistent number of dirty pages to transfer); migrate it; gather migration metrics

These various steps should get their own issues; for now I'm just filing this to keep track of this work before I get distracted and forget about it.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.