US 12,339,851 B2
Workload performance improvement on heterogeneous systems
Sheng Yan Sun, Beijing (CN); Xu Qin Zhao, Beijing (CN); Jian Xu, Beijing (CN); and Peng Hui Jiang, Beijing (CN)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Nov. 28, 2023, as Appl. No. 18/520,705.
Prior Publication US 2025/0173339 A1, May 29, 2025
Int. Cl. G06F 16/00 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24552 (2019.01) [G06F 16/24542 (2019.01); G06F 16/248 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A computer-implemented method of scheduling query execution of one or more queries in a heterogenous database system by assigning portions of one or more workloads to resources for execution, the method comprising:
obtaining, by one or more processors, more than one query, wherein each query of the more than one query comprises the one or more workloads;
obtaining, by the one or more processors, execution statistics for the one or more workloads;
normalizing, by the one or more processors, the more than one query, wherein the normalizing comprises:
generating, by the one or more processors, cost analytics for query blocks comprising the more than one query;
identifying, by the one or more processors, based on the cost analytics, similar cost analytics for one or more query blocks across the more than one query; and
applying, by the one or more processors, a cost model to the one or more query blocks across with the similar cost analytics to identify at least one query block for result reuse across at least two queries of the more than one query;
distributing, by the one or more processors, based on the execution statistics, the more than one query to a portion of the resources, wherein the distributing comprises assigning the at least one query block in a first query of the two queries to a first resource to execute the at least one query block against one or more database tables of the heterogenous database system and assigning the at least one query block in a second query of the two queries to a second resource to execute the at least one query block against a shared cache of the heterogenous database system; and
executing, by the one or more processors, via the portion of the resources, the more than one query, wherein the executing comprises:
executing, by the one or more processors, via the first resource, the at least one query block against the one or more database tables of the heterogenous database system;
obtaining, by the one or more processors, results of the first resource executing the at least one query block again the one or more database tables;
caching, by the one or more processors, the results of the first resource in the shared cache, wherein the shared cache is shared between different workload queries;
executing, by the one or more processors, via the second resource, the at least one query block against the shared cache instead of against the one or more database tables of the heterogenous database; and
obtaining, by the one or more processors, results of the second resource executing the at least one query block against the shared cache.