CPC G06F 16/24557 (2019.01) [G06F 3/064 (2013.01); G06F 9/3885 (2013.01); G06F 16/2453 (2019.01); G06F 16/24532 (2019.01); G06F 16/24569 (2019.01)] | 20 Claims |
1. A query processing system, comprising:
a host central processing unit (CPU) configured to execute a database management system (DBMS);
wherein the DBMS is configured to communicate with a database accelerator separate from the host CPU and the DBMS, wherein the database accelerator comprises a plurality of processing units (PUs), wherein each of the plurality of PUs comprises separate hardware elements in the database accelerator;
wherein the DBMS is configured to receive a database query;
wherein the DBMS is configured to retrieve a database table from a database corresponding to the database query;
wherein the DBMS is configured to reformat the database table into a plurality of PU data blocks, each of the PU data blocks corresponding to one of the plurality of PUs in the database accelerator,
wherein reformatting the database table comprises using a conversion function from an accelerator library of the DBMS to convert data received from the database into a format enabling processing in parallel by the database accelerator;
wherein the DBMS performs a write callback function on the plurality of PU data blocks, the write callback function being part of the accelerator library of the DBMS; and
wherein, after performing the write callback function, the DBMS is configured to transmit the plurality of PU data blocks to the database accelerator and receive results from the database accelerator derived from processing the plurality of PU data blocks using the plurality of PUs in parallel.
|