US 11,874,836 B2
Configuring graph query parallelism for high system throughput
Matthias Hauck, Frankfurt (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Jul. 14, 2021, as Appl. No. 17/375,998.
Prior Publication US 2023/0014681 A1, Jan. 19, 2023
Int. Cl. G06F 16/2453 (2019.01); G06F 16/901 (2019.01); G06F 9/48 (2006.01)
CPC G06F 16/24545 (2019.01) [G06F 9/4881 (2013.01); G06F 16/24532 (2019.01); G06F 16/9024 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving a graph query to be executed against a graph database that includes a set of vertices;
determining system properties of a system in which the graph query is to be executed;
determining algorithmic properties of at least one graph algorithm to be used to execute the graph query against the graph database;
determining graph data statistics for the graph database; and
for a first iteration of the graph query:
determining first graph traversal estimations for the first iteration of the graph query;
determining a first estimated cost model for the first iteration of the graph query based on the first graph traversal estimations;
determining first estimated thread boundaries for performing parallel execution of the first iteration of the graph query;
generating first work packages of a subset of the set of vertices to be processed during the execution of the first iteration of the graph query based on the first estimated cost model; and
providing the first work packages to a work package scheduler for scheduling the first work packages to execute the first iteration of the graph query.