Cpuinfo

Revision as of 10:42, 31 December 2014 by Xemul (talk | contribs) (Categorized)

CPU capability problem

Because CRIU allows to live migrate containers (see Live migration for details) it might happen that CPU a container has been ran on differ from the target CPU. For typical programs this might be not a problem but if a program get compiled with optimization which use a particular CPU feature (say AVX instruction and etc) the lack of the feature on a destination machine will lead to execution exception in a best case.

Thus there should be a way to test if destination machine is capable of running container being migrated.

Saving CPU capabilities into an image file

CRIU does not write CPU capabilities into an image by default in a sake of speed. Instead one have to run CRIU as

 criu cpuinfo dump

to produce cpuinfo image file which consists of the running CPU information and bits representing the supported capabilities.

Testing CPU capabilities

To check if the capabilities saved in cpuinfo image file is match to the current CPU one should run

 criu cpuinfo check

Checkpoint/Restore with CPU capabilities

While by default CRIU does not save CPU capabilities in image file one can pass --cpu-cap option to force CRIU to save and check CPU capabilities on dump and restore accordingly.