On Wed, Aug 12, 2015 at 5:48 AM, Dałek, Piotr
<[email protected]> wrote:
>> -----Original Message-----
>> From: [email protected] [mailto:ceph-devel-
>> [email protected]] On Behalf Of Sage Weil
>> Sent: Tuesday, August 11, 2015 10:11 PM
>>
>> I went ahead and implemented both of these pieces.  See
>>
>>       https://github.com/ceph/ceph/pull/5534
>>
>> My benchmark numbers are highly suspect, but the approximate takeaway is
>> that it's 2x faster for the simple microbenchmarks and does 1/3rd the
>> allocations.  But there is some weird interaction with the allocator going on
>> for 16k allocations that I saw, so it needs some more careful benchmarking.
>
> 16k allocations aren't that common, actually.
> Some time ago I took an alloc profile for raw_char and posix_aligned buffers, 
> and...
>
> [root@storage1 /]# sort buffer::raw_char-2143984.dat | uniq -c | sort -g
>       1 12
>       1 33
>       1 393
>       1 41
>       2 473
>       2 66447
>       3 190
>       3 20
>       3 64
>       4 16
>      36 206
>      88 174
>      88 48
>      89 272
>      89 36
>      90 34
>     312 207
>    3238 208
>   32403 209
>  196300 210
>  360164 45

Since size is centralization, we could use a fixed size buffer pool to
optimize this. The performance is outstanding as I perf.

>
> [root@storage1 /]# sort buffer::posix_aligned-2081990.dat | uniq -c | sort -g
>      36 36864
>  433635 4096
>
> So most common are very small (<255 bytes) allocs and CEPH_PAGE_SIZE allocs.
>
>> The other interesting thing is that either of these pieces in isolation 
>> seems to
>> have a pretty decent benefit, but when combined the benefits are fully
>> additive.
>>
>> It seems to be reasonably stable, though!
>
> I'm going to test them in my environment, because allocations and 
> deallocations alone, when done in "best-case pattern" (series of allocations 
> followed by series of frees not interleaved by frees/allocs), aren't a good 
> benchmark for memory allocators (actually, most allocators are specially 
> optimized for this case).
>
>
> With best regards / Pozdrawiam
> Piotr Dałek
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Best Regards,

Wheat
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to