MEMORY ALLOCATION BUFFER FOR REDUCTION OF HEAP FRAGMENTATION
First Claim
1. A method of allocating objects for reducing memory fragmentation in a distributed database system, comprising:
- receiving an object for insertion into a target region;
structuring a memory arena dedicated to the target region; and
allocating space for the object from the memory arena.
5 Assignments
0 Petitions
Accused Products
Abstract
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.
36 Citations
22 Claims
-
1. A method of allocating objects for reducing memory fragmentation in a distributed database system, comprising:
-
receiving an object for insertion into a target region; structuring a memory arena dedicated to the target region; and allocating space for the object from the memory arena. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A distributed database system, comprising:
-
a region server configured to receive write requests targeted to a plurality of regions hosted in the region server; a virtual machine for executing one or more applications; and local allocation buffers for use by the virtual machine to allocate chunks of heap for MemStores corresponding to the plurality of regions, wherein data from the write requests are inserted into chunks of heap allocated for MemStores corresponding to the targeted plurality of regions. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A machine-readable storage medium including executable instructions, which when executed by a processor, causes a processor to:
-
receive write requests targeted to a plurality of regions hosted in a region server; create local allocation buffers to allocate chunks of heap for MemStores corresponding to the plurality of regions; and insert data from the write requests into chunks of heap allocated for MemStores corresponding to the targeted plurality of regions. - View Dependent Claims (22)
-
Specification