IP Library Granted Patent US 8,468,151
Granted Patent B2
US 8,468,151 · App. 13/172,790 · Granted Jun 18, 2013

Methods and systems for hardware acceleration of database operations and queries based on multiple hardware accelerators

Inventors: Jeremy L. Branscome (Santa Clara, CA); Joseph Irawan Chamdani (Santa Clara, CA); Rajasekhar Cherabuddi (Saratoga, CA)
Assignee: Teradata US, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,468,151
App. No.
13/172,790
Granted
Jun 18, 2013
Kind
B2
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.

Claims (20)

1. A system comprising:

a base server module configured to receive a query having one or more tasks; and

a plurality of query processing modules having dataflow architecture hardware, wherein each query processing module comprises at least one processing element and wherein the plurality of query processing modules are coupled together and configured to share one or more dataflows;

wherein said base server module includes computer software which is executed to:

decompose said query into a set of query fragments,

identify a first subset of said query fragments for processing by said computer software within the base server module, and

identify a second subset of said query fragments for processing within the dataflow architecture hardware within said plurality of query processing modules, compile the second set of said query fragments into a program of database machine code operations specifying a dataflow, and provide said second subset of query fragments to said plurality of query processing modules for processing.

2. The system of claim 1 , wherein the plurality of query processing modules are configured to share at least a partition of base table columns for a shared dataflow.

3. The system of claim 2 , wherein the plurality of query processing modules share a static partition of base table claims for the shared dataflow.

4. The system of claim 2 , wherein the plurality of query processing modules share a dynamic partition of base table claims for the shared dataflow.

5. The system of claim 1 , wherein the plurality of query processing modules are configured to share indexes for a database.

6. The system of claim 1 , wherein the query processing modules are configured to pipeline database machine code instruction tasks, software instruction tasks, and machine code and software instruction mixed tasks in at least one of the shared dataflows.

7. The system of claim 1 , wherein the base server module is configured to schedule tasks across a plurality of query processing modules for at least one of the shared dataflows.

8. A system comprising:

a base server module; and

a plurality of query processing modules having dataflow architecture hardware, wherein each query processing module comprises at least one processing element and wherein the plurality of query processing modules are coupled together and configured to share their respective memories with each other via common address space;

wherein said base server module includes computer software which is executed to:

decompose a query received by said base server module into a set of query fragments,

identify a first subset of said query fragments for processing by said computer software within the base server module, and

identify a second subset of said query fragments for processing within the dataflow architecture hardware within said plurality of query processing modules, compile the second set of said query fragments into a program of database machine code operations specifying a dataflow, and provide said second subset of query fragments to said plurality of query processing modules for processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2011
From: BRANSCOME, JEREMY L.; CHAMDANI, JOSEPH IRAWAN; CHERABUDDI, RAJASEKHAR
To: TERADATA US, INC.
Reel/Frame 027130/0155 →
Continuity (2)
Provisional Application 61359407 · Jun 29, 2010
Related Publication 20120054236A1 · Mar 1, 2012