US 12,430,174 B2
Systems and methods for memory management in big data applications
N. Lee Rhodes, Los Altos, CA (US)
Assigned to YAHOO ASSETS LLC, New York, NY (US)
Filed by YAHOO ASSETS LLC, New York, NY (US)
Filed on Aug. 26, 2021, as Appl. No. 17/412,548.
Prior Publication US 2023/0060922 A1, Mar. 2, 2023
Int. Cl. G06F 9/50 (2006.01)
CPC G06F 9/5016 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method comprising:
allocating a first memory space to a function, the memory space comprising an initial amount of memory for the function and the function being one of a plurality of functions processing a big data job;
setting the first memory space as a current memory space;
processing data using the function, the processing comprising writing data to the current memory space;
determining that the function requires additional memory space by monitoring that the function has exhausted its current memory space while processing;
determining that memory usage across the plurality of functions exhibits a power-law distribution wherein a small subset of the functions consume significantly more memory than a majority of the functions;
in response to determining that the memory usage exhibits the power-law distribution:
allocating a new memory space based on the current memory space and a geometric growth factor, the new memory space being larger than the current memory space by a factor determined by the geometric growth factor;
copying data in the current memory space to the new memory space;
setting the current memory space as an old memory space;
setting the new memory space as the current memory space; and
not deallocating the old memory space.