From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dor Laor" Subject: Re: paravirtualization & cr3-cache feature Date: Mon, 12 Feb 2007 23:47:47 -0800 Message-ID: <64F9B87B6B770947A9F8391472E032160A66C679@ehost011-8.exch011.intermedia.net> References: <64F9B87B6B770947A9F8391472E032160A66BE0A@ehost011-8.exch011.intermedia.net> <20070212130644.GF25460@amd.com> <64F9B87B6B770947A9F8391472E032160A66C0A6@ehost011-8.exch011.intermedia.net> <20070212140359.GE1879@redhat.com> <2e59e6970702122052x69a4ea9asafd2d0ef438f55ce@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: , Return-path: Content-class: urn:content-classes:message In-Reply-To: <2e59e6970702122052x69a4ea9asafd2d0ef438f55ce-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org >> > Intel is indeed slower than AMD with this one. >> > I didn't measure such roundtrip specifically. We usually see that the >> > VMETNRY/VMEXIT cycle limits our performance (for io/mmio,..) >> > On Intel core duo we cannot get more than 150k-200k VMEXITS per second >> > for regular guest doing extensive IO. >> > > >/me raises hand Don't give up so fast ;) > >Why so many vm switches? First up, a typical I/O system maxes at >about 1Gb/s, right? That would be a gigabit NIC, or striped RAID, or >something like that. This suggests an average of only about 300 >bytes/transfer, to get >150k individual transfers per second? I >thought block I/O usually dealt with 1kbyte or more. Next, we're >living in a world where most CPUs supporting the required extended >instruction set are multi-core, and you specifically said core duo. >Shouldn't an extensive I/O workload tend toward one CPU in each VM, >with contraposed producer-consumer queues, and almost zero context >switches? First 150k-200k vm switches is the maximum number we can reach for a single core. The exits are not necessarily related to IO, for instance before the new MMU code page fault exits were performance bottle neck which major part of it was the vm switches. Second, we currently use Qemu's device emulation were the ne2k device does dozens of IO accesses per packet! The rtl8139 is better and does about 3 IO(MMIO) per packet. The current maximum throughput using the rtl8139 is ~30Mbps. Very soon we'll have PV drivers that will boost performance and use the P/C queues you were talking about. PV drivers will boost performance beyond 1G/bps. Also note that at the moment KVM supports only single cpu guests. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642