qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Migration To-do list


From: Orit Wasserman
Subject: Re: [Qemu-devel] Migration To-do list
Date: Wed, 14 Nov 2012 13:38:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121029 Thunderbird/16.0.2

On 11/14/2012 04:23 AM, Isaku Yamahata wrote:
> On Tue, Nov 13, 2012 at 05:46:13PM +0000, Hudzia, Benoit wrote:
>> Hi,
>>
>> One concept we have been playing around in the context of  and hybrid and 
>> post copy and might make sense if you are orienting your effort toward RDMA 
>> / Post copy is to move most of the logic in the destination side. 
>>
>> This is one thing you might want to consider as it  can solve some of the 
>> issue you currently have and allow you to maintain almost a single API / 
>> Protocol once integrating with post copy approach. 
>>
>> The idea is to drive the migration from the destination side. I.e. The page 
>> are pulled from the destination and not pushed from the source side. 
>>
>> Ex: current pre-copy :
>>
>>      *extract dirty bitmap ( dirty bitmap extraction can be scheduled or 
>> triggered by destination) 
>>      * send it to the destination side
>>      * have the destination iterating over the bitmap ( can do page 
>> prioritization here)  
> 
> IIRC last year, you mentioned page prioritization, but didn't this year.
> Is it still supported?
> Where is it implemented? in qemu or kernel?
I did a prototype and couldn't find workload that benefits from it so 
it was moved down in priority. Maybe I will return to it in the future.

Regards,
Orit
> 
> 
>>      * depending of protocol :
>>              _  with standard socket ( or RDS) : 
>>                      . Destination : request page(s)<- can be batched
>>                      .  source receive request send back the page
>>                      . destination process  
>>              _ with RDMA : 
>>                      . Destination Read Page from source to local page ( the 
>> page have been mapped to RDMA at the bitmap extraction) ( RDMA support 
>> scatter gather) 
> 
> Although I'm not familiar with RDMA, RDMA requires the exchange of 
> DMA-address between
> sender and receiver in advance and pinning down pages.
> It it correct?
> 
> 
>>              _ with post copy 
>>                      . pretty much the same but the dirty bitmap reset is 
>> done in kernel during the post copy operation ( provide a better dirty bit 
>> tracking granularity)
>>
>>
>> Disadvantage: 
>>      * add a round trip that can be compensate with batch operation ( only 
>> with standard socket)  
>>
>> Advantage :
>>      * most of the heavy lifting is done at the destination side leaving the 
>> source to respond to request in an event based format  
>>      * resolve a lot of issue you have with your threading form the sender 
>> side ( accounting etc.. )
>>      * extremely friendly to optimised solution 
>>      * if the bitmap generation is expensive we can overlap their generation 
>> creating a semi continuous delivery of them guaranteeing an uninterrupted 
>> and optimised  flow. => we decouple the bitmap generation from the send/ 
>> receive operation. 
>>
>>
>>
>> Anyway , I will notify you as soon as I have the patch / library available 
>> for RDMA / postcopy. 
>>
>> Note On the fault tolerance part: this require a lot more heavy code 
>> optimisation and poking around to guarantee efficient checkpointing. Most of 
>> the solution we tested so far ( Remus and an old version of kemari) scale 
>> poorly . Again, an RDMA / post copy solution is kind of necessary when you 
>> talk about check pointing enterprise class applications. 
> 
> IIRC Kemari guys evaluated IB case. I'm not sure that it was with RDMA or 
> IPoIB.
> 
> thanks,
>>
>>
>> Regards
>> Benoit
>>
>>
>>
>>
>>
>>> -----Original Message-----
>>> From: Juan Quintela [mailto:address@hidden
>>> Sent: 13 November 2012 16:19
>>> To: qemu-devel qemu-devel; Orit Wasserman; address@hidden;
>>> Hudzia, Benoit; Isaku Yamahata; Michael Roth
>>> Subject: Migration ToDo list
>>>
>>>
>>> Hi
>>>
>>> If you have anything else to put, please add.
>>>
>>> Migration Thread
>>> * Plan is integrate it as one of first thing in December (me)
>>> * Remove copies with buffered file (me)
>>>
>>> Bitmap Optimization
>>> * Finish moving to individual bitmaps for migration/vga/code
>>> * Make sure we don't copy things around
>>> * Shared memory bitmap with kvm?
>>> * Move to 2MB pages bitmap and then fine grain?
>>>
>>> QIDL
>>> * Review the patches (me)
>>>
>>> PostCopy
>>> * Review patches?
>>> * See what we can already integrate?
>>>   I remember for last year that we could integrate the 1st third or so
>>>
>>> RDMA
>>> * Send RDMA/tcp/.... library they already have (Benoit)
>>> * This is required for postcopy
>>> * This can be used for precopy
>>>
>>> General
>>> * Change protocol to:
>>>   a) being always 16byte aligned (paolo said that is faster)
>>>   b) do scatter/gather of the pages?
>>>
>>> Fault Tolerance
>>> * That is built on top of migration code, but I have nothing to add.
>>>
>>> Any more ideas?
>>>
>>> Later, Juan.
>>
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]