US 12,174,835 B2
Offloading graph components to persistent storage for reducing resident memory in distributed graph processing
Arnaud Delamare, Zurich (CH); Irfan Bunjaku, Zurich (CH); Vasileios Trigonakis, Zurich (CH); Calin Iorgulescu, Zurich (CH); Tomas Faltin, Prague (CZ); Sungpack Hong, Palo Alto, CA (US); and Hassan Chafi, San Mateo, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jun. 20, 2023, as Appl. No. 18/211,613.
Claims priority of provisional application 63/419,826, filed on Oct. 27, 2022.
Prior Publication US 2024/0143594 A1, May 2, 2024
Int. Cl. G06F 17/30 (2006.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/24552 (2019.01) [G06F 16/22 (2019.01); G06F 16/2343 (2019.01); G06F 16/24542 (2019.01)] 21 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
identifying a set of graph components required to execute a graph processing operation on a graph by a job in a graph processing engine of a database system;
reserving an amount of memory needed to load the set of graph components into a memory;
loading the set of graph components into the memory;
storing, for each given graph component within the set of graph components, metadata comprising a usage counter indicating a number of jobs that are currently using the given graph component;
initiating execution of the graph processing operation using the set of graph components in the memory; and
evicting one or more unused graph components from the memory in response to receiving a request to free a requested amount of memory from the memory, wherein the one or more unused graph components are identified based on the metadata,
wherein the method is performed by one or more computing devices.