← Back
Home › Systems › Cloud platform and compute

vm-live-migration

VM live migration

GCE live migration

SystemTechniques · 4Primitives · 25 vm-live-migration Binary delta diffcompression · medium: Bsdiff, VCDIFF and xdelta-style binary patches between file versionsClock synchronizationdistributed · medium: Estimate a clock's offset from four timestamps, filter out queueing noise, and steer the clock smoothly; NTP gets about a millisecond, PTP with hardware timestamps under a microsecond.›Checkpoint and restarthardware-os · medium: Periodically save enough state to resume a computation after a crash, preemption or move, with an interval that balances save cost against lost work.›Memory live migrationhardware-os · medium: Pre-copy dirty-page iteration and post-copy faulting to move running VMsDirty page trackinghardware-os · low: Write-protection or PML logs of modified guest/process pagesNested paging epthardware-os · low: EPT/NPT two-level address translation for guestsRdmanetworking · low: RDMA verbs over InfiniBand/RoCE: queue pairs, memory registration, one-sided opsLZ4compression · low: Byte-aligned LZ77 with no entropy stage; compresses at hundreds of MB/s and decompresses at several GB/s per core, for when speed beats ratio.›Zstandard (zstd)compression · low: LZ77 plus Huffman and FSE entropy coding, with levels from LZ4-like speed to xz-like ratio, all decoding at about 1-2 GB/s.›Hardware virtualization kvmhardware-os · low: VT-x/AMD-V via KVM: vCPU run loop, VM exits, MMIO emulationVirtio deviceshardware-os · low: Virtqueue rings for paravirtual block, net and vsock devicesVirtual network interfacesnetworking · low: Veth, bridges, tap and macvlan devicesCopy on write snapshotsstorage · low: Point-in-time snapshots by sharing pages/extents and copying only on writeDelta encodingcompression · low: Store differences between consecutive values instead of the values, turning sorted IDs, timestamps and counters into small numbers that pack into few bits.›LZ77compression · low: Replace repeated byte strings with (distance, length) back-references into a sliding window; the parsing stage of gzip, LZ4, zstd, Brotli and xz.›Rolling hashdata-structures · low: Rabin-Karp polynomial rolling hashes and winnowing for substring fingerprints and document matchingSuffix arraysearch-sort · low: Sorted array of all suffix start positions of a text; finds every occurrence of any substring by binary search, at 4-5 bytes per text byte.›PID controllerrobotics · low: Drive a measured value to a setpoint with three terms on the error: proportional, integral, derivative. The default feedback loop for motors, heaters, drones and gimbals.›Phase-locked loop (digital)signal-processing · low: Feedback loop that locks a local oscillator to the phase and frequency of an input tone; the core of carrier recovery, clock recovery and GNSS tracking.›Robust statisticsstatistics · low: Location and scale estimates (median, MAD, trimmed mean, Huber M-estimator) that stay correct when a minority of the data is garbage.›+ 9 more primitives

Similar systems

Share the most building blocks with this one.