IP Library Granted Patent US 7,783,627
Granted Patent B2
US 7,783,627 · App. 11/830,387 · Granted Aug 24, 2010

Database retrieval with a unique key search on a parallel computer system

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 7,783,627
App. No.
11/830,387
Granted
Aug 24, 2010
Kind
B2
Abstract

An apparatus and method retrieves a database record from an in-memory database of a parallel computer system using a unique key. The parallel computer system performs a simultaneous search on each node of the computer system using the unique key and then utilizes a global combining network to combine the results from the searches of each node to efficiently and quickly search the entire database.

Claims (31)

1. A computer apparatus for searching an in-memory database comprising:

a plurality of compute nodes each with a global combining network adapter coupled for data communications to a global combining network that connects the plurality of compute nodes in a tree structure with a parent node and a child node, each of the plurality of compute nodes having a processor and computer memory operatively coupled to the processor, the computer memory having disposed within it a portion of the in-memory database;

wherein the global combining network adapter comprises a dedicated arithmetic logic unit (ALU) that operates on data from a contribution buffer and places a result in a results buffer to perform a network all reduce operation;

a search mechanism in the computer memory that receives a unique search key and searches the portion of the in-memory database using the search key;

if a match for the key is found, the search mechanism stores a corresponding data record in the contribution buffer and if a match is not found the search mechanism stores zeros in the contribution buffer; and

the search mechanism contributes to a network all reduce operation on the global combining network using the ALU to combine data received from the child node with the contents of the contribution buffer to form a result and passing the result to the parent node and the parent node performs a search in the same manner described above so that the network all reduce operation provides a result of searching the in-memory database on the plurality of compute nodes for the unique search key.

2. The computer apparatus of claim 1 further comprising a service node connected to the plurality of compute nodes that initiates a search of the in-memory database located within the compute nodes.

3. The computer apparatus of claim 1 further comprising a contribution register and a results register connected to the ALU that each hold a portion of the contribution buffer and results buffer respectively.

4. The computer apparatus of claim 1 wherein the all reduce operation performs a bitwise OR operation on the contents of the contribution register and data received from a child node.

5. The computer apparatus of claim 1 wherein the compute nodes are located in a massively parallel computer system.

6. A computer implemented method for searching an in-memory database on a parallel computer system comprising the steps of:

broadcasting a unique search key to a plurality of nodes; where each of the plurality of nodes includes a global combining network adapter coupled for data communications to a global combining network that connects the plurality of compute nodes in a tree structure with a parent node and a child node, each of the plurality of compute nodes having a processor and computer memory operatively coupled to the processor, the computer memory having disposed within it a portion of the in-memory database;

wherein the global combining network adapter comprises a dedicated arithmetic logic unit (ALU) that operates on data from a contribution buffer and places a result in a results buffer to perform a network all reduce operation;

initiating a search on each of the plurality of nodes using the search key;

on the node with a data record that matches the key, storing the data record in the contribution buffer;

on all the remaining nodes, storing zeros in the contribution buffer; and

performing a network all reduce operation on the combining network on the plurality of nodes that combines data received from the child node with the contents of the contribution buffer to form a result and passes the result to the parent node and the parent node performs a search in the same manner described above so that the network all reduce operation provides a result of searching the in-memory database on the plurality of compute nodes for the unique search key.

7. The computer implemented method of claim 6 wherein the method is initiated from a service node connected to the plurality of compute nodes.

8. The computer implemented method of claim 6 wherein a contribution register and a results register connected to the ALU hold a portion of the contribution buffer and results buffer respectively.

9. The computer implemented method of claim 6 wherein the all reduce operation performs a bitwise OR operation on the contents of the contribution register and data received from a child node.

10. An article of manufacture for searching an in-memory database on a parallel computer, the article of manufacture comprising computer program instructions stored upon a computer recordable media, when executed by a computer processor performs the steps of:

broadcasting a unique search key to a plurality of nodes; where each of the plurality of nodes includes a global combining network adapter coupled for data communications to a global combining network that connects the plurality of compute nodes in a tree structure with a parent node and a child node, each of the plurality of compute nodes having a processor and computer memory operatively coupled to the processor, the computer memory having disposed within it a portion of the in-memory database;

wherein the global combining network adapter comprises a dedicated arithmetic logic unit (ALU) that operates on data from a contribution buffer and places a result in a results buffer to perform a network all reduce operation;

initiating a search on each of the plurality of nodes using the search key;

on the node with a data record that matches the key, storing the data record in the contribution buffer;

on all the remaining nodes, storing zeros in the contribution buffer; and

performing a network all reduce operation on the combining network on the plurality of nodes that combines data received from the child node with the contents of the contribution buffer to form a result and passes the result to the parent node and the parent node performs a search in the same manner described above so that the network all reduce operation provides a result of searching the in-memory database on the plurality of compute nodes for the unique search key.

11. The article of manufacture of claim 10 wherein the method is initiated from a service node connected to the plurality of compute nodes.

12. The article of manufacture of claim 10 wherein a contribution register and a results register connected to the ALU hold a portion of the contribution buffer and results buffer respectively.

13. The article of manufacture claim 10 wherein the all reduce operation performs a bitwise OR operation on the contents of the contribution register and data received from a child node.

14. The article of manufacture of claim 10 wherein the compute nodes are located in a massively parallel computer system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LINKEDIN CORPORATION
Reel/Frame 035201/0479 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2007
From: ARCHER, CHARLES J.; PETERS, AMANDA; RICARD, GARY; SIDELNIK, ALBERT; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 019621/0383 →