Jump to: navigation, search

Page server

1,610 bytes added, 00:27, 30 August 2016
moar good contents
== Rationale ==
For process tree migration, the biggest part of transfer data is the memory used by the processes. Therefore, optimizing this memory transfer would have the most benefitbe beneficial.
[[Image:Memory_migration_without_page_server.png|thumb|500px|right|Memory migration without page server]]
Without the page server, migrating the user memory pages consists of:
* dumping (writing) the memory to files on disk;* copying reading the files and sending the data over the network to the destination systemhost;* receiving files on the destination host, writing to files on disk;
* restoring by reading the files into memory.
Such a process In other words, all the memory is written to the disk twice, and read from the disk also twice. It incurs significant I/O overhead and slows down the migration. This The overhead can be avoided by doing is further multiplied when using <code>criu pre-dump</code> (such as for [[iterative migration]]), as in this case memory is dumped not once but a direct memory few times. A way to mitigate the disk I/O overhead is to memory copyuse [[wikipedia:tmpfs|tmpfs]], avoiding any a filesystem that use RAM as a storage (see [[Disk-less migration]] for details). This eliminates the disk I/O, but not the double read/write.To eliminate it, a page server mechanism was implemented.<br clear="both"/>
== Operation ==
FIXME[[Image:Memory_migration_with_page_server.png|thumb|500px|right|Memory migration with page server]]When using page server, the memory is dumped not to disk, but directly to network, thus eliminating any disk reads/writes on the source. On the destination system, a page server runs, receiving the data from network and writing it to files on disk or tmpfs. === Pages deduplication === When iterative memory dumping feature (<code>criu pre-dump</code>) is used, memory is sent to page server a few times. The page server can automatically deduplicate pages, by punching holes in a parent images where child is replacing the page. This functionality is turned on by <code>--auto-dedup</code> option of <code>criu page-server</code> command.<br clear="both"/> == Usage == See == See also == * [[P.Haul]]* [[Live migration]]* [[Lazy migration]] == External links == * Using page server:
[[Category: HOWTO]]
[[Category: Development]]

Navigation menu