On 11/02/2012 05:10 AM, David Gibson wrote:
Asking for some advice on the list.
I have prorotype savevm and migration support ready for the pseries
machine. They seem to work under simple circumstances (idle guest).
To test them more extensively I've been attempting to perform live
migrations (just over tcp->localhost) which the guest is active with
something. In particular I've tried while using octave to do matrix
multiply (so exercising the FP unit) and my colleague Alexey has tried
during some video encoding.
As you are doing local migration one option is to setting the speed higher
than line speed , as we don't actually send the data, another is to set high
downtime.
However, in each of these cases, we've found that the migration only
completes and the source instance only stops after the intensive
workload has (just) completed. What I surmise is happening is that
the workload is touching memory pages fast enough that the ram
migration code is never getting below the threshold to complete the
migration until the guest is idle again.
The workload you chose is really bad for live migration, as all the guest does
is
dirtying his memory. I recommend looking for workload that does some networking
or disk IO.
Vinod succeeded running SwingBench and SLOB benchmarks that converged ok, I
don't
know if they run on pseries, but similar workload should be ok(small
database/warehouse).
We found out that SpecJbb on the other hand is hard to converge.
Web workload or video streaming also do the trick.