Hyper currently doesn't have a mechanism to support RAM snapshotting. Almost all other competitors do, indeed, have RAM snapshotting support. We currently do support snapshotting the filesystem, and use a relatively clever system for that, and I would hope to design an equally clever system for RAM snapshotting.
There is work left to figure out how exactly to design this feature.
- A naive
memcpy of the RAM state of the VM might end up resulting in huge RAM snapshots that cost a huge amount of money.
- A
memcpy coupled with a lz4 pass introduces some other problems:
- The
lz4 pass increases the time to usable snapshot.
- The
lz4 pass means that resuming VMs from the given state of RAM involves a decompression step. Since lz4 approaches memory bandwidth speeds, this may not end up being such a big issue, but I can imagine that heavily overloaded nodes will struggle with finding CPU bandwidth regardless.
It is of note that I am under a non-legally-binding non-disclosure agreement with https://freestyle.sh/ and have a surface-level understanding of their implementation of their, admittedly, very clever system. Out of respect, I wish to avoid landing on the same architecture/implementation that Freestyle has and will actively work towards protecting their IP.
Hyper currently doesn't have a mechanism to support RAM snapshotting. Almost all other competitors do, indeed, have RAM snapshotting support. We currently do support snapshotting the filesystem, and use a relatively clever system for that, and I would hope to design an equally clever system for RAM snapshotting.
There is work left to figure out how exactly to design this feature.
memcpyof the RAM state of the VM might end up resulting in huge RAM snapshots that cost a huge amount of money.memcpycoupled with alz4pass introduces some other problems:lz4pass increases the time to usable snapshot.lz4pass means that resuming VMs from the given state of RAM involves a decompression step. Sincelz4approaches memory bandwidth speeds, this may not end up being such a big issue, but I can imagine that heavily overloaded nodes will struggle with finding CPU bandwidth regardless.It is of note that I am under a non-legally-binding non-disclosure agreement with https://freestyle.sh/ and have a surface-level understanding of their implementation of their, admittedly, very clever system. Out of respect, I wish to avoid landing on the same architecture/implementation that Freestyle has and will actively work towards protecting their IP.