We consider the problem of efficiently migrating desktop virtual machines. The
key challenge is to migrate the desktop VM quickly and in a bandwidth-efficient
manner. The idea of replaying computation to reconstruct state seems appealing.
However, our detailed analysis shows that the match between the source memory and
the memory reconstructed via replay at the destination is poor, even at the
sub-page level; the ability to reconstruct memory state is stymied because modern
OSes use address space layout randomization (ASLR) to improve security, and page
prefetching to improve performance.

Despite these challenges, we show that desktop VM memory state can be
efficiently compressed for transfer without relying on replay, using a suite of
semantic techniques – collectively dubbed as MiG – that are tailored to the type
of each memory page. Our evaluation on Windows and Linux desktop VMs shows that
MiG is able to compress the VM state effectively, requiring on average 51-65{\%}
fewer bytes to be transferred during migration compared to standard compression,
and halving the migration time in a typical setting.