Tim Armstrong has posted comments on this change. Change subject: IMPALA-3200: Implement suballocator for splitting buffers ......................................................................
Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/4715/5/be/src/bufferpool/suballocator.h File be/src/bufferpool/suballocator.h: PS5, Line 66: Suballocations are eagerly coalesced when freed > Is the coalescing only one level or does it recurse all the way up the tree It coalesces all the way up. It's much simpler to eagerly coalesce since it greatly reduces the number of possible states the allocator can be in. I think that in turn makes it easier to reason about fragmentation (although eagerly coalescing should minimise fragmentation since it also guarantees that the smallest contiguous memory range available is used for an allocation). I'm not sure about FreePool. Mainly for now I want to make sure we have an allocator that works well for larger allocations - particularly the hash table use case. For the immediate future it could continue to operate on top of MemPool, even once MemPool is converted to use BufferPool buffers. -- To view, visit http://gerrit.cloudera.org:8080/4715 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8bfe0e429f67ad273f7c7d0816703a9e6c3da788 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Jim Apple <jbap...@cloudera.com> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Michael Ho <k...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-HasComments: Yes