[CRIU] Reg unix stream checkpointing and other issues.
Sanidhya Kashyap
sanidhya.gatech at gmail.com
Fri Oct 24 10:37:45 PDT 2014
On 10/24/2014 12:14 PM, Pavel Emelyanov wrote:
>> - Is there a possibility of having a memory that is not present for
>> the task? If yes, then how will that be handled?
>
> Right now no, but there's a work done by Andrea Arcangeli on the
> userfaultd and memcopy system calls. I plan to write him an e-mail
> about extending this API to fit our needs.
>
I am thinking about this 'lazy migration' approach only.
>> - There is a possibility that a forked task might call not yet started
>> task. What will happen in this case?
>
> The pre-restored tree is not running, it's frozen.
>
I don't think the incremental restore will have any performance benefits, whereas
the lazy one will definitely have. I have done this for VMs.
>> Besides this, I was thinking of another approach using userfaultfd.
>> That is fork all the tasks but
>> don't dump the memory and start the process. Later, when a page is
>> accessed, it will result in
>> page-fault handler invocation which should be handled by criu handling
>> that page. What do you think of this approach?
>
> This is what we call "lazy migration" and yes, this is in our plans
> too :) But the existing userfaultfd + memcopy API is not enough. The
> latter syscall should operation on arbitrary task VM, not only on the
> current one.
>
It would be great if you can give me some details about the memcopy API
as I would like to work and develop a prototype for the whole lazy migration
process.
Another question is that can I do it currently without extending the memcopy API?
I would also like to discuss the model / approach for the lazy migration. If you
have something in mind, it would definitely help me a lot. Are you available on
irc, where I can discuss the issues?
Thanks,
Sanidhya
More information about the CRIU
mailing list