US 12,111,829 B2
Instruction level parallelism in a declarative graph query language
Anders Tungeland Gjerdrum, Tromso (NO); Tor Kreutzer, Tromso (NO); and Jan-Ove Almli Karlberg, Tromso (NO)
Assigned to Microsoft Technology Licensing, LLC., Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Aug. 25, 2022, as Appl. No. 17/822,429.
Claims priority of provisional application 63/336,984, filed on Apr. 29, 2022.
Prior Publication US 2023/0350890 A1, Nov. 2, 2023
Int. Cl. G06F 16/245 (2019.01); G06F 16/2453 (2019.01)
CPC G06F 16/24532 (2019.01) [G06F 16/24537 (2019.01); G06F 16/24545 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system for executing a query, the system comprising:
a hardware processor; and
a computer-readable medium storing instructions that are operative upon execution by the hardware processor to:
receive the query in a declarative graph query language for data stored in a graph database;
select data parallelizable optimization based on the data in the graph database or pattern parallelizable optimization based on patterns in the query, wherein the data parallelizable optimization and the pattern parallelizable optimization are different types of parallelizable optimization algorithms;
determine that executing the query in parallel passes a computing resource efficiency test based on one or more of:
traffic shaping inside an execution environment of the query, and
load shaping inside the execution environment of the query;
inject a fork operation and a join operation into a query plan of the query based on selection of the data parallelizable optimization or the pattern parallelizable optimization, and based on the determination; and
execute the query according to the query plan.