From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hongyang Yang Subject: Re: [RFC PATCH 00/17] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service Date: Thu, 24 Jul 2014 10:24:25 +0800 Message-ID: <53D06E59.2070607@cn.fujitsu.com> References: <1406125538-27992-1-git-send-email-yanghy@cn.fujitsu.com> <53CFD852.8090908@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: GuiJianfeng@cn.fujitsu.com, mrhines@linux.vnet.ibm.com, eddie.dong@intel.com, dgilbert@redhat.com, kvm@vger.kernel.org To: Eric Blake , Return-path: In-Reply-To: <53CFD852.8090908@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org On 07/23/2014 11:44 PM, Eric Blake wrote: > On 07/23/2014 08:25 AM, Yang Hongyang wrote: >> Virtual machine (VM) replication is a well known technique for >> providing application-agnostic software-implemented hardware fault >> tolerance "non-stop service". COLO is a high availability solution. >> Both primary VM (PVM) and secondary VM (SVM) run in parallel. They >> receive the same request from client, and generate response in parallel >> too. If the response packets from PVM and SVM are identical, they are >> released immediately. Otherwise, a VM checkpoint (on demand) is >> conducted. The idea is presented in Xen summit 2012, and 2013, >> and academia paper in SOCC 2013. It's also presented in KVM forum >> 2013: >> http://www.linux-kvm.org/wiki/images/1/1d/Kvm-forum-2013-COLO.pdf >> Please refer to above document for detailed information. >> Please also refer to previous posted RFC proposal: >> http://lists.nongnu.org/archive/html/qemu-devel/2014-06/msg05567.html >> >> The patchset is also hosted on github: >> https://github.com/macrosheep/qemu/tree/colo_v0.1 >> >> This patchset is RFC, implements the frame of colo, without >> failover and nic/disk replication. But it is ready for demo >> the COLO idea above QEMU-Kvm. >> Steps using this patchset to get an overview of COLO: >> 1. configure the source with --enable-colo option > > Code that has to be opt-in tends to bitrot, because people don't > configure their build-bots to opt in. What sort of penalties does > opting in cause to the code if colo is not used? I'd much rather make > the default to compile colo unless configured --disable-colo. Are there > any pre-req libraries required for it to work? That would be the only > reason to make the default of on or off conditional, rather than > defaulting to on. Thanks for all your comments on this patchset, will address them. For this one, it will not affect the rest of the code if COLO is compiled but not used, and it does not require pre-req libraries for now, so we can make COLO support default to on next time. > > -- Thanks, Yang. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35286) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XA8hq-0004Wu-9v for qemu-devel@nongnu.org; Wed, 23 Jul 2014 22:24:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XA8hm-00041s-4E for qemu-devel@nongnu.org; Wed, 23 Jul 2014 22:24:30 -0400 Received: from [59.151.112.132] (port=23572 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XA8hl-00041l-Og for qemu-devel@nongnu.org; Wed, 23 Jul 2014 22:24:26 -0400 Message-ID: <53D06E59.2070607@cn.fujitsu.com> Date: Thu, 24 Jul 2014 10:24:25 +0800 From: Hongyang Yang MIME-Version: 1.0 References: <1406125538-27992-1-git-send-email-yanghy@cn.fujitsu.com> <53CFD852.8090908@redhat.com> In-Reply-To: <53CFD852.8090908@redhat.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 00/17] COarse-grain LOck-stepping(COLO) Virtual Machines for Non-stop Service List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake , qemu-devel@nongnu.org Cc: GuiJianfeng@cn.fujitsu.com, mrhines@linux.vnet.ibm.com, eddie.dong@intel.com, dgilbert@redhat.com, kvm@vger.kernel.org On 07/23/2014 11:44 PM, Eric Blake wrote: > On 07/23/2014 08:25 AM, Yang Hongyang wrote: >> Virtual machine (VM) replication is a well known technique for >> providing application-agnostic software-implemented hardware fault >> tolerance "non-stop service". COLO is a high availability solution. >> Both primary VM (PVM) and secondary VM (SVM) run in parallel. They >> receive the same request from client, and generate response in parallel >> too. If the response packets from PVM and SVM are identical, they are >> released immediately. Otherwise, a VM checkpoint (on demand) is >> conducted. The idea is presented in Xen summit 2012, and 2013, >> and academia paper in SOCC 2013. It's also presented in KVM forum >> 2013: >> http://www.linux-kvm.org/wiki/images/1/1d/Kvm-forum-2013-COLO.pdf >> Please refer to above document for detailed information. >> Please also refer to previous posted RFC proposal: >> http://lists.nongnu.org/archive/html/qemu-devel/2014-06/msg05567.html >> >> The patchset is also hosted on github: >> https://github.com/macrosheep/qemu/tree/colo_v0.1 >> >> This patchset is RFC, implements the frame of colo, without >> failover and nic/disk replication. But it is ready for demo >> the COLO idea above QEMU-Kvm. >> Steps using this patchset to get an overview of COLO: >> 1. configure the source with --enable-colo option > > Code that has to be opt-in tends to bitrot, because people don't > configure their build-bots to opt in. What sort of penalties does > opting in cause to the code if colo is not used? I'd much rather make > the default to compile colo unless configured --disable-colo. Are there > any pre-req libraries required for it to work? That would be the only > reason to make the default of on or off conditional, rather than > defaulting to on. Thanks for all your comments on this patchset, will address them. For this one, it will not affect the rest of the code if COLO is compiled but not used, and it does not require pre-req libraries for now, so we can make COLO support default to on next time. > > -- Thanks, Yang.