On 5 January 2013 13:54, Jason Evans <jas...@freebsd.org> wrote:

>> Jason - any comments?
>
> There are many variations on this class of performance problem, and the short 
> of it is that only the application can have adequate understanding of data 
> structure layout and access patterns to reliably make optimal use of the 
> cache.  However, it is possible for the allocator to lay out memory in a more 
> haphazard fashion than jemalloc, phkmalloc, etc. do, such that the 
> application can be cache-oblivious and (usually) not suffer worst case 
> consequences as happened in this case.  Extent-based allocators like dlmalloc 
> often get this "for free" for a significant range of allocation sizes.  
> jemalloc could be modified to this end, but a full solution would necessarily 
> increase internal fragmentation.  It might be worth experimenting with 
> nonetheless.

For at least this particular computational workload, the loss in
throughput based on cache thrashing is significant enough to learn
FreeBSD a negative mark in computational workloads.

It'd be interesting to see which other workloads FreeBSD behaves poorly in.

In fact, it'd be doubly interesting to get some people who _do_
computational workloads to do some profiling using oprofile/pmc and
report back. Maybe if we wrote a wiki page on how to do this kind of
profiling and how to interpret the results.

In any case, yes - I think it's worth pursuing this further as it's
very likely not the only workload that exhibits this kind of cache
unhappiness.



Adrian
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to