qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Isaku Yamahata <yamahata@valinux.co.jp>
To: Benoit Hudzia <benoit.hudzia@gmail.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>,
	kvm@vger.kernel.org, satoshi.itoh@aist.go.jp,
	t.hirofuchi@aist.go.jp, qemu-devel@nongnu.org,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/2][RFC] postcopy migration: Linux char device for	postcopy
Date: Fri, 13 Jan 2012 11:03:23 +0900	[thread overview]
Message-ID: <20120113020323.GA27434@valinux.co.jp> (raw)
In-Reply-To: <CAEWUdFXdGaumPC+6YxpsFofPOyuzNGa1xc5E2Y1BFkSKYyTtJQ@mail.gmail.com>

Very interesting. We can cooperate for better (postcopy) live migration.
The code doesn't seem available yet, I'm eager for it.


On Fri, Jan 13, 2012 at 01:09:30AM +0000, Benoit Hudzia wrote:
> Hi,
> 
> Sorry to jump to hijack the thread  like that , however i would like
> to just to inform you  that we recently achieve a milestone out of the
> research project I'm leading. We enhanced KVM in order to deliver
> post copy live migration using RDMA at kernel level.
> 
> Few point on the architecture of the system :
> 
> * RDMA communication engine in kernel ( you can use soft iwarp or soft
> ROCE if you don't have hardware acceleration, however we also support
> standard RDMA enabled NIC) .

Do you mean infiniband subsystem?


> * Naturally Page are transferred with Zerop copy protocol
> * Leverage the async page fault system.
> * Pre paging / faulting
> * No context switch as everything is handled within kernel and using
> the page fault system.
> * Hybrid migration ( pre + post copy) available

Ah, I've been also planing this.
After pre-copy phase, is the dirty bitmap sent?

So far I've thought naively that pre-copy phase would be finished by the
number of iterations. On the other hand your choice is timeout of
pre-copy phase. Do you have rationale? or it was just natural for you?


> * Rely on an independent Kernel Module
> * No modification to the KVM kernel Module
> * Minimal Modification to the Qemu-Kvm code
> * We plan to add the page prioritization algo in order to optimise the
> pre paging algo and background transfer

Where do you plan to implement? in qemu or in your kernel module?
This algo could be shared.

thanks in advance.

> You can learn a little bit more and see a demo here:
> http://tinyurl.com/8xa2bgl
> I hope to be able to provide more detail on the design soon. As well
> as more concrete demo of the system ( live migration of VM running
> large  enterprise apps such as ERP or In memory DB)
> 
> Note: this is just a step stone as the post copy live migration mainly
> enable us to validate the architecture design and  code.
> 
> Regards
> Benoit
> 
> 
> 
> 
> 
> 
> 
> Regards
> Benoit
> 
> 
> On 12 January 2012 13:59, Avi Kivity <avi@redhat.com> wrote:
> > On 01/04/2012 05:03 AM, Isaku Yamahata wrote:
> >> Yes, it's quite doable in user space(qemu) with a kernel-enhancement.
> >> And it would be easy to convert a separated daemon process into a thread
> >> in qemu.
> >>
> >> I think it should be done out side of qemu process for some reasons.
> >> (I just repeat same discussion at the KVM-forum because no one remembers
> >> it)
> >>
> >> - ptrace (and its variant)
> >> ?? Some people want to investigate guest ram on host (qemu stopped or lively).
> >> ?? For example, enhance crash utility and it will attach qemu process and
> >> ?? debug guest kernel.
> >
> > To debug the guest kernel you don't need to stop qemu itself. ?? I agree
> > it's a problem for qemu debugging though.
> >
> >>
> >> - core dump
> >> ?? qemu process may core-dump.
> >> ?? As postmortem analysis, people want to investigate guest RAM.
> >> ?? Again enhance crash utility and it will read the core file and analyze
> >> ?? guest kernel.
> >> ?? When creating core, the qemu process is already dead.
> >
> > Yes, strong point.
> >
> >> It precludes the above possibilities to handle fault in qemu process.
> >
> > I agree.
> >
> >
> > --
> > error compiling committee.c: too many arguments to function
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe kvm" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at ??http://vger.kernel.org/majordomo-info.html
> 
> 
> 
> -- 
> " The production of too many useful things results in too many useless people"
> 

-- 
yamahata

  parent reply	other threads:[~2012-01-13  2:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-29  1:26 [Qemu-devel] [PATCH 0/2][RFC] postcopy migration: Linux char device for postcopy Isaku Yamahata
2011-12-29  1:26 ` [Qemu-devel] [PATCH 1/2] export necessary symbols Isaku Yamahata
2011-12-29  1:26 ` [Qemu-devel] [PATCH 2/2] umem: chardevice for kvm postcopy Isaku Yamahata
2011-12-29 11:17   ` Avi Kivity
2011-12-29 12:22     ` Isaku Yamahata
2011-12-29 12:47       ` Avi Kivity
2012-01-05  4:08   ` [Qemu-devel] 回复: " thfbjyddx
2012-01-05 10:48     ` [Qemu-devel] 回??: " Isaku Yamahata
2012-01-05 11:10       ` Tommy
2012-01-05 12:18         ` Isaku Yamahata
2012-01-05 15:02           ` Tommy Tang
     [not found]           ` <4F05BB68.9050302@hotmail.com>
2012-01-05 15:05             ` Tommy Tang
2012-01-06  7:02           ` thfbjyddx
2012-01-06 17:13             ` [Qemu-devel] 回??: [PATCH 2/2] umem: chardevice for kvm?postcopy Isaku Yamahata
2011-12-29  1:31 ` [Qemu-devel] [PATCH 0/2][RFC] postcopy migration: Linux char device for postcopy Isaku Yamahata
2011-12-29 11:24 ` Avi Kivity
2011-12-29 12:39   ` Isaku Yamahata
2011-12-29 12:55     ` Avi Kivity
2011-12-29 13:49       ` Isaku Yamahata
2011-12-29 13:52         ` Avi Kivity
2011-12-29 14:18           ` Isaku Yamahata
2011-12-29 14:35             ` Avi Kivity
2011-12-29 14:49               ` Isaku Yamahata
2011-12-29 14:55                 ` Avi Kivity
2011-12-29 15:53                   ` Isaku Yamahata
2011-12-29 16:00                     ` Avi Kivity
2011-12-29 16:01                       ` Avi Kivity
2012-01-02 17:05                         ` Andrea Arcangeli
2012-01-02 17:55                           ` Paolo Bonzini
2012-01-03 14:25                             ` Andrea Arcangeli
2012-01-12 13:57                               ` Avi Kivity
2012-01-13  2:06                                 ` Andrea Arcangeli
2012-01-04  3:03                           ` Isaku Yamahata
2012-01-12 13:59                             ` Avi Kivity
2012-01-13  1:09                               ` Benoit Hudzia
2012-01-13  1:31                                 ` Takuya Yoshikawa
2012-01-13  9:40                                   ` Benoit Hudzia
2012-01-13  2:03                                 ` Isaku Yamahata [this message]
2012-01-13  2:15                                   ` Isaku Yamahata
2012-01-13  9:55                                     ` Benoit Hudzia
2012-01-13  9:48                                   ` Benoit Hudzia
2012-01-13  2:09                               ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120113020323.GA27434@valinux.co.jp \
    --to=yamahata@valinux.co.jp \
    --cc=aarcange@redhat.com \
    --cc=avi@redhat.com \
    --cc=benoit.hudzia@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=satoshi.itoh@aist.go.jp \
    --cc=t.hirofuchi@aist.go.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).