Re: Memory Allocators and Ceph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

I've got some more tests running right now. Once those are done, I'll
find a couple of tests that had extreme difference and gather some
perf data for them.
- ----------------
Robert LeBlanc
GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


On Wed, May 27, 2015 at 3:48 PM, Mark Nelson  wrote:
>
>
> On 05/27/2015 04:00 PM, Robert LeBlanc wrote:
>>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>>
>> On Wed, May 27, 2015 at 2:06 PM, Mark Nelson  wrote:
>>>>
>>>> Compiling Ceph entirely with jemalloc overall had a negative
>>>> performance impact. This may be due to dynamically linking to RocksDB
>>>> instead of the default static linking.
>>>
>>>
>>>
>>> Is it possible that there were any other differences?  A 30% gain turning
>>> into a 30% loss with pre-loading vs compiling seems pretty crazy!
>>
>>
>> I tried hard to minimize the differences by backporting the Ceph
>> jemalloc feature into 0.94.1 that was used in the other testing. I did
>> have to get RocksDB from master to get it to compile against jemalloc
>> so there is some difference there. When preloading Ceph with jemalloc,
>> parts of Ceph still used tcmalloc because it was statically linked to
>> by RocksDB, so it was using both allocators during those tests.
>> Programming is not my forte so it is likely that I may have botched
>> something with that test.
>>
>> The goal of the test was to see if and where these allocators may
>> help/hinder performance. It could also provide some feedback to Ceph
>> devs on how to leverage one or the other or both. I don't consider
>> this test to be extremely reliable as there is some variability in
>> this pre-production system even though I tried to remove the
>> variability to an extent.
>>
>> I hope others can build on this as a jumping off point and at least
>> have some interesting places to look instead of having to scope out a
>> large section of the space.
>>
>>
>>> Might be worth trying to reproduce the results and grab perf data or some
>>> other kind of trace data during the tests.  There's so much variability
>>> here
>>> it's really tough to get an idea of why the performance swings so
>>> dramatically.
>>
>>
>> I'm not very familiar with the perf tools (can you use them with
>> jemalloc?) and what would be useful. If you would like to tell me some
>> configurations and tests you are interested in and let me know how you
>> want perf to generate the data, I can see what I can do to provide
>> that. Each test suite takes about 9 hours to run so it is pretty
>> intensive.
>
>
> perf can give you a call graph showing how much cpu time is being spent in
> different parts of the code.
>
> Something like this during the test:
>
> sudo perf record --call-graph dwarf -F 99 -a
> sudo perf report
>
> You may need a newish kernel/os for dwarf support to work.  There are
> probably other tools that may also give insights into what is going on.
>
>>
>> Each "sub-test" (i.e. 4K seq read) takes 5 minutes, so it is much
>> easier to run selections of those if there are specific tests you are
>> interested in. I'm happy to provide data, but given the time to run
>> these tests if we can focus on specific areas it would provide
>> data/benefits much faster.
>
>
> I guess starting out I'm interested in what's happening with preloaded vs
> compiled jemalloc.  Other tests might be interesting too though!
>
>
>>
>>>
>>> Still, excellent testing!  We definitely need more of this so we can
>>> determine if jemalloc is something that would be worth switching to
>>> eventually.
>>>
>>>
>>
>>
>> - ----------------
>> Robert LeBlanc
>> GPG Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>> -----BEGIN PGP SIGNATURE-----
>> Version: Mailvelope v0.13.1
>> Comment: https://www.mailvelope.com
>>
>> wsFcBAEBCAAQBQJVZjCACRDmVDuy+mK58QAAsHIQAImJWLkGix2sDKCZgcME
>> 0RHmelyEBtFFjIUNJvrwC0PvUKqQ/sffdtC+QLLcFYKOO2G5lrojKhCdwhXI
>> OP0O1IqMcXUCBcq5yNJf8O6uzQ56Q4qCHWJmg49JRHx4gQLNK9VtGLRevL96
>> JNrwhllpI5v+ewuQR/P2uD/NAXhFWDjEXLO4xHQGylOQOOVRQBlWeq+3QLqX
>> 4Zz+yiY4VIdhSe/z3aQYxes12snyjF2zP2Zo/BS47KBtVbmOJ7wGBGIFy8nw
>> T4r7HYapCX3sqAN/fHEvwgcunYaW4y8aZT2a3Lv0PZKz23d6zcOUBPEFJ86W
>> DzZyqqmDq7QJLtUnAb1yyQj23bWntI/zoT83zWCUvPHU7odmlBvSWZ8w7ToC
>> mpOYjPw5CBVvztCFM2gwnmEXdM0qtmtdv/NhfQVu5+FNhQDSlhOPMCXdM3wf
>> 2JjuygdfRg4kGE6KyX4nYSZxfacsvX3SIkLnKYsdeWMNMZwGC6TvulApY61s
>> sedwbe+hyFqlfGlbM+QCtW495Wr9EcfFdM/PWUDkXtfmfE20UdqAKYzIeJfC
>> F8HS5sZz6GtiLb1Dbiq69hNmUUtfDEIDVssARKbMtmZ30bPdNe42grBttzDG
>> 3aNc05TwFe72HMjAhtvQrkrq1C+4XZA3mpNnosiXCUJT9WeOAOJbzWQS0mUS
>> Yrtb
>> =+ESo
>> -----END PGP SIGNATURE-----
>>
>

-----BEGIN PGP SIGNATURE-----
Version: Mailvelope v0.13.1
Comment: https://www.mailvelope.com

wsFcBAEBCAAQBQJVZzoiCRDmVDuy+mK58QAAwiIQALFexcUi7eeosd36JMPQ
ZfDKaeLkkZoftAtM3EYAZVfx2vdiUDeQKyecdhgFin2CGz68NFRRBjZZ9qll
USMyfk85X71XQh7cZplkFGc4fwKN2leUDJWbnbpB8PQa15ocj+wBOlfeFmTX
PCW0+fv06slo/uCPtJH0Drl978pU1MXrESYJwJaGcfK9IUgCGD/w+4rtGwt3
ITvEfdmDBwEmNErxFojBcQ1XTxbb5tDXMjwJ9acdg0mDg0PiKXGtu79fJrle
kouO2RyBYNfA5/w83Hy8IhFncI+9XO2NnCF4pGR6G35yhwNq6TuA67bPQ4ip
+fdkPvp+/v3YOpeB0iBkZJLSGQVTICbCEW3GQNT9lhZ31cc/tyWqMLh5Zdwq
r087wndLF/1LKOGG9M+LK44l1AJG0xKj8DQUgvP2/Nv6Mb9od+Nc0jFM0ysc
OFB7bhwk16Q6rNM0U/Zr6DvnhhTyrP7yMGEw3cGDKW9QHHYaHBl8hOlzVPUb
h5fgkciq4fhwCVNLWDvU0A5Bf/chhF842Zhws0BGSg8EJ/dKpaHyNiUXUWpS
SjcNQNssgHMLawE/YJFL5FOuJ9aNXLwBDvkofHKQ3oQkPelHfLEF9L2FWI7/
45wq3dZe5QRePWA1gQDfx3eUeBGNUEIBb9KBw+fvGV2uV3oFdnu2t7b59JlB
r7f6
=uLA0
-----END PGP SIGNATURE-----
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux