qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC/COLO: 0/3] Hybrid mode and parameterisation


From: Dr. David Alan Gilbert (git)
Subject: [Qemu-devel] [RFC/COLO: 0/3] Hybrid mode and parameterisation
Date: Tue, 4 Aug 2015 20:26:24 +0100

From: "Dr. David Alan Gilbert" <address@hidden>

Hi,
  This is an experimental adition to COLO, based off the colo-v1.5-developing
branch.  It's not ready for inclusion.

The first patch, adds a 'hybrid mode' where the SVM is sent checkpoints
from the primary but does not run, and is thus much similar to a normal
checkpoint setup.   This mode is entered dynamically based on the
checkpoint lengths; if the average checkpoint length drops below
the 'colo_passive_limit' it flips into this mode running
checkpoints each of 'colo_passive_time' ms in length.  After
'colo_passive_count' checkpoints, it runs 5 COLO cycles again
and then decides what to do based on the same limit as before,
thus giving it a chance to return to COLO mode.

A simple demo of this is to:
  a) ssh into the guest
  b) Open a top on the SVM host
  c) start a heavy CPU load in the guest (e.g. md5sum /dev/zero &)
     You see the QEMU at 100% in the host top
  d) now run 'top' in the guest
     this causes checkpoint miscomparisons every time top redisplays.
  e) change the top redisplay time to something short, e.g. type
     d0.2  and hit return
  f) After a few seconds it flips into passive mode and you see
     the CPU load on the SVM drop.

(Watching the added trace-events also shows this happening).

The other patches make all the COLO parameters changeable via
migrate_set_parameter (I wasn't sure what to call the time
after the miscompare - I called it 'relax time')

(This work has been partially funded by the EU Orbit project:
  see http://www.orbitproject.eu/about/ )

Dave


Dr. David Alan Gilbert (3):
  COLO: Hybrid mode
  Parameterise min/max/relax time
  COLO: Parameterise background RAM transfer limit

 hmp-commands.hx        |  15 -----
 hmp.c                  |  65 +++++++++++++++++--
 hmp.h                  |   1 -
 migration/colo.c       | 170 ++++++++++++++++++++++++++++++++++++-------------
 migration/migration.c  | 139 +++++++++++++++++++++++++++++++++++++++-
 qapi-schema.json       |  56 +++++++++++-----
 qmp-commands.hx        |  31 +++------
 stubs/migration-colo.c |   4 --
 trace-events           |   8 +++
 9 files changed, 378 insertions(+), 111 deletions(-)

-- 
2.4.3




reply via email to

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