qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Karl Rister <kmr@us.ibm.com>
To: Fam Zheng <famz@redhat.com>
Cc: pbonzini@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com
Subject: Re: [Qemu-devel] dataplane performance on s390
Date: Tue, 10 Jun 2014 13:56:44 -0500	[thread overview]
Message-ID: <539754EC.3070600@us.ibm.com> (raw)
In-Reply-To: <20140610014038.GA11308@T430.nay.redhat.com>

On 06/09/2014 08:40 PM, Fam Zheng wrote:
> On Mon, 06/09 15:43, Karl Rister wrote:
>> Hi All
>>
>> I was asked by our development team to do a performance sniff test of the
>> latest dataplane code on s390 and compare it against qemu.git.  Here is a
>> brief description of the configuration, the testing done, and then the
>> results.
>>
>> Configuration:
>>
>> Host: 26 CPU LPAR, 64GB, 8 zFCP adapters
>> Guest: 4 VCPU, 1GB, 128 virtio block devices
>>
>> Each virtio block device maps to a dm-multipath device in the host with 8
>> paths.  Multipath is configured with the service-time policy.  All block
>> devices are configured to use the deadline IO scheduler.
>>
>> Test:
>>
>> FIO is used to run 4 scenarios: sequential read, sequential write, random
>> read, and random write.  Sequential scenarios use a 128KB request size and
>> random scenarios us a 8KB request size.  Each scenario is run with an
>> increasing number of jobs, from 1 to 128 (powers of 2).  Each job is bound
>> to an individual file on an ext3 file system on a virtio device and uses
>> O_DIRECT, libaio, and iodepth=1.  Each test is run three times for 2 minutes
>> each, the first iteration (a warmup) is thrown out and the next two
>> iterations are averaged together.
>>
>> Results:
>>
>> Baseline: qemu.git 93f94f9018229f146ed6bbe9e5ff72d67e4bd7ab
>>
>> Dataplane: bdrv_set_aio_context 0ab50cde71aa27f39b8a3ea4766ff82671adb2a4
>
> Hi Karl,
>
> Thanks for the results.
>
> The throughput differences look minimal, where is the bandwidth saturated in
> these tests?  And why use iodepth=1, not more?

Hi Fam

Based on previously collected data, the configuration is hitting 
saturation at the following points:

Sequential Read: 128 jobs
Sequential Write: 32 jobs
Random Read: 64 jobs
Random Write: saturation not reached

The iodepth=1 configuration is a somewhat arbitrary choice that is only 
limited by machine run time, I could certainly run higher loads and at 
times I do.

Thanks.

Karl

>
> Thanks,
> Fam
>
>>
>> Sequential Read:
>>
>> Overall a slight throughput regression with a noticeable reduction in CPU
>> efficiency.
>>
>> 1 Job: Throughput regressed -1.4%, CPU improved -0.83%.
>> 2 Job: Throughput regressed -2.5%, CPU regressed +2.81%
>> 4 Job: Throughput regressed -2.2%, CPU regressed +12.22%
>> 8 Job: Throughput regressed -0.7%, CPU regressed +9.77%
>> 16 Job: Throughput regressed -3.4%, CPU regressed +7.04%
>> 32 Job: Throughput regressed -1.8%, CPU regressed +12.03%
>> 64 Job: Throughput regressed -0.1%, CPU regressed +10.60%
>> 128 Job: Throughput increased +0.3%, CPU regressed +10.70%
>>
>> Sequential Write:
>>
>> Mostly regressed throughput, although it gets better as job count increases
>> and even has some gains at higher job counts.  CPU efficiency is regressed.
>>
>> 1 Job: Throughput regressed -1.9%, CPU regressed +0.90%
>> 2 Job: Throughput regressed -2.0%, CPU regressed +1.07%
>> 4 Job: Throughput regressed -2.4%, CPU regressed +8.68%
>> 8 Job: Throughput regressed -2.0%, CPU regressed +4.23%
>> 16 Job: Throughput regressed -5.0%, CPU regressed +10.53%
>> 32 Job: Throughput improved +7.6%, CPU regressed +7.37%
>> 64 Job: Throughput regressed -0.6%, CPU regressed +7.29%
>> 128 Job: Throughput improved +8.3%, CPU regressed +6.68%
>>
>> Random Read:
>>
>> Again, mostly throughput regressions except for the largest job counts.  CPU
>> efficiency is regressed at all data points.
>>
>> 1 Job: Throughput regressed -3.0%, CPU regressed +0.14%
>> 2 Job: Throughput regressed -3.6%, CPU regressed +6.86%
>> 4 Job: Throughput regressed -5.1%, CPU regressed +11.11%
>> 8 Job: Throughput regressed -8.6%, CPU regressed +12.32%
>> 16 Job: Throughput regressed -5.7%, CPU regressed +12.99%
>> 32 Job: Throughput regressed -7.4%, CPU regressed +7.62%
>> 64 Job: Throughput improved +10.0%, CPU regressed +10.83%
>> 128 Job: Throughput improved +10.7%, CPU regressed +10.85%
>>
>> Random Write:
>>
>> Throughput and CPU regressed at all but one data point.
>>
>> 1 Job: Throughput regressed -2.3%, CPU improved -1.50%
>> 2 Job: Throughput regressed -2.2%, CPU regressed +0.16%
>> 4 Job: Throughput regressed -1.0%, CPU regressed +8.36%
>> 8 Job: Throughput regressed -8.6%, CPU regressed +12.47%
>> 16 Job: Throughput regressed -3.1%, CPU regressed +12.40%
>> 32 Job: Throughput regressed -0.2%, CPU regressed +11.59%
>> 64 Job: Throughput regressed -1.9%, CPU regressed +12.65%
>> 128 Job: Throughput improved +5.6%, CPU regressed +11.68%
>>
>>
>> * CPU consumption is an efficiency calculation of usage per MB of
>> throughput.
>>
>> --
>> Karl Rister <kmr@us.ibm.com>
>> IBM Linux/KVM Development Optimization
>>
>>
>


-- 
Karl Rister <kmr@us.ibm.com>
IBM Linux/KVM Development Optimization

  reply	other threads:[~2014-06-10 18:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-09 20:43 [Qemu-devel] dataplane performance on s390 Karl Rister
2014-06-10  1:40 ` Fam Zheng
2014-06-10 18:56   ` Karl Rister [this message]
2014-06-10 20:19     ` Paolo Bonzini
2014-06-19 10:39   ` Stefan Hajnoczi

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=539754EC.3070600@us.ibm.com \
    --to=kmr@us.ibm.com \
    --cc=famz@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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).