发明名称 System and method for the parallel execution of database queries over CPUs and multi core processors
摘要 The invention relates to a system for parallel execution of database queries over one or more Central Processing Units (CPUs), and one or more Multi Core Processor, (MCPs), the system comprises (a) a query analyzer for dividing the query to plurality of sub-queries, and for computing and assigning to each sub-query a target address of either a CPU of an MCP; (b) a query compiler for creating an Abstract Syntax Tree (AST) and OpenCL primitives only for those sub-queries that are targeted to an MCP, and for conveying both the remaining sub-queries, and the AST and the OpenCL code to a virtual machine, and (A) a Virtual Machine (VM) which comprises: a task bank, a buffers; a scheduler. The virtual machine combines said sub-query results by the CPUs and said primitive results by said MCPs to a final query result.
申请公布号 US9298768(B2) 申请公布日期 2016.03.29
申请号 US201113811155 申请日期 2011.07.18
申请人 SQREAM TECHNOLOGIES LTD 发明人 Varakin Konstatin;Gal Ami;Katz Oz
分类号 G06F17/30;G06F9/50 主分类号 G06F17/30
代理机构 Browdy and Neimark, PLLC 代理人 Browdy and Neimark, PLLC
主权项 1. A non-intrusive add-on system for parallel execution of database queries over one or more Central Processing Units (CPUs), and one or more Multi Core Processors (MCPs), the system comprises: a) a query analyzer for receiving a query and creating a plurality of sub queries, by analyzing the query operations type, according to a query plan received from a Database Management System (DBMS), resulting in only newly formatted sub-queries to be executed in a DBMS query format, each sub-query containing multiple operators, and for computing and assigning to each sub-query a target address of at least one of a DBMS on a CPU and an MCP for execution based on which is more efficient for executing said sub-query; b) a query compiler for receiving said sub-queries from said query analyzer, creating an Abstract Syntax Tree (AST) and OpenCL primitives only for those sub-queries that are targeted to the MCP, and for conveying both the remaining sub-queries, and the AST and the OpenCL primitives to a Virtual Machine (VM); and c) the VM comprising: c1) a task bank for containing said received sub-queries that are targeted to the DBMS for execution and said received primitives that are targeted to said one or more MCPs;c2) one or more buffers for containing data resulting from executions of said sub-queries by said one or more CPUs; andc3) a scheduler for coordinating, in accordance with the query plan received from the DBMS, execution of said received primitives at the one or more MCPs, said scheduler triggers execution of each of said received primitives in response to receipt of corresponding data in said one or more buffers as a result of the execution of corresponding sub-queries by the one or more CPUs; andwherein said VM also combines said sub-query results from the DBMS and said primitive results from said MCPs to produce a final query result; wherein the query analyzer, the query compiler and the VM are carried out by at least one processor.
地址 Ramat Gan IL