On Jul 17, 2014, at 1:27 PM, D'Alessandro, Luke K <[email protected]> wrote:
> On Jul 17, 2014, at 3:52 PM, Jason Evans <[email protected]> wrote:
>> On Jul 17, 2014, at 11:13 AM, D'Alessandro, Luke K <[email protected]> 
>> wrote:
>>> It would be nice to have allocx() dallocx() take a “cache” reference 
>>> instead of an arena reference, with the cache configured with arenas to 
>>> handle cache misses or something to deal with multithreaded-accesses. Other 
>>> than that we really like using the library and as long as our network 
>>> memory doesn’t move between cores frequently, this works well.
>> 
>> Are you suggesting a system in which each cache is uniquely identified, or 
>> one in which every thread potentially has indexable caches [0, 1, 2, ...]?  
>> I've given some thought to something similar to the latter: each thread 
>> invisibly has a cache layered on top of any arena which is explicitly used 
>> for allocation.  I'm still in the idea phase on this, so I'm really 
>> interested to hear any insights you have.
> 
> I haven’t thought it through very hard. :-)
> 
> The problem I’m trying to deal with is that we have arenas associated with 
> different memories—call them address spaces for now. I want to be able to 
> allocate and free from address spaces independently (with the extended 
> interface), and have caching work. There may be more than one arena per 
> address space, in fact, I’d guess that each thread would have at least one 
> arena for each address space. Having to bypass the cache right now is bad for 
> us because we start to thrash the allocator with allocx/dallocx from 
> different places, so I’d like to be able to cache based on address space.
> 
> I think that corresponds to your indexable cache?

It has taken some time, but I think I understand the pain points and use cases 
surrounding thread caches well enough now to have a solid plan of action.  
Tracking issue:

        https://github.com/jemalloc/jemalloc/issues/145

Thanks,
Jason
_______________________________________________
jemalloc-discuss mailing list
[email protected]
http://www.canonware.com/mailman/listinfo/jemalloc-discuss

Reply via email to