3 ms·
When its transferring the state to the target, how does it handle memory updates that are happening at that time? Is the programs execution paused at that point
by lbhdc 4y ago
When its transferring the state to the target, how does it handle memory updates that are happening at that time? Is the programs execution paused at that point?
- outworlder 4y agoNo, they keep track of dirty pages.
- GauntletWizard 4y agoNo, but the memory accesses have hooks that say "This memory was written". Then, program execution is paused, and just the sections of memory that were written are copied again. This has memory performance characteristics - I ran a benchmark of memory read/write speed while this was happening once. It more than halved memory speed for the 30s or so it took from migration started to migration complete. The pause, too, was much longer.
- lbhdc 4y agoAhh I think that was the piece I was missing, thanks! I didn't realize there were hooks for tracking memory changes.