US 11,899,937 B2
Memory allocation buffer for reduction of heap fragmentation
Todd Lipcon, San Francisco, CA (US)
Assigned to Cloudera, Inc., Santa Clara, CA (US)
Filed by Cloudera, Inc., Palo Alto, CA (US)
Filed on Mar. 3, 2020, as Appl. No. 16/807,226.
Application 16/807,226 is a continuation of application No. 15/411,634, filed on Jan. 20, 2017, granted, now 10,613,762.
Application 15/411,634 is a continuation of application No. 14/846,413, filed on Sep. 4, 2015, granted, now 9,552,165, issued on Jan. 24, 2017.
Application 14/846,413 is a continuation of application No. 13/745,461, filed on Jan. 18, 2013, granted, now 9,128,949, issued on Sep. 8, 2015.
Claims priority of provisional application 61/588,036, filed on Jan. 18, 2012.
Prior Publication US 2020/0249848 A1, Aug. 6, 2020
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 16/17 (2019.01); H04L 67/1097 (2022.01); G06F 12/0808 (2016.01); G06F 12/128 (2016.01); G06F 12/12 (2016.01)
CPC G06F 3/0611 (2013.01) [G06F 3/067 (2013.01); G06F 3/0631 (2013.01); G06F 3/0644 (2013.01); G06F 3/0652 (2013.01); G06F 3/0683 (2013.01); G06F 12/0808 (2013.01); G06F 12/128 (2013.01); G06F 16/1727 (2019.01); H04L 67/1097 (2013.01); G06F 12/12 (2013.01); G06F 2212/1044 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A method for operating a region server of a distributed computing system, the method comprising:
tracking usage of a memory arena in a memory heap of the region server, the memory arena dedicated to a target region of the distributed computing system, wherein the memory arena is configured to utilize an offset pointer to track a previous end location associated with a previous write request so that a subsequent write request can continue data writing from the previous end location, and wherein the offset pointer is reset upon allocating a new chunk of blocks for the target region;
determining, based on the tracking, that usage of the memory arena has reached a usage threshold; and
flushing data from the memory arena to a storage in response to determining that usage of the memory arena has reached the usage threshold;
wherein the memory arena is a contiguous portion of the memory heap such that when said flushing occurs data storage space freed from the memory arena is also contiguous.