[libvirt] [ROC] migration: set cpu throttle value by workload

Chao Fan fanc.fnst at cn.fujitsu.com
Thu Apr 27 06:48:56 UTC 2017


On Thu, Apr 27, 2017 at 02:24:25PM +0800, Chen Hanxiao wrote:
>
>
>At 2017-04-26 19:26:53, "Chao Fan" <fanc.fnst at cn.fujitsu.com> wrote:
>>Hi all,
>>
>>When migrating a guest which consumes too much CPU & memory, dirty
>>pages amount will increase significantly, so does the migration
>>time, migration can not even complete, at worst.
>>
>>So I made an RFC patch in QEMU to set cpu throttle value by workload
>>when migration. The test result and the RFC patch are here:
>>https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg03479.html
>>
>>But this idea was not accepted by QEMU community. So I want to do a
>>similar feature in libvirt:
>
>Hi, Fan
>>
>>Step 1: Add --auto-converge-smart parameter to migrate.
>>Step 2: Add a timer in qemu-driver to get the 'info migrate' to check
>>        if the dirty-pages-rate updated every 1 second or 0.5 second
>>	when migration.
>>Step 3: If updated, change the cpu throttle value according to the
>>        dirty-pages-rate and page-size by
>>        'migrate_set_parameter cpu-throttle-increment'
>
>If dirty-pages-rate rising, we increase cpu-throttle-increment;
>if it falling after a while,
>would we  decrease cpu-throttle-increment then?
Hi Chen,

Yes, that's what I want to do.

The cpu throttle value is larger, the migration will be faster.
On the other hand, the performance loss of the guest will be worse.
It's a ballance problem.

If dirty-pages-rate gets small, it proves the cpu throttle is
suitable. So I think it's better to decrease cpu-throttle-increment
to avoid more performance loss.

Thanks,
Chao Fan
>
>Regards,
>- Chen
>
>>
>>I think this feature makes auto-converge smarter than leaving the
>>cpu throttle value with default 20/10 or set by users.
>>And also it can save time.
>>
>>Any comments will be welcome.
>
>
>
>
>>
>>Thanks,
>>Chao Fan
>>
>>
>>
>>--
>>libvir-list mailing list
>>libvir-list at redhat.com
>>https://www.redhat.com/mailman/listinfo/libvir-list
>
>





More information about the libvir-list mailing list