Hardware accelerated reconfigurable processor for accelerating database operations and queries
First Claim
1. A hardware accelerator for assisting in processing queries from a host system to a database, wherein the hardware accelerator executes machine code for database query tasks in hardware processing elements from a database management system, said hardware accelerator comprising:
- a scanning processing element to perform at least one of parallel field extraction and comparison of database columns;
an indexing processing element to perform at least one of a database projection operation; and
an associative processing element to perform at least one of grouping/aggregating, sieving, sorting, and an associative join.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a hardware accelerator that assists a host database system in processing its queries. The hardware accelerator comprises special purpose processing elements that are capable of receiving database query/operation tasks in the form of machine code database instructions, execute them in hardware without software, and return the query/operation result back to the host system. For example, table and column descriptors are embedded in the machine code database instructions. For ease of installation, the hardware accelerators employ a standard interconnect, such as a PCIe or HT interconnect. The processing elements implement a novel dataflow design and Inter Macro-Op Communication (IMC) data structures to execute the machine code database instructions. The hardware accelerator may also comprise a relatively large memory to enhance the hardware execution of the query/operation tasks requested. The hardware accelerator utilizes hardware-friendly memory addressing, which allows for arithmetic derivation of a physical address from a global database virtual address simply based on a row identifier. The hardware accelerator minimizes memory reads/writes by keeping most intermediate results flowing through IMCs in pipelined and parallel fashion. Furthermore, the hardware accelerator may employ task pipelining and pre-fetch pipelining to enhance its performance.
80 Citations
59 Claims
-
1. A hardware accelerator for assisting in processing queries from a host system to a database, wherein the hardware accelerator executes machine code for database query tasks in hardware processing elements from a database management system, said hardware accelerator comprising:
-
a scanning processing element to perform at least one of parallel field extraction and comparison of database columns; an indexing processing element to perform at least one of a database projection operation; and an associative processing element to perform at least one of grouping/aggregating, sieving, sorting, and an associative join. - View Dependent Claims (2, 3, 4, 5, 6, 25, 26, 27, 28, 29)
-
-
7. A database hardware accelerator module configured to be coupled with a host system running a database management system via an interconnect bus, said module comprising:
-
a set of processing elements configured to receive database machine code instructions and execute them in their respective hardware without software and return results back to the host system upon completion, wherein the processing elements are configured with a dataflow architecture; a self-routing fabric coupling the processing elements, wherein the processing elements communicate with each other based on Inter Macro-Op Communication (IMC) data structures in a pipelined parallel fashion; and a memory capable of storing gigabyte portions of the database in compressed, column-store format. - View Dependent Claims (8, 9, 10, 11, 12, 30, 31, 33)
-
-
13. A database hardware accelerator node coupled to a host system, wherein the hardware accelerator executes machine code for database query tasks in hardware processing elements from a database management system running on the host system, said hardware accelerator comprising:
-
a set of processing cores comprising combined logic for a scanning processing element to perform at least one of parallel field extraction and comparison of database columns and an indexing processing element to perform at least one of a database projection operation and a hardware-accelerated index content addressable memory processing element to perform at least one of grouping/aggregating, sieving, sorting, and an associative join; a self routing switching fabric that couples the processing cores together; and a memory capable of storing gigabyte portions of the database. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
32. A hardware accelerator for assisting in processing queries from a host system to a database, wherein the hardware accelerator is configured to execute database machine code instructions for at least a portion of the queries, said hardware accelerator comprising:
-
an input for receiving database machine code instructions for tasks of a query offloaded to the hardware accelerator; a set of processing elements configured to execute the database machine code instructions on data from the database for the tasks; and an output for providing a result for the tasks based on the execution of the database machine code instructions. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
Specification