发明名称 Memory allocation buffer for reduction of heap fragmentation
摘要 Systems and methods of a memory allocation buffer to reduce heap fragmentation. In one embodiment, the memory allocation buffer structures a memory arena dedicated to a target region that is one of a plurality of regions in a server in a database cluster such as an HBase cluster. The memory area has a chunk size (e.g., 2 MB) and an offset pointer. Data objects in write requests targeted to the region are received and inserted to the memory arena at a location specified by the offset pointer. When the memory arena is filled, a new one is allocated. When a MemStore of the target region is flushed, the entire memory arenas for the target region are freed up. This reduces heap fragmentation that is responsible for long and/or frequent garbage collection pauses.
申请公布号 US9552165(B2) 申请公布日期 2017.01.24
申请号 US201514846413 申请日期 2015.09.04
申请人 Cloudera, Inc. 发明人 Lipcon Todd
分类号 G06F17/30;G06F3/06;H04L29/08 主分类号 G06F17/30
代理机构 Perkins Coie LLP 代理人 Perkins Coie LLP
主权项 1. A method for reducing delays due to memory fragmentation in a region server hosting a plurality of regions for a distributed database system, the region server maintaining a heap in the region server's memory, the method comprising: implementing, at the region server, an in-memory store for each region, wherein the in-memory store for each region is to hold data to be written until the data reaches a predetermined size and to flush the data to a storage when the predetermined size is reached; receiving a write request from a client, wherein the write request includes a target region and an data object for insertion into the target region; and storing the data object in a memory arena dedicated to the target region at a location that is continued from a previous location such that, when an in-memory store for the target region flushes the data, space freed from the memory arena dedicated to the target region is contiguous, wherein the memory arena dedicated to the target region is a space dedicated to the target region in the heap.
地址 Palo Alto CA US