[CRIU] Checkpointing in parallel?

Pavel Emelyanov xemul at virtuozzo.com
Wed Jun 14 14:00:37 MSK 2017


On 06/14/2017 10:55 AM, Hellmanns, David Immanuel Maria wrote:
> Hi Guys,
> 
> 
> I am writing my master thesis about reducing downtime during live migration. Therefore I also have a look at CRIU and container migration.
> 
> 
> I am using Ubuntu 16.04 as host system and run a Ubuntu 16.04 container on it. In my setup the checkpoint procedure takes ~2sec. During
> this time all processes are frozen and therefore the downtime accounts to ~2sec, too.

Most of the time must be in writing the memory contents. You can check the images/stats-dump
file for timings.

> I evaluated the code and log files and I noted that a container is treated as an usual process tree. All processes of this process tree 
> are checkpointed sequentially. On average the checkpoint time of one process was ~170ms and I have 14 processes in total. The question now
> arises, is it possible to checkpoint independent processes in parallel? Further, if it is not possible, which dependencies are the reason?

It's possible, but for that one would need to add synchronization to the code that dumps shared
resources. E.g. open files, shared memory areas, etc. Also, this parallelism is only possible for
dump part, while in CRIU there's also freezing and collecting ones (though, they are very short).

> Due to the fact that the main focus of my master thesis is on a more general approach, I do not have the time to familiarize myself with
> the checkpointing code in detail.

Then you're obliged to show us your thesis (and any other related publication) once it appears :P

> However, I am personally highly interested in this topic. Hence, I would be very glad if someone could shed some light on my question.
> 
> 
> Thank you very much for your effort in advance!
> 
> 
> Best regards,
> David

-- Pavel



More information about the CRIU mailing list