在 2013年2月7日星期四,Bryan Call 写道:

> I was briefly looking at the changes today.  I will take a look more at
> them when I get some time.
>
> There needs to be a decision if we are going to use ProxyAllocator or
> per-thread allocator in ink_freelist.  Adding the ability to specify the
> size of the ProxyAllocator would be trivial to add.  One way to determine
> what one to use is to benchmark them both and see what one is faster.
>
> Have you done any allocation benchmarks?  Does the pre-thread
> implementation in the ink_freelist use atomics and how is it getting the
> thread id?  (haven't looked at the code much for it yet)
>
>

I'm outside now, please search mailing list with 'reclaimable freelist'
keyword, I have given some articles links about the usage and design of
reclaimable freelist in google doc and apache wiki.



> -Bryan
>
>
>
> On Feb 3, 2013, at 7:28 PM, Yunkai Zhang <[email protected]<javascript:;>>
> wrote:
>
> > Hi Bryan, Leif, weijin:
> >
> > 1) There is a disadvantage of using ProxyAllocator to manage memory: It's
> > hard to configure the size of each ProxyAllocator pool, unsuitable size
> may
> > cause memory wast or bad performance.
> >
> > 2) The reclaimable freelist we pushed recently is implemented as
> > thread-local pool, feel free to try it.
> >
> >
> > On Mon, Feb 4, 2013 at 10:08 AM, weijin (JIRA) 
> > <[email protected]<javascript:;>>
> wrote:
> >
> >>
> >>    [
> >>
> https://issues.apache.org/jira/browse/TS-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569953#comment-13569953
> ]
> >>
> >> weijin commented on TS-1684:
> >> ----------------------------
> >>
> >> good idea, the call ink_freelist_new/ink_freelist_free can be
> >> significantly reduced by making the ProxyAllocator as cache of global
> >> freelist.
> >>
> >>> Reduce the usage of global allocation/free lists - switch to using
> local
> >> thread allocation/free lists
> >>>
> >>
> -----------------------------------------------------------------------------------------------------
> >>>
> >>>                Key: TS-1684
> >>>                URL: https://issues.apache.org/jira/browse/TS-1684
> >>>            Project: Traffic Server
> >>>         Issue Type: Improvement
> >>>         Components: Core
> >>>           Reporter: Bryan Call
> >>>
> >>> When running benchmarks ink_freelist_new() normally shows up as one of
> >> if not the number one function in the code using the most CPU.
>  Currently
> >> ATS uses global free lists (via ClassAllocator<>, Allocator, and
> >> SparceClassAllocator<>) for memory allocation for some of its memory
> >> allocation.
> >>> Here is a list of how frequently the type of allocations are used and
> >> the "name" given to the allocator.  This is a benchmark for a small
> object
> >> in cache fetched 100k times.
> >>> 400000 ink_freelist_new: hdrHeap
> >>> 300000 ink_freelist_new: hdrStrHeap
> >>> 203541 ink_freelist_new: ioBlockAllocator
> >>> 199616 proxy allocator thread_alloc: eventAllocator
> >>> 103554 ink_freelist_new: ioDataAllocator
> >>> 103554 ink_freelist_new: ioBufAllocator[5]
> >>> 100100 ink_freelist_new: ioAllocator
> >>> 100000 proxy allocator thread_alloc: hdrHeap
> >>> 100000 proxy allocator thread_alloc: cacheVConnection
> >>> 100000 ink_freelist_new: httpSMAllocator
> >>> 100000 ink_freelist_new: ArenaBlock
> >>>  18507 ink_freelist_new: mutexAllocator
> >>>   4772 ink_freelist_new: eventAllocator
> >>>    162 ink_freelist_new: cacheVConnection
> >>>    102 ink_freelist_new: netVCAllocator
> >>>    100 proxy allocator init thread_alloc: httpClientSessionAllocator
> >>>    100 ink_freelist_new: httpClientSessionAllocator
> >>>      1 proxy allocator thread_alloc: RamCacheCLFUSEntry
> >>>      1 ink_freelist_new: RamCacheCLFUSEntry
> >>>      1 ink_freelist_new: hostDBContAllocator
> >>
> >> --
> >> This message is automatically generated by JIRA.
> >> If you think it was sent incorrectly, please contact your JIRA
> >> administrators
> >> For more information on JIRA, see:
> http://www.atlassian.com/software/jira
> >>
> >
> >
> >
> > --
> > Yunkai Zhang
> > Work at Taobao
>
>

-- 
Yunkai Zhang
Work at Taobao

Reply via email to