From: Mark Nelson <mnelson@redhat.com>
To: Blair Bethwaite <blair.bethwaite@gmail.com>,
James Page <james.page@ubuntu.com>
Cc: Ceph Development <ceph-devel@vger.kernel.org>,
"Blinick, Stephen L" <stephen.l.blinick@intel.com>,
Jay Vosburgh <jay.vosburgh@canonical.com>,
Colin Ian King <colin.king@canonical.com>,
Patricia Gaughen <patricia.gaughen@canonical.com>,
Leann Ogasawara <leann.ogasawara@canonical.com>
Subject: Re: Memstore performance improvements v0.90 vs v0.87
Date: Fri, 20 Feb 2015 09:38:02 -0600 [thread overview]
Message-ID: <54E754DA.6060703@redhat.com> (raw)
In-Reply-To: <CA+z5DszfGOE3bE0M6ti-4GyRj2CXypsNRv1J=6Wx4b65NqE=Vg@mail.gmail.com>
I think paying attention to NUMA is good advice. One of the things that
apparently changed in RHEL7 is that they are now doing automatic NUMA
tuning:
http://rhelblog.redhat.com/2015/01/12/mysteries-of-numa-memory-management-revealed/
It's possible that this could be having an effect on the results.
Mark
On 02/20/2015 03:49 AM, Blair Bethwaite wrote:
> Hi James,
>
> Interesting results, but did you do any tests with a NUMA system? IIUC
> the original report was from a dual socket setup, and that'd
> presumably be the standard setup for most folks (both OSD server and
> client side).
>
> Cheers,
>
> On 20 February 2015 at 20:07, James Page <james.page@ubuntu.com> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> Hi All
>>
>> The Ubuntu Kernel team have spent the last few weeks investigating the
>> apparent performance disparity between RHEL 7 and Ubuntu 14.04; we've
>> focussed efforts in a few ways (see below).
>>
>> All testing has been done using the latest Firefly release.
>>
>> 1) Base network latency
>>
>> Jay Vosburgh looked at the base network latencies between RHEL 7 and
>> Ubuntu 14.04; under default install, RHEL actually had slightly worse
>> latency than Ubuntu due to the default enablement of a firewall;
>> disabling this brought latency back inline between the two distributions:
>>
>> OS rtt min/avg/max/mdev
>> Ubuntu 14.04 (3.13) 0.013/0.016/0.018/0.005 ms
>> RHEL7 (3.10) 0.010/0.018/0.025/0.005 ms
>>
>> ...base network latency is pretty much the same.
>>
>> This testing was performed on a matched pair of Dell Poweredge R610's,
>> configured with a single 4 core CPU and 8G of RAM.
>>
>> 2) Latency and performance in Ceph using Rados bench
>>
>> Colin King spent a number of days testing and analysing results using
>> rados bench against a single node ceph deployment, configured with a
>> single memory backed OSD, to see if we could reproduce the disparities
>> reported.
>>
>> He ran 120 second OSD benchmarks on RHEL 7 as well as Ubuntu 14.04 LTS
>> with a selection of kernels including 3.10 vanilla, 3.13.0-44 (release
>> kernel), 3.16.0-30 (utopic HWE kernel), 3.18.0-12 (vivid HWE kernel)
>> and 3.19-rc6 with 1, 16 and 128 client threads. The data collected is
>> available at [0].
>>
>> Each round of tests consisted of 15 runs, from which we computed
>> average latency, latency deviation and latency distribution:
>>
>>> 120 second x 1 thread
>>
>> Results all seem to cluster around 0.04->0.05ms, with RHEL 7 averaging
>> at 0.044 and recent Ubuntu kernels at 0.036-0.037ms. The older 3.10
>> kernel in RHEL 7 does have some slightly higher average latency.
>>
>>> 120 second x 16 threads
>>
>> Results all seem to cluster around 0.6-0.7ms. 3.19.0-rc6 had a couple
>> of 1.4ms outliers which pushed it out to be worse than RHEL 7. On the
>> whole Ubuntu 3.10-3.18 kernels are better than RHEL 7 by ~0.1ms. RHEL
>> shows a far higher standard deviation, due to the bimodal latency
>> distribution, which from the casual observer may appear to be more
>> "jittery".
>>
>>> 120 second x 128 threads
>>
>> Later kernels show up to have less standard deviation than RHEL 7, so
>> that shows perhaps less jitter in the stats than RHEL 7's 3.10 kernel.
>> With this many threads pounding the test, we get a wider spread of
>> latencies and it is hard to tell any kind of latency distribution
>> patterns with just 15 rounds because of the large amount of latency
>> jitter. All systems show a latency of ~ 5ms. Taking into
>> consideration the amount of jitter, we think these results do not make
>> much sense unless we repeat these tests with say 100 samples.
>>
>> 3) Conclusion
>>
>> We’ve have not been able to show any major anomalies in Ceph on Ubuntu
>> compared to RHEL 7 when using memstore. Our current hypothesis is that
>> one needs to run the OSD bench stressor many times to get a fair capture
>> of system latency stats. The reason for this is:
>>
>> * Latencies are very low with memstore, so any small jitter in
>> scheduling etc will show up as a large distortion (as shown by the large
>> standard deviations in the samples).
>>
>> * When memstore is heavily utilized, memory pressure causes the system
>> to page heavily and so we are subject to the nature of perhaps delays on
>> paging that cause some latency jitters. Latency differences may be just
>> down to where a random page is in memory or in swap, and with memstore
>> these may cause the large perturbations we see when running just a
>> single test.
>>
>> * We needed to make *many* tens of measurements to get a typical idea of
>> average latency and the latency distributions. Don't trust the results
>> from just one test
>>
>> * We ran the tests with a pool configured to 100 pgs and 100 pgps [1].
>> One can get different results with different placement group configs.
>>
>> I've CC'ed both Colin and Jay on this mail - so if anyone has any
>> specific questions about the testing they can chime in with responses.
>>
>> Regards
>>
>> James
>>
>> [0] http://kernel.ubuntu.com/~cking/.ceph/ceph-benchmarks.ods
>> [1] http://ceph.com/docs/master/rados/configuration/pool-pg-config-ref/
>>
>> - --
>> James Page
>> Ubuntu and Debian Developer
>> james.page@ubuntu.com
>> jamespage@debian.org
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1
>>
>> iQIcBAEBCAAGBQJU5vlrAAoJEL/srsug59jDMvAQAIhSR4GFTXNc4RLpHtLT6h/X
>> K5uyauKZGtL+wqtPKRfsXqbbUw9I5AZDifQuOEJ0APccLIPbgqxEN3d2uht/qygH
>> G8q2Ax+M8OyZz07yqTitnD4JV3RmL8wNHUveWPLV0gs2TzBBYwP1ywExbRPed3PY
>> cfDrszgkQszA/JwT5W5YNf1LZc+5VpOEFrTiLIaRzUDoxg7mm6Hwr3XT8OFjZhjm
>> LSenKREHtrKKWoBh+OKTvuCUnHzEemK+CiwwRbNQ8l7xbp71wLyS08NpSB5C1y70
>> 7uft+kP6XOGE9AKLvsdEL1PIXHfeKNonBEN5mO6nsXIW+MQzou01zHgDtne7AxDA
>> 5OebQJfJtArmKt78WHuVg7h8gPcIRTRSW43LqJiADnIHL8fnZxj2v5yDiUQj7isw
>> nYWXEJ3rR7mlVgydN34KQ7gpVWmGjhrVb8N01+zYOMAaTBnekldHdueEAXR07eU0
>> PXiP9aOZiAxbEnDiJmreehjCuNFTagQqNeECRIHssSacfQXPxVljaImvuSfrxf8i
>> myQLzftiObINTIHSN4TVDKMyveYrU2hILCKfYuxnSJh29j35wsRSeftjntOEyHai
>> RDnrLD3fCPk4h3hCY6l60nqu9MQfbgdSB/FItvhiBGYqXvGb4+wuBeU9RT9SwG8N
>> XPih7nLNvqDNw38IkkDN
>> =qcvG
>> -----END PGP SIGNATURE-----
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-02-20 15:38 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-14 7:05 Memstore performance improvements v0.90 vs v0.87 Blinick, Stephen L
2015-01-14 22:32 ` Blinick, Stephen L
2015-01-14 22:43 ` Mark Nelson
2015-01-14 23:39 ` Blinick, Stephen L
2015-01-27 21:03 ` Mark Nelson
2015-01-28 1:23 ` Blinick, Stephen L
2015-01-28 21:51 ` Mark Nelson
2015-01-29 12:51 ` James Page
2015-02-20 9:07 ` James Page
2015-02-20 9:49 ` Blair Bethwaite
2015-02-20 10:09 ` Haomai Wang
2015-02-20 15:38 ` Mark Nelson [this message]
[not found] ` <524687337.1545267.1424448115086.JavaMail.zimbra@oxygem.tv>
2015-02-20 16:03 ` Alexandre DERUMIER
2015-02-20 16:12 ` Mark Nelson
[not found] ` <298703592.1573873.1424506210041.JavaMail.zimbra@oxygem.tv>
2015-02-21 8:10 ` Alexandre DERUMIER
[not found] ` <1429598219.1574757.1424509359439.JavaMail.zimbra@oxygem.tv>
2015-02-21 9:02 ` Alexandre DERUMIER
2015-02-20 18:38 ` Stefan Priebe
2015-02-20 15:51 ` Mark Nelson
2015-02-20 15:58 ` James Page
2015-01-14 22:44 ` Somnath Roy
2015-01-14 23:37 ` Blinick, Stephen L
2015-01-15 10:43 ` Andreas Bluemle
2015-01-15 17:09 ` Sage Weil
2015-01-15 17:15 ` Sage Weil
2015-01-19 9:28 ` Andreas Bluemle
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=54E754DA.6060703@redhat.com \
--to=mnelson@redhat.com \
--cc=blair.bethwaite@gmail.com \
--cc=ceph-devel@vger.kernel.org \
--cc=colin.king@canonical.com \
--cc=james.page@ubuntu.com \
--cc=jay.vosburgh@canonical.com \
--cc=leann.ogasawara@canonical.com \
--cc=patricia.gaughen@canonical.com \
--cc=stephen.l.blinick@intel.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